תוכן עניינים:

רובוט Bluetooth Mio: 4 שלבים
רובוט Bluetooth Mio: 4 שלבים

וִידֵאוֹ: רובוט Bluetooth Mio: 4 שלבים

וִידֵאוֹ: רובוט Bluetooth Mio: 4 שלבים
וִידֵאוֹ: Xiaomi Gateway 4 - Mihome Automation 2.0 2024, יולי
Anonim
רובוט Bluetooth Mio
רובוט Bluetooth Mio

שלב 1: חומרים

חומרים
חומרים
חומרים
חומרים
חומרים
חומרים

1- רובו מיו

2- L298N ווסת מתח כפול נהג מנוע

3- ארדואינו ננו

4- לוח מודול סידורי Bluetooth HC06

5- (2x) 9 V ראש סוללה

שלב 2: הרכבת חלקים

הרכבת חלקים
הרכבת חלקים
הרכבת חלקים
הרכבת חלקים
הרכבת חלקים
הרכבת חלקים
הרכבת חלקים
הרכבת חלקים

נתחיל בחיבורי נהג המנוע תחילה בואו נלחם את כבלי המגשר מתחת לסיכות in1, in2, in3, in4 של נהג המנוע. (כמו pic1) אז בואו לחבר את הכבל פנימה 1 לפין d6 של ננו, pin2 ל- d10 pin, in3 ל- d5 pin, ולבסוף הכבל in4 to pin d9. (כמו בתמונה 2) כעת, בואו נעשה את החיבורים של מודול HC06 שלנו, בואו לחבר סיכת RXD לסיכה TXD של ננו, סיכת TXD לסיכה RXD, סיכות VCC ו- GND לכל סיכות 5V ו- GND של ננו. (כמו pic3) ולבסוף, בואו נעשה את החיבורים המוטוריים. כאשר מיו פונה אלינו, בואו נחבר את כבלי המנוע הנכונים אל 3, 4 הפינים של נהג המנוע וכבלי המנוע השמאלי אל החוץ1, 2 פינים. בואו נחבר את הכבל האדום של מכסה הסוללה 9v לסיכת VIN של הננו והכבל השחור לסיכת ה- GND. (כמו pic4) ובואו נחתוך חוט מגשר באמצע, נפשיט את הקצה ונחבר אותו לפין ה- GND של הננו, לסיכת ה- GND של נהג המנוע. (כמו pic5, 6) בואו נחבר את הכבל האדום של ראש סוללה נוסף של 9v לסיכה של 12V ואת הכבל השחור לסיכה gnd בסיכות החשמל של נהג המנוע. (כמו בתמונה 7)

שלב 3: קידוד ננו

const int motorA1 = 5; // L298N'in IN3 Girişi

const int motorA2 = 6; // L298N'in IN1 Girişi const int motorB1 = 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 יכול להעביר סינאלין değişkeni int vSpeed = 255; // Standart Hiz, 0-255 arası bir değer alabilir

הגדרת void () {// 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); } לולאת חלל () {// 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 פעמים seviyesi. (Değerler 0-255 arasında olmalı) if (state == '0') {vSpeed = 0;} אחרת אם (state == '1') {vSpeed = 100;} אחר אם (state == '2') {vSpeed = 180;} אחרת אם (state == '3') {vSpeed = 200;} אחר אם (state == '4') {vSpeed = 255;} /*** ******************* אילירי ************************** // Gelen veri 'F' ise araba ileri gider. if (state == 'F') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /********************* אילרי סול ************************ /// Gelen veri 'G' ise araba ileri sol (çapraz) gider. אחרת אם (state == 'G') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, 100); analogWrite (motorB2, 0); } /********************* ילרי סאג *********************** /// Gelen veri 'I' ise araba ileri sağ (çapraz) gider. אחרת אם (state == 'I') {analogWrite (motorA1, 100); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /*********************** גרי ************************ ****/// Gelen veri 'B' ise araba geri gider. אחרת אם (state == 'B') {analogWrite (motorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (motorB1, 0); analogWrite (motorB2, vSpeed); } /********************** גרי גרי ************************ /// Gelen veri 'H' ise araba geri sol (çapraz) gider else if (state == 'H') {} /********************* *גרי סאג ***********************/// Gelen veri 'J' ise araba geri sağ (çapraz) gider else if (state == ' J ') {analogWrite (motorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (motorB1, 0); analogWrite (motorB2, 100); } /*************************** ******************** *********/// Gelen veri 'L' ise araba sola gider. אחרת אם (state == 'L') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 150); analogWrite (motorB1, 0); analogWrite (motorB2, 0); } /************************************************** *********/// Gelen veri 'R' ise araba sağa gider else if (state == 'R') {analogWrite (motorA1, 0); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 150); } /************************תפסיק*********************** ******/// Gelen veri 'S' ise arabayı durdur. אחרת אם (state == '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);

שלב 4: התקנת חלקים ב- Mio

התקנת חלקים ב- Mio
התקנת חלקים ב- Mio
התקנת חלקים ב- Mio
התקנת חלקים ב- Mio
התקנת חלקים ב- Mio
התקנת חלקים ב- Mio

כעת אנו נמצאים בשלב האחרון למיזוג רובו מיליון

מוּמלָץ: