И така за това имаме нужда:
-Arduino Uno
-2 предавка
Ултразвуков далекомер HS-SR04
-businka
-orgsteklo
-дап-джъмперни проводници
L298D драйвер на двигателя
-коронарна батерия
6-12 V батерия
-kolosa
И така, за начало трябва да спойкате проводниците към ултразвуковия сензор:
След това трябва да спойкате проводниците (с предварително изрязан изход "майка") към скоростните кутии. Вместо колела взех капаци от 5-литрови бутилки и залепих кожа върху тях за по-добро сцепление.
Сега трябва да изрежете рамката от плексиглас или шперплат, персонализирайки я да отговаря на вашите изисквания, аз лично направих това:
След това трябва да се придържате към нашата рамка: батерия (използвам 4 батерии 1,5 V запоени последователно), драйвер на двигателя, коронка, редуктори, ултразвуков сензор, както е показано на снимката:
Преди да залепите arduino uno, трябва да качите следната скица към нея:
#define Trig 8
#define echo 9
const int in1 = 2; // IN4 щифт 2
const int in2 = 4; // IN3 щифт 4
const int in3 = 5; // IN2 щифт 5
const int in4 = 7; // IN1 щифт 7
int ENB1 = 3;
int ENA2 = 6;
настройка за невалидност ()
{
pinMode (Trig, OUTPUT); // изход
pinMode (Echo, INPUT); // въвеждане
pinMode (in1, OUTPUT); // изход към L298n
pinMode (in2, OUTPUT); // изход към L298n
pinMode (in3, OUTPUT); // изход към L298n
pinMode (in4, OUTPUT); // изход към L298n
pinMode (ENB1, OUTPUT);
pinMode (ENA2, OUTPUT);
}
неподписан int impulseTime = 0;
неподписан int distance_sm = 0;
void loop ()
{
digitalWrite (Trig, HIGH);
забавянеМикросекунди (10); // 10 микросекунди
digitalWrite (Trig, LOW);
impulseTime = pulseIn (Echo, HIGH); // измерва дължината на пулса
distance_sm = impulseTime / 58; // конвертира в сантиметри
ако (разстояние_sm> 20) // ако разстоянието е повече от 20 сантиметра
{
digitalWrite (in1, HIGH);
забавяне (300);
digitalWrite (in1, LOW);
digitalWrite (in2, LOW);
digitalWrite (in3, HIGH);
забавяне (300);
digitalWrite (in3, LOW);
digitalWrite (in4, LOW);
analogWrite (ENB1 250);
analogWrite (ENA2,250);
}
още
{
digitalWrite (in1, LOW);
digitalWrite (in2, LOW);
digitalWrite (in3, LOW);
digitalWrite (in4, LOW);
забавяне (500);
digitalWrite (in1, LOW);
digitalWrite (in2, HIGH);
digitalWrite (in3, LOW);
digitalWrite (in4, HIGH);
analogWrite (ENB1 250);
analogWrite (ENA2,250);
забавяне (200);
digitalWrite (in1, LOW);
digitalWrite (in2, HIGH);
digitalWrite (in3, HIGH);
digitalWrite (in4, LOW);
analogWrite (ENB1 250);
analogWrite (ENA2,250);
забавяне (100);
}
забавяне (50);
}
След като заредите скицата, можете да залепите ардуино и корона:
Сега трябва да свържете всички компоненти според следната схема:
На първо място, ние свързваме ултразвуковия сензор:
двигатели:
Захранване:
Свързваме драйвера на двигателя към arduino:
В края на нашия робот залепете топче:
Е, това е всичко наше роботът вече готов, остава само правилно да свържем останалото захранване и така захранваме arduino с „короната“, като свързваме + към UIN и към GND, ако връзката към arduino е правилна, червеният светодиод трябва да светне:
Сега ние се свързваме - нашият "акумулатор" към GND, червеният светодиод също трябва да светне на драйвера:
ако двигателите започнаха да се въртят обратно на часовниковата стрелка, тогава всичко е свързано правилно и когато предлагат пречка, те ще започнат да се въртят по различен начин:
Остава само да го тестваме в "полето"
Тествайте и изграждайте видео:
Благодаря на всички за вниманието!