Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Samm: materjalid
1- Robot Mio
2- L298N pingeregulaator Kahemootoriline juhtplaat
3- Arduino Nano
4- HC06 Bluetooth-jadamooduli plaat
5- (2x) 9 V akupea
2. samm: osade kokkupanek
Alustame kõigepealt mootori draiveri ühendustest Jootame hüppajakaablid mootorijuhi in1, in2, in3, in4 tihvtide alla. (nagu pilt 1) Seejärel ühendame kaabli sisendis 1 nano d6 -tihvti, in2 kuni d10 tihvti, in3 kuni d5 tihvti ja lõpuks kaabli in4 kuni d9 kontaktiga. (nagu pildil 2) Nüüd teeme oma HC06 mooduli ühendused, ühendame RXD -tihvti nano TXD -tihvtiga, TXD -tihvti RXD -tihvtiga, VCC- ja GND -tihvte mis tahes nano 5- ja GND -tihvtidega. (nagu pilt 3) Ja lõpuks teeme mootoriühendused. Kui Mio on meie poole, ühendame paremad mootorikaablid mootori juhi väljundi 3, 4 kontaktiga ja vasakpoolsed mootorikaablid väljundiga 1, 2 tihvtiga. Ühendame 9 -voldise aku korgi punase kaabli VIN -pistikuga nano ja must kaabel GND tihvti külge. (nagu pilt 4) Ja lõikame keskele hüppaja, eemaldame selle otsa ja ühendame selle nano GND tihvtiga, mootori juhi GND tihvtiga. (nagu joonis 5, 6) Ühendame teise 9v akupea punase kaabli 12v kontaktiga ja musta kaabli mootori juhtseadme nööpnõelte gnd tihvtiga. (nagu pildil 7)
3. samm: Nano kodeerimine
const int mootorA1 = 5; // L298N'in IN3 Girişi
const int mootorA2 = 6; // L298N'in IN1 Girişi const int mootorB1 = 10; // L298N'in IN2 Girişi const int mootorB2 = 9; // L298N'in IN4 Girişi
int i = 0; // Döngüler için atanan rastgele bir değişken int j = 0; // Döngüler için atanan rastgele bir değişken int state; // Bluetooth cihazından gelecek sinyalin değişkeni int vSpeed = 255; // Standart Hız, 0-255 arası bir değer alabilir
void setup () {// Pinlerimizi belirleyelim pinMode (motorA1, OUTPUT); pinMode (mootorA2, VÄLJUND); pinMode (mootorB1, VÄLJUND); pinMode (mootorB2, VÄLJUND); // 9600 baud hızında bir seri port açalım Serial.begin (9600); } void loop () {// Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur. // (Aktif etmek için alt satırın "//" larını kaldırın.) // if (digitalRead (BTState) == LOW) {state = 'S'; }
// Gelen veriyi 'state' değişkenine kaydet if (Serial.available ()> 0) {state = Serial.read (); } // Uygulamadan ayarlanabilen 4 hız seviyesi. (Değerler 0-255 arasında olmalı) if (state == '0') {vSpeed = 0;} else if (state == '1') {vSpeed = 100;} else if (olek == '2') {vSpeed = 180;} else if (state == '3') {vSpeed = 200;} else if (state == '4') {vSpeed = 255;} /*** ******************** İleri ***************************/ // Gelen veri 'F' ise araba ileri gider. if (olek == 'F') {analogWrite (motorA1, vSpeed); analogWrite (mootorA2, 0); analogWrite (mootorB1, vSpeed); analogWrite (mootorB2, 0); } /********************** İleri Sol ************************ /// Gelen veri 'G' ise araba ileri sol (çapraz) gider. else if (olek == 'G') {analogWrite (motorA1, vSpeed); analogWrite (mootorA2, 0); analogWrite (mootorB1, 100); analogWrite (mootorB2, 0); } /********************** İleri Sağ ************************ /// Gelen veri 'I' ise araba ileri sağ (çapraz) gider. else if (olek == 'I') {analogWrite (motorA1, 100); analogWrite (mootorA2, 0); analogWrite (mootorB1, vSpeed); analogWrite (mootorB2, 0); } /*********************** Geri *********************** ****/// Gelen veri 'B' ise araba geri gider. else if (olek == 'B') {analogWrite (motorA1, 0); analogWrite (mootorA2, vSpeed); analogWrite (mootorB1, 0); analogWrite (mootorB2, vSpeed); } /********************** Geri Sol ************************ /// Gelen veri 'H' ise araba geri sol (çapraz) gider else if (state == 'H') {} /******************** *Geri Sağ ************************/// Gelen veri 'J' ise araba geri sağ (çapraz) gider else if (state == ' J ') {analogWrite (mootorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (mootorB1, 0); analogWrite (mootorB2, 100); } /*************************** Sol ******************** *********/// Gelen veri 'L' ise araba sola gider. else if (olek == 'L') {analogWrite (motorA1, vSpeed); analogWrite (mootorA2, 150); analogWrite (mootorB1, 0); analogWrite (mootorB2, 0); } /***************************Vajuma******************** *********/// Gelen veri 'R' ise araba sağa gider else if (olek == 'R') {analogWrite (motorA1, 0); analogWrite (mootorA2, 0); analogWrite (mootorB1, vSpeed); analogWrite (mootorB2, 150); } /************************ Lõpeta *********************** ******/// Gelen veri 'S' ise arabayı durdur. else if (olek == 'S') {analogWrite (motorA1, 0); analogWrite (mootorA2, 0); analogWrite (mootorB1, 0); analogWrite (mootorB2, 0); }} analogWrite (mootorA1, 0); analogWrite (mootorA2, 100); analogWrite (mootorB1, 0); analogWrite (mootorB2, vSpeed);
Samm: osade installimine Mio -le
Nüüd oleme robotmio ühendamise viimases etapis