const int IN1 = 2; const int IN2 = 3; const int IN3 = 4; const int IN4 = 5; const int enA = 10; const int enB = 9; int hiz = 255; const int trig = 12; const int echo = 11; long sure; int uzaklik; void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(trig, OUTPUT); pinMode(echo, INPUT); Serial.begin(9600); } void loop() { digitalWrite(trig, 0); delayMicroseconds(10); digitalWrite(trig, 1); delayMicroseconds(10); sure = pulseIn(echo, 1); uzaklik = (0.0343 * sure) / 2; if (uzaklik < 30) { digitalWrite(IN1, 0); digitalWrite(IN2, 1); analogWrite(enA, hiz); analogWrite(enB, hiz); } else { digitalWrite(IN1, 1); digitalWrite(IN2, 0); digitalWrite(IN3, 1); digitalWrite(IN4, 0); analogWrite(enA, hiz); analogWrite(enB, hiz); } }
Aşağıdaki kodda ENA ve ENB jumperları takılı kalır.
const byte IN1 = 5, IN2 = 6, IN3 = 9, IN4 = 10; // Motor sürücü yön pinleri (PWM pinleri.) const byte echo = 11, trig = 12; // Ultrasonik sensör pinleri byte hiz = 150; // PWM. unsigned long sure; int uzaklik; void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); } void loop() { digitalWrite(trig, 0); // Darbe sinyali gönder. delayMicroseconds(10); digitalWrite(trig, 1); delayMicroseconds(10); sure = pulseInLong(echo, 1); // Gelen sinyalin HIGH'da kalma süresini oku. uzaklik = (0.0343 * sure) / 2; // Mesafeyi hesapla. if (uzaklik < 30) { // Uzaklık 30 cm'den yakınsa sola dön. analogWrite(IN1, 0); analogWrite(IN2, hiz); analogWrite(IN3, hiz); analogWrite(IN4, 0); } else { // Uzaklık 30 cm'den yakın değilse düz git. analogWrite(IN1, hiz); analogWrite(IN2, 0); analogWrite(IN3, hiz); analogWrite(IN4, 0); } }
4 Responses
motorlar nasıl bağlanılıyor anlatsaydınız çok iyiydi ama emeğinize sağlık
motorlar L298N motor sürücünün çıkışlarına bağlanıyor.
Bu kod bu kadarmı
cook guzel