- Components necessaris:
- Creació d'una interfície per al robot mitjançant l'aplicació RemoteXY:
- Diagrama del circuit i explicació:
- Explicació del codi:
- Com executar-lo:
En aquest article, controlarem el cotxe del robot mitjançant el sensor G del nostre telèfon mòbil i podreu moure el robot només inclinant el telèfon. També utilitzarem l’ aplicació Arduino i RemoteXY per a aquest robot controlat per G-Sensor. L’aplicació RemoteXY s’utilitza per crear la interfície al telèfon intel·ligent per controlar el robot. Afegirem el joystick a la interfície de manera que el robot també pugui ser controlat per Joystick i inclinant el telèfon.
El sensor G-Sensor o gravetat és bàsicament un acceleròmetre del telèfon intel·ligent que s’utilitza per controlar l’orientació de la pantalla del telèfon. L'acceleròmetre detecta les direccions X, Y, Z de la força gravitatòria i gira la pantalla segons l'alineació del telèfon. Actualment, en els mòbils s’utilitza un sensor de giroscopi més sensible i precís per decidir l’orientació de la pantalla. Al nostre projecte, el cotxe robot es mourà, segons la direcció en què s’inclini el telèfon, com quan inclinem el telèfon cap endavant, el cotxe avançarà i l’inclinem cap avall i el cotxe es desplaçarà cap enrere. És el mateix que quan jugem a alguns jocs de cotxes al mòbil, també fan servir el sensor G per moure el cotxe en conseqüència. Consulteu el vídeo al final, consulteu també els nostres altres projectes de robòtica aquí.
Components necessaris:
- Xassís de cotxe de robot de dues rodes
- Arduino UNO
- Controlador de motor L298N
- Mòdul Bluetooth HC-06 (HC-05 també funcionarà)
- Font d'alimentació o cèl·lules
- Connexió de cables
Creació d'una interfície per al robot mitjançant l'aplicació RemoteXY:
Per crear la interfície per controlar el cotxe robot mitjançant l’aplicació RemoteXY, haureu d’anar al següent enllaç
remotexy.com/en/editor/ La pàgina web tindrà aquest aspecte

A continuació, des del costat esquerre de la pantalla, agafeu el botó d’interruptor i el joystick i col·loqueu-lo a la interfície mòbil. El botó encendrà el llum del pin 13 que està connectat internament a l’Arduino i el joystick mourà el cotxe robot. La pàgina web després de col·locar l'interruptor i el joystick tindrà aquest aspecte.

Després haurem de col·locar el botó d'activació / desactivació del sensor G junt amb el joystick, de manera que puguem moure el cotxe del robot inclinant el telèfon en direcció esquerra, dreta, amunt i avall. Mitjançant aquest botó podem activar i desactivar el sensor G, quan el sensor G està desactivat. El cotxe es pot controlar movent el joystick. Per col·locar el botó d'activació / desactivació del sensor G, feu clic al joystick que heu col·locat a la interfície i al costat esquerre hi haurà una secció de propietats, al final hi haurà una opció per col·locar el botó del sensor G a prop del joystick, col·loqueu el botó del sensor G allà on vulgueu. La pàgina web posterior es mostrarà així.

Després, feu clic al botó "Obtén el codi font" i deseu-lo a l'ordinador. Descarregueu la biblioteca des d’aquí i deseu-la a la carpeta Arduino. Compileu el codi descarregat per comprovar que no hi hagi errors. Aquest no és el codi que executarà el robot, però us ajudarà a utilitzar l'aplicació amb l'Arduino. Descarregueu l'aplicació des d'aquí o aneu a Play Store i descarregueu l'aplicació RemoteXY des d'allà per al vostre telèfon intel·ligent Android.
Diagrama del circuit i explicació:
En primer lloc, farem una interfície del controlador del motor L298N amb l’Arduino. Connecteu els pins ENA i ENB del controlador del motor al pin Arduino 12 i 11 respectivament. Aquests dos pins són per al control PWM del motor. Utilitzant aquests pins, podem augmentar o disminuir la velocitat del cotxe. A continuació, connecteu els IN1, IN2, IN3 i IN4 als pins Arduino 10, 9, 8 i 7 respectivament. Aquests passadors giraran els motors en ambdues direccions (en sentit horari i antihorari).

Per alimentar el motor, connecteu el positiu i el negatiu de la bateria a 12V i a terra del controlador del motor. A continuació, connecteu el 5V i la terra del controlador del motor a l’Arduino Vin i la terra.
A continuació, connectarem el mòdul Bluetooth HC-06 amb l’arduino. Si teniu HC-05, també funcionarà. Connecteu el VCC i la terra del mòdul Bluetooth al 5V i la terra de l’Arduino. A continuació, connecteu el pin TX del mòdul Bluetooth al pin 2 d'Arduino i el pin RX al pin 3 d'Arduino. Consulteu també el cotxe de joguina controlat per Bluetooth mitjançant Arduino per obtenir més informació sobre l’ús de Bluetooth amb Arduino.

Explicació del codi:
A continuació, es mostra el codi Arduino complet per a aquest cotxe robot controlat per mòbil a la secció Codi, aquí entendreem com funciona aquest codi.
Primer de tot, hem inclòs les biblioteques de Software Serial i RemoteXY. La biblioteca RemoteXY ens ajudarà a configurar l'aplicació amb Arduino, mitjançant la qual controlarem el cotxe robot. Després d’això, hem definit els pins per al mòdul Bluetooth, TX des del mòdul Bluetooth està connectat al pin 2 d’Arduino que és el pin RX d’Arduino i el RX del mòdul Bluetooth està connectat al pin 3 de l’Arduino que és el pin TX d'Arduino i estableix la velocitat en bauds del mòdul Bluetooth a 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
El següent codi augmentarà o disminuirà la velocitat del motor. Quan el joystick estarà al centre, la velocitat serà zero i quan estarà en la direcció cap endavant, la velocitat augmentarà de zero a 100. La velocitat disminuirà de 0 a -100 quan el cotxe es mogui a la direcció inversa. El cotxe també es pot moure a una velocitat específica, això es pot fer donant el senyal PWM. El senyal pwm es donarà als motors segons la rotació del joystick.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (punter, HIGH); digitalWrite (punter, BAIX); analogWrite (punter, motor_speed * 2,55); } else if (motor_speed <0) {digitalWrite (punter, BAIX); digitalWrite (punter, HIGH); analogWrite (punter, (-motor_speed) * 2,55); } else {digitalWrite (punter, BAIX); digitalWrite (punter, BAIX); analogWrite (punter, 0); }
En el següent codi, hem definit la funció que es cridarà cada vegada que mourem el joystick a l'aplicació. Quan activem l'interruptor a l'aplicació, la lògica 1 es donarà al pin 13 de l'Arduino que engega el pin LED. Mentre es mou el cotxe robot en la direcció cap endavant i cap enrere, es cridarà la funció Speed .
bucle buit () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? BAIX: ALT); Velocitat (primer_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Velocitat (segon_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Com executar-lo:
Afegiu la biblioteca del RemoteXY a les biblioteques Arduino i pengeu el codi a l'IDE Arduino. A continuació, descarregueu l'aplicació al telèfon mòbil i, a continuació, activeu el Bluetooth. La interfície de l'aplicació serà així

A continuació, aneu a Bluetooth i activeu el Bluetooth allà. Després d’engegar-lo, us mostrarà els dispositius Bluetooth. Seleccioneu el mòdul Bluetooth HC-06 des d'allà, que us portarà a la interfície, des d'on podeu controlar el cotxe robot.

Així és com podem utilitzar el sensor de gravetat dins del nostre telèfon mòbil per moure el robot. Podeu experimentar i trobar un ús més interessant del sensor G per controlar les coses externes mitjançant la interfície d’un Microcontorller (com Arduino).
