- Componente necesare:
- Crearea interfeței pentru robot folosind aplicația RemoteXY:
- Schema și explicația circuitului:
- Explicatie cod:
- Cum se execută:
În acest articol, vom controla mașina robot prin senzorul G al telefonului nostru mobil și veți putea muta robotul doar înclinând telefonul. De asemenea, vom folosi aplicația Arduino și RemoteXY pentru acest robot controlat G-Sensor. Aplicația RemoteXY este utilizată pentru a crea interfața în Smart Phone pentru controlul robotului. Vom adăuga joystick-ul în interfață, astfel încât Robotul să poată fi controlat și de Joystick, precum și prin înclinarea telefonului.
Senzorul G sau senzorul gravitațional este practic accelerometru în telefonul inteligent, care este utilizat pentru a controla orientarea ecranului telefonului. Accelerometrul detectează direcțiile X, Y, Z ale forței gravitaționale și rotește ecranul în funcție de alinierea telefonului. Acum, în zilele noastre, senzorul de giroscop mai sensibil și mai precis este utilizat pe dispozitive mobile pentru a decide orientarea ecranului. În proiectul nostru, mașina robot se va deplasa, în funcție de direcția în care este înclinat telefonul, ca atunci când înclinăm telefonul înainte, atunci mașina se va mișca înainte și o vom înclina în jos, apoi mașina se va mișca înapoi. Acest lucru este la fel ca atunci când jucăm unele jocuri de mașini pe mobil, ele folosesc și senzorul G pentru a muta mașina în consecință. Verificați videoclipul la final, verificați și celelalte proiecte de robotică aici.
Componente necesare:
- Șasiu de mașină robot cu două roți
- Arduino UNO
- Controler motor L298N
- Modulul Bluetooth HC-06 (HC-05 va funcționa și el)
- Sursa de alimentare sau celule
- Conectarea firelor
Crearea interfeței pentru robot folosind aplicația RemoteXY:
Pentru crearea interfeței pentru controlul mașinii robot folosind aplicația RemoteXY, va trebui să accesați următorul link
remotexy.com/en/editor/ Pagina web va arăta astfel
Apoi, din partea stângă a ecranului, ridicați butonul de comutare și joystick-ul și plasați-l în interfața mobilă. Butonul va aprinde lumina de la pinul 13 care este conectat intern în Arduino și joystick-ul va deplasa mașina robot. Pagina web după plasarea comutatorului și joystick-ul vor arăta astfel.
Apoi va trebui să amplasăm butonul de activare / dezactivare a senzorului G împreună cu joystick-ul, astfel încât să putem deplasa Robot Car înclinând telefonul în direcția stânga, dreapta, sus și jos. Folosind acel buton putem activa și dezactiva senzorul G, când senzorul G este dezactivat Mașina poate fi controlată prin mutarea joystick-ului. Deci, pentru a plasa butonul de activare / dezactivare a senzorului G, faceți clic pe joystick-ul pe care l-ați plasat în interfață și în partea stângă va fi o secțiune de proprietăți, va exista o opțiune la final pentru plasarea butonului senzorului G lângă joystick așa că așezați butonul senzorului G oriunde doriți. Pagina web după aceasta va arăta astfel.
După aceea, faceți clic pe butonul „Obțineți codul sursă” și salvați-l pe computer. Descărcați biblioteca de aici și salvați-o în dosarul bibliotecii Arduino. Compilați codul descărcat pentru a verifica dacă nu există erori. Acesta nu este codul care va rula robotul, dar va ajuta la utilizarea aplicației cu Arduino. Descărcați aplicația de aici sau accesați Magazin Play și descărcați aplicația RemoteXY de acolo pentru telefonul dvs. inteligent Android.
Schema și explicația circuitului:
În primul rând, vom interfața controlerul motor L298N cu Arduino. Conectați pinul ENA și ENB al controlerului motorului la pinul Arduino 12 și respectiv 11. Acești doi pini sunt pentru controlul PWM al motorului. Folosind acești ace, putem crește sau micșora viteza mașinii. Apoi conectați IN1, IN2, IN3 și IN4 la pinii Arduino 10, 9, 8 și respectiv 7. Acești pini vor roti motoarele în ambele direcții (în sensul acelor de ceasornic și invers).
Pentru a alimenta motorul, conectați pozitivul și negativul bateriei la 12V și la solul controlerului motorului. Apoi conectați 5V și pământul de la controlerul motorului la Arduino Vin și la masă.
Apoi vom conecta modulul Bluetooth HC-06 la arduino. Dacă aveți HC-05, atunci va funcționa și. Conectați VCC și pământul modulului Bluetooth la 5V și pământul Arduino. Apoi conectați pinul TX al modulului Bluetooth la pinul 2 al Arduino și pinul RX la pinul 3 al Arduino. De asemenea, verificați mașina de jucărie controlată prin Bluetooth folosind Arduino pentru a afla mai multe despre utilizarea Bluetooth cu Arduino.
Explicatie cod:
Codul Arduino complet pentru această mașină robot controlată mobil este prezentat mai jos în secțiunea Cod, aici vom înțelege cum funcționează acest cod.
În primul rând, am inclus bibliotecile pentru Software Serial și RemoteXY. Biblioteca RemoteXY ne va ajuta în setarea aplicației cu Arduino, prin care vom controla mașina robot. După aceea, am definit pinii pentru modulul Bluetooth, TX din modulul Bluetooth este conectat la pinul 2 al Arduino care este pinul RX al Arduino și RX-ul din modulul Bluetooth este conectat la pinul 3 al Arduino care este pinul TX al Arduino și setează rata de transmisie a modulului Bluetooth la 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Următorul cod va crește sau reduce viteza motorului. Când joystick-ul va fi în centru, viteza va fi zero și când va fi în direcția înainte, viteza va crește de la zero la 100. Viteza va scădea de la 0 la -100 când mașina se va deplasa în direcție inversă. Mașina poate fi, de asemenea, mutată cu o viteză specifică, acest lucru putând fi realizat prin semnalul PWM Semnalul pwm va fi dat motoarelor în funcție de rotația joystick-ului.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (pointer, HIGH); digitalWrite (pointer, LOW); analogWrite (pointer, motor_speed * 2.55); } else if (motor_speed <0) {digitalWrite (pointer, LOW); digitalWrite (pointer, HIGH); analogWrite (pointer, (-motor_speed) * 2.55); } else {digitalWrite (pointer, LOW); digitalWrite (pointer, LOW); analogWrite (pointer, 0); }
În următorul cod, am definit funcția care va fi apelată ori de câte ori vom muta joystick-ul în aplicație. Când vom porni comutatorul în aplicație, atunci logica 1 va fi dată pinului 13 al Arduino care pornește pinul LED. În timp ce deplasați mașina robot în direcția înainte și înapoi, va fi apelată funcția Speed .
bucla void () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Viteză (primul_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Viteza (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Cum se execută:
Adăugați biblioteca RemoteXY la bibliotecile Arduino și încărcați codul în IDE Arduino. Apoi descărcați aplicația în telefonul mobil și apoi activați Bluetooth. Interfața aplicației va arăta astfel
Apoi accesați Bluetooth și activați Bluetooth acolo. După ce îl porniți, acesta vă va arăta dispozitivele Bluetooth. Selectați modulul HC-06 Bluetooth de acolo, acesta vă va duce la interfață, de unde puteți controla Robot Car.
Acesta este modul în care putem folosi senzorul de gravitate din telefonul nostru mobil pentru a muta robotul. Puteți experimenta în continuare și puteți găsi o utilizare mai interesantă a senzorului G pentru a controla lucrurile exterioare prin interfața unui Microcontorller între (cum ar fi Arduino).