- Nepieciešamās sastāvdaļas:
- Saskarnes izveide robotam, izmantojot lietotni RemoteXY:
- Shēmas shēma un skaidrojums:
- Koda skaidrojums:
- Kā to palaist:
Šajā rakstā mēs vadīsim robotu, izmantojot mūsu mobilā tālruņa G sensoru, un jūs varēsiet pārvietot robotu, tikai noliekot tālruni. Šim G-Sensor kontrolētajam robotam mēs izmantosim arī lietotni Arduino un RemoteXY. Lietotni RemoteXY izmanto, lai viedtālrunī izveidotu saskarni robota vadībai. Interfeisā pievienosim kursorsviru, lai robotu varētu vadīt arī ar kursorsviru, kā arī noliecot tālruni.
G-sensors vai gravitācijas sensors būtībā ir viedtālruņa akselerometrs, ko izmanto tālruņa ekrāna orientācijas kontrolei. Akselerometrs uztver gravitācijas spēka X, Y, Z virzienus un pagriež ekrānu atbilstoši tālruņa izlīdzināšanai. Mūsdienās mobilajos tālruņos tiek izmantots jutīgāks un precīzāks žiroskopa sensors, lai noteiktu ekrāna orientāciju. Mūsu projektā robotu automašīna pārvietosies atbilstoši virzienam, kādā tālrunis tiek noliekts, piemēram, kad mēs noliecam tālruni uz priekšu, tad automašīna virzīsies uz priekšu un mēs to noliecam uz leju, tad automašīna virzīsies atpakaļ. Tas ir tāpat kā tad, kad mēs spēlējam dažas automašīnu spēles mobilajā ierīcē, viņi izmanto arī G sensoru, lai attiecīgi pārvietotu automašīnu. Pārbaudiet videoklipu beigās, pārbaudiet arī citus mūsu robotikas projektus.
Nepieciešamās sastāvdaļas:
- Divu riteņu robotu automašīnas šasija
- Arduino UNO
- L298N motora kontrolieris
- HC-06 Bluetooth modulis (darbosies arī HC-05)
- Barošanas avots vai šūnas
- Savienojošie vadi
Saskarnes izveide robotam, izmantojot lietotni RemoteXY:
Lai izveidotu saskarni, lai vadītu robotu automašīnu, izmantojot RemoteXY lietotni, jums būs jādodas uz šo saiti
remotexy.com/en/editor/ Tīmekļa lapa izskatīsies šādi
Pēc tam ekrāna kreisajā pusē paņemiet slēdža pogu un kursorsviru un ievietojiet to mobilajā saskarnē. Poga ieslēgs gaismu 13. tapā, kas ir iekšēji savienota Arduino, un kursorsvira pārvietos robotu automašīnu. Tīmekļa lapa pēc slēdža un kursorsviras ievietošanas izskatīsies šādi.
Tad mums būs jānovieto iespējošanas poga G sensora iespējošana / atspējošana kopā ar kursorsviru, lai mēs varētu pārvietot robotu automašīnu, noliecot tālruni pa kreisi, pa labi, uz augšu un uz leju. Izmantojot šo pogu, mēs varam iespējot un atspējot G sensoru, kad G sensors ir atspējots. Automašīnu var vadīt, pārvietojot kursorsviru. Tātad, lai novietotu G sensora iespējošanas / atspējošanas pogu, noklikšķiniet uz kursorsviras, kuru ievietojāt saskarnē, un kreisajā pusē būs rekvizītu sadaļa, beigās būs iespēja ievietot G sensora pogu netālu no kursorsviras, tāpēc novietojiet G sensora pogu tur, kur vēlaties. Pēc tam tīmekļa lapa izskatīsies šādi.
Pēc tam noklikšķiniet uz pogas “Iegūt pirmkodu” un saglabājiet to savā datorā. Lejupielādējiet bibliotēku no šejienes un saglabājiet to Arduino bibliotēkas mapē. Apkopojiet lejupielādēto kodu, lai pārbaudītu, vai nav kļūdu. Tas nav kods, kas darbinās robotu, bet tas palīdzēs lietotni izmantot ar Arduino. Lejupielādējiet lietotni šeit vai dodieties uz Play veikalu un no turienes lejupielādējiet lietotni RemoteXY, kas paredzēta jūsu Android viedtālrunim.
Shēmas shēma un skaidrojums:
Pirmkārt, mēs savienosim L298N motora kontrolieri ar Arduino. Savienojiet motora kontrollera ENA un ENB tapas ar attiecīgi Arduino tapām 12 un 11. Šīs divas tapas ir paredzētas motora PWM kontrolei. Izmantojot tēžu tapas, mēs varam palielināt vai samazināt automašīnas ātrumu. Pēc tam IN1, IN2, IN3 un IN4 pievienojiet attiecīgi Arduino tapām 10, 9, 8 un 7. Šīs tapas pagriezīs motorus abos virzienos (pulksteņrādītāja virzienā un pretēji pulksteņrādītāja virzienam).
Lai darbinātu motoru, akumulatora pozitīvo un negatīvo savienojiet ar 12 V un motora kontroliera zemējumu. Pēc tam savienojiet 5V un zemi no motora kontroliera ar Arduino Vin un zemi.
Tad mēs savienosim Bluetooth moduli HC-06 ar arduino. Ja jums ir HC-05, tad tas arī darbosies. Pievienojiet VCC un Bluetooth moduļa zemi 5V un Arduino zemei. Pēc tam pievienojiet Bluetooth moduļa TX tapu ar Arduino 2. kontaktu un RX kontaktu ar Arduino 3. kontaktu. Pārbaudiet arī Bluetooth kontrolēto rotaļu automašīnu, izmantojot Arduino, lai uzzinātu vairāk par Bluetooth lietošanu ar Arduino.
Koda skaidrojums:
Pilns Arduino kods šai mobilajai kontrolētajai robotu automašīnai ir norādīts sadaļā Kods, šeit mēs sapratīsim, kā šis kods darbojas.
Pirmkārt, mēs esam iekļāvuši Software Serial un RemoteXY bibliotēkas. RemoteXY bibliotēka palīdzēs mums iestatīt lietotni ar Arduino, caur kuru mēs kontrolēsim robotu automašīnu. Pēc tam mēs esam definējuši Bluetooth moduļa tapas, TX no Bluetooth moduļa ir savienots ar Arduino tapu 2, kas ir Arduino RX tapa, un RX no Bluetooth moduļa ir savienots ar Arduino tapu 3, kas ir Arduino TX tapa un iestatiet Bluetooth moduļa datu pārraides ātrumu 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL # iekļaut
Šis kods palielinās vai samazinās motora ātrumu. Kad kursorsvira būs centrā, ātrums būs nulle un kad tas būs virzienā uz priekšu, ātrums palielināsies no nulles līdz 100. Ātrums samazināsies no 0 līdz -100, kad automašīna pārvietosies pretējā virzienā. Automašīnu var pārvietot arī ar noteiktu ātrumu, to var izdarīt, dodot PWM signālu. Pwm signāls tiks piešķirts motoriem atbilstoši kursorsviras rotācijai.
ja (motora ātrums> 100) motora ātrums = 100; ja (motora ātrums <-100) motora ātrums = -100; if (motora ātrums> 0) {digitalWrite (rādītājs, AUGSTS); digitalWrite (rādītājs, LOW); analogWrite (rādītājs, motora ātrums * 2,55); } else if (motor_speed <0) {digitalWrite (pointer, LOW); digitalWrite (rādītājs, AUGSTS); analogWrite (rādītājs, (-motor_speed) * 2,55); } else {digitalWrite (rādītājs, LOW); digitalWrite (rādītājs, LOW); analogWrite (rādītājs, 0); }
Šajā kodā mēs esam definējuši funkciju, kas tiks izsaukta ikreiz, kad lietotnē pārvietosim kursorsviru. Kad mēs ieslēdzam slēdzi lietotnē, loģika 1 tiks piešķirta Arduino tapai 13, kas ieslēdz LED spraudni. Pārvietojot robotu automašīnu uz priekšu un atpakaļ, tiks izsaukta ātruma funkcija.
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Ātrums (pirmais motors, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Ātrums (otrais motors, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Kā to palaist:
Pievienojiet RemoteXY bibliotēku Arduino bibliotēkām un augšupielādējiet kodu Arduino IDE. Pēc tam lejupielādējiet lietotni savā mobilajā tālrunī un pēc tam ieslēdziet Bluetooth. Lietotnes interfeiss izskatīsies šādi
Pēc tam dodieties uz Bluetooth un tur ieslēdziet Bluetooth. Pēc ieslēgšanas tas parādīs Bluetooth ierīces. No turienes izvēlieties savu HC-06 Bluetooth moduli, tas jūs aizvedīs uz saskarni, no kuras jūs varat vadīt robotu automašīnu.
Šādi mēs varam izmantot gravitācijas sensoru savā mobilajā tālrunī, lai pārvietotu robotu. Jūs varat turpināt eksperimentēt un atrast interesantāku G sensora izmantošanu, lai kontrolētu ārējās lietas, savstarpēji saskaroties ar Microcontorller (piemēram, Arduino).