Layihə haqqında
Robot irəli hərəkət edir, qarşısında 20 sm-dən yaxın maneə görəndə dayanır, servo ilə sağa-sola baxır və daha açıq tərəfə dönür.
Addımlar
- Robot dəstinin şassisini və mühərriklərini yığın.
- L298N sürücünü Arduino-ya qoşun (IN1–IN4 → D5–D8).
- HC-SR04 sensorunu SG90 servonun üzərinə bərkidin.
- Kodu yükləyib batareyanı qoşun.
layihe.ino
#include <Servo.h>
Servo baxis;
const int TRIG = 9, ECHO = 10;
long olc() {
digitalWrite(TRIG, LOW); delayMicroseconds(2);
digitalWrite(TRIG, HIGH); delayMicroseconds(10);
digitalWrite(TRIG, LOW);
return pulseIn(ECHO, HIGH) * 0.034 / 2;
}
void irel() { digitalWrite(5,HIGH); digitalWrite(6,LOW); digitalWrite(7,HIGH); digitalWrite(8,LOW); }
void dayan() { for (int p = 5; p <= 8; p++) digitalWrite(p, LOW); }
void sag() { digitalWrite(5,HIGH); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,HIGH); }
void sol() { digitalWrite(5,LOW); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,LOW); }
void setup() {
for (int p = 5; p <= 8; p++) pinMode(p, OUTPUT);
pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT);
baxis.attach(3); baxis.write(90);
}
void loop() {
if (olc() > 20) { irel(); return; }
dayan();
baxis.write(20); delay(400); long s = olc();
baxis.write(160); delay(400); long l = olc();
baxis.write(90);
if (s > l) sag(); else sol();
delay(400);
}