Мазмуну:

Bluetooth роботу Mio: 4 кадам
Bluetooth роботу Mio: 4 кадам

Video: Bluetooth роботу Mio: 4 кадам

Video: Bluetooth роботу Mio: 4 кадам
Video: Xiaomi Gateway 4 - Mihome автоматизации 2.0 2024, Ноябрь
Anonim
Bluetooth роботу Mio
Bluetooth роботу Mio

1 -кадам: материалдар

Материалдар
Материалдар
Материалдар
Материалдар
Материалдар
Материалдар

1- Рио Мио

2- L298N Voltage Regulator Dual Motor Driver Board

3- Ардуино Нано

4- HC06 Bluetooth-сериялык модулу

5- (2х) 9 В Батарея башчысы

2 -кадам: Бөлүктөрдү чогултуу

Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу
Бөлүктөрдү чогултуу

Келгиле, адегенде мотор айдоочусунун байланыштарынан баштайлы. Келгиле, мотор айдоочусунун in1, in2, in3, in4 казыктарынын астындагы секирүүчү кабелдерди ширетели. (pic1 катары) Анда келгиле in1 in in nano d6 pin, in2 to d10 pin, in3 to d5 pin, жана акыры in4 in d9 pin. (2 -сүрөттөгүдөй) Эми, келгиле, биздин HC06 модулубуздун байланыштарын түзөлү, RXD пинди нанонун TXD пинине, TXD пинди RXD пинге, VCC менен GND казандарын нанонун 5v жана GND казыктарына өткөрөлү. (pic3 катары) Жана, акырында, мотор байланыштарын түзөлү. Mio бизге туш болгондо, келгиле, туура мотор кабелдерин мотор айдоочусунун 3, 4 казыктарына жана сол мотор кабелдерин 1, 2 казыктарга туташтыралы. нано жана кара кабель GND пинге. (pic4 катары) Жана ортодо секирүүчү зымды кесип, учун сыйрып, нанонун GND пинине, мотор айдоочусунун GND пинине туташтыралы. (pic5, 6) Келгиле, дагы бир 9v батарея башынын кызыл кабелин 12в пинге жана кара кабелди мотор айдоочусунун электр казыктарындагы gnd пинине туташтыралы. (7 -сүрөттөгүдөй)

3 -кадам: Nano коддоо

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 аппаратынан кирүү үчүн vSpeed = 255; // Standart Hız, 0-255 arası bir değer alabilir

void setup () {// PinMe 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 туташуусу коптогонунда же кесилишинде арабайып турат. // (Aktif etmek için alt satı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 арасында болушу керек) if (state == '0') {vSpeed = 0;} else if (state == '1') {vSpeed = 100;} else if (абал == '2') {vSpeed = 180;} башка if (state == '3') {vSpeed = 200;} if if (state == '4') {vSpeed = 255;} /*** ******************** İleri ****************************/ // Gelen veri 'F' ise araba ileri gider. if (state == 'F') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /********************** İleri Sol ************************ /// Gelen veri 'G' ise araba ileri sol (çapraz) gider. else if (state == 'G') {analogWrite (motorA1, vSpeed); analogWrite (motorA2, 0); analogWrite (motorB1, 100); analogWrite (motorB2, 0); } /********************** İleri Sağ ************************ /// Gelen veri 'I' ise araba ileri sağ (çapraz) gider. else if (state == 'I') {analogWrite (motorA1, 100); analogWrite (motorA2, 0); analogWrite (motorB1, vSpeed); analogWrite (motorB2, 0); } /*********************** Гери ************************ ****/// Gelen veri 'B' ise araba geri gider. else if (state == 'B') {analogWrite (motorA1, 0); analogWrite (motorA2, vSpeed); analogWrite (motorB1, 0); analogWrite (motorB2, vSpeed); } /************************ Geri Sol ************************ /// Gelen veri 'H' ise araba geri sol (çapraz) gider if if (state == 'H') {} /********************* *Geri Sağ ************************/// 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); } /*************************** Sol ******************** *********/// Gelen veri 'L' ise araba sola gider. else if (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. else if (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го бөлүктөрдү орнотуу

Азыр биз робот -миону бириктирүүнүн акыркы этабында турабыз

Сунушталууда: