Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Vaihe 1: Materiaalit
1- Robotti Mio
2- L298N jännitesäädin Kaksimoottorinen ohjainkortti
3- Arduino Nano
4- HC06 Bluetooth-sarjamoduulilevy
5- (2x) 9 V paristopää
Vaihe 2: Osien kokoaminen
Aloitetaan ensin moottorin ohjainliitännöistä Juotamme hyppyjohtimet moottorin ohjaimen in1, in2, in3, in4 nastojen alle. (Kuten kuva 1) Johdotetaan sitten kaapeli in1 nanon d6 -nastaan, in2 - d10 -nastainen, in3 - d5 -nastainen ja lopuksi kaapeli in4 - d9 -nastaiseen. (kuten kuvassa 2) Tehdään nyt HC06 -moduulin liitännät, johdotetaan RXD -nasta nano -TXD -nastaan, TXD -nasta RXD -nastaan, VCC- ja GND -nastat mihin tahansa nano 5v- ja GND -nastaan. (kuten kuva 3) Tehdään lopuksi moottoriliitännät. Kun Mio on meitä kohti, kytketään oikeat moottorikaapelit moottorin ohjaimen 3, 4 -nastaisiin ja vasemmat moottorikaapelit ulostuloihin, 1, 2 -nastaisiin. nano ja musta kaapeli GND -nastaan. (Kuten kuva 4) Ja leikataan hyppyjohdin keskelle, kuori pää ja liitä se nanon GND -nastaan, moottorin ohjaimen GND -nastaan. (kuten kuva 5, 6) Kytketään toisen 9 voltin akkupään punainen kaapeli 12 voltin nastaan ja musta kaapeli moottorin ohjaimen nastan gnd -nastaan. (kuten kuvassa 7)
Vaihe 3: Nanon koodaus
const int moottori A1 = 5; // L298N'in IN3 Girişi
const int moottoriA2 = 6; // L298N'in IN1 Girişi const int moottoriB1 = 10; // L298N'in IN2 Girişi const int motorB2 = 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 (moottoriA2, LÄHTÖ); pinMode (moottoriB1, LÄHTÖ); pinMode (moottoriB2, OUTPUT); // 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 (tila == '2') {vSpeed = 180;} else if (state == '3') {vSpeed = 200;} else if (state == '4') {vSpeed = 255;} /*** ******************** İleri **************************** // Gelen veri 'F' ise araba ileri gider. if (tila == 'F') {analogWrite (motorA1, vSpeed); analogWrite (moottoriA2, 0); analogWrite (moottoriB1, vSpeed); analogWrite (moottoriB2, 0); } /********************** İleri Sol ************************ /// Gelen veri 'G' ise araba ileri sol (çapraz) gider. else if (tila == 'G') {analogWrite (motorA1, vSpeed); analogWrite (moottoriA2, 0); analogWrite (moottoriB1, 100); analogWrite (moottoriB2, 0); } /********************** İleri Sağ ************************ /// Gelen veri 'I' ise araba ileri sağ (çapraz) gider. else if (tila == 'I') {analogWrite (motorA1, 100); analogWrite (moottoriA2, 0); analogWrite (moottoriB1, vSpeed); analogWrite (moottoriB2, 0); } /*********************** Geri ************************ ****/// Gelen veri 'B' on araba geri gider. else if (tila == 'B') {analogWrite (motorA1, 0); analogWrite (moottoriA2, vSpeed); analogWrite (moottoriB1, 0); analogWrite (moottoriB2, 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 (moottoriA1, 0); analogWrite (moottoriA2, vSpeed); analogWrite (moottoriB1, 0); analogWrite (moottoriB2, 100); } /*************************** Sol ******************** *********/// Gelen veri 'L' ise araba sola gider. else if (tila == 'L') {analogWrite (motorA1, vSpeed); analogWrite (moottoriA2, 150); analogWrite (moottoriB1, 0); analogWrite (moottoriB2, 0); } /*********************************************** *********/// Gelen veri 'R' on araba sağa gider else if (state == 'R') {analogWrite (motorA1, 0); analogWrite (moottoriA2, 0); analogWrite (moottoriB1, vSpeed); analogWrite (moottoriB2, 150); } /************************Lopettaa*********************** ******/// Gelen veri 'S' on arabayı durdur. else if (tila == 'S') {analogWrite (motorA1, 0); analogWrite (moottoriA2, 0); analogWrite (moottoriB1, 0); analogWrite (moottoriB2, 0); }} analogWrite (moottoriA1, 0); analogWrite (moottoriA2, 100); analogWrite (moottoriB1, 0); analogWrite (moottoriB2, vSpeed);
Vaihe 4: Osien asentaminen Mio -laitteeseen
Nyt olemme viimeisessä vaiheessa yhdistämässä robotti mio