Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Hapi 1: Materialet
1- Roboti Mio
2- Bordi i Drejtuesit të Dy Motorëve të Rregullatorit të Tensionit L298N
3- Arduino Nano
4- Bordi i modulit HC06 Bluetooth-Serial
5- (2x) Koka e baterisë 9 V
Hapi 2: Montimi i pjesëve
Le të fillojmë së pari me lidhjet e drejtuesit të motorit Le të bashkojmë kabllot e kërcyesit nën kunjat in1, in2, in3, in4 të drejtuesit të motorit. (si pic1) Pastaj le të lidhim kabllon në in1 në pinin nano të nanos, in2 në d10 pin, in3 në d5 pin, dhe së fundi kabllon në in4 në d9 pin. (si në figurën 2) Tani, le të bëjmë lidhjet e modulit tonë HC06, le të lidhim kunjin RXD në kunjin TXD të nano, kunjin TXD në kunjin RXD, kunjat VCC dhe GND në çdo kunja 5v dhe GND të nano. (si fotografia 3) Dhe së fundi, le të bëjmë lidhjet motorike. Kur Mio është përballë nesh, le të lidhim kabllot e motorit të djathtë në 3, 4 kunjat e drejtuesit të motorit dhe kabllot e majtë të motorit në daljen 1, 2 kunja. Le të lidhim kabllon e kuq të kapakut të baterisë 9v në kunjin VIN të nano dhe kablloja e zezë në kunjin GND. (si fotografia 4) Dhe le të presim një tel bluzë në mes, ta heqim fundin dhe ta lidhim me kunjin GND të nano -s, me kunjin GND të drejtuesit të motorit. (si pic5, 6) Le të lidhim kabllon e kuq të një koka tjetër të baterisë 9v në kunjin 12v dhe kabllon e zi në kunjin gnd në kunjat e fuqisë së drejtuesit të motorit. (si në figurën 7)
Hapi 3: Kodimi i Nanos
const int motorA1 = 5; // L298N'në IN3 Girishi
const int motorA2 = 6; // L298N'in IN1 Girishi const int motorB1 = 10; // L298N'in IN2 Girişi const int motorB2 = 9; // L298N'in IN4 Girishi
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 (motorA2, OUTPUT); pinMode (motorB1, OUTPUT); pinMode (motorB2, 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) {gjendja = 'S'; }
// Gelen veriyi 'state' değişkenine kaydet if (Serial.disponueshëm ()> 0) {state = Serial.read (); } // Uygulamadan ayarlanabilen 4 h sez seviyesi. (Değerler 0-255 arasında olmalı) nëse (gjendja == '0') {vSpeed = 0;} tjetër nëse (gjendja == '1') {vSpeed = 100;} tjetër nëse (gjendja == '2') {vSpeed = 180;} tjetër nëse (gjendje == '3') {vSpeed = 200;} tjetër nëse (gjendje == '4') {vSpeed = 255;} /*** ******************** İleri **************************/ // Gelen veri 'F' ise araba ileri gider. if (gjendja == 'F') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /********************* İleri Sol *********************** /// Gelen veri 'G' ise araba ileri sol (çapraz) gider. tjetër nëse (gjendja == 'G') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, 100); analogWrite (motorB2, 0); } /********************* İleri Sağ *********************** /// Gelen veri 'I' ise araba ileri sağ (çapraz) gider. tjetër nëse (gjendja == 'I') {analogWrite (motorA1, 100); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /********************** Geri ********************** ****/// Gelen veri 'B' ise araba geri gider. tjetër nëse (gjendja == 'B') {analogWrite (motorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (motorB1, 0); analogWrite (motorB2, 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 other if (state == ' J ') {analogWrite (motorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (motorB1, 0); analogWrite (motorB2, 100); } /************************** Sol ******************* *********/// Gelen veri 'L' ise araba sola gider. tjetër nëse (gjendja == 'L') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 150); analogWrite (motorB1, 0); analogWrite (motorB2, 0); } /************************** Sağ ******************* *********/// Gelen veri 'R' ise araba sağa gider else if (gjendja == 'R') {analogWrite (motorA1, 0); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 150); } /*********************** Stop ********************** ******/// Gelen veri 'S' ise arabayı durdur. tjetër nëse (gjendja == 'S') {analogWrite (motorA1, 0); analogWrite (motorA2, 0); analogWrite (motorB1, 0); analogWrite (motorB2, 0); }} analogWrite (motorA1, 0); analogWrite (motorA2, 100); analogWrite (motorB1, 0); analogWrite (motorB2, vSpeed);
Hapi 4: Instalimi i pjesëve në Mio
Tani jemi në fazën përfundimtare për të bashkuar robotin mio