- Componenti richiesti:
- Creazione dell'interfaccia per robot utilizzando l'app RemoteXY:
- Schema del circuito e spiegazione:
- Spiegazione del codice:
- Come eseguirlo:
In questo articolo, controlleremo la Robot Car attraverso il sensore G del nostro cellulare e sarai in grado di muovere il Robot semplicemente inclinando il Telefono. Useremo anche le app Arduino e RemoteXY per questo robot controllato dal sensore G. L'app RemoteXY viene utilizzata per creare l'interfaccia nello Smart Phone per il controllo del Robot. Aggiungeremo il joystick nell'interfaccia in modo che il robot possa essere controllato anche dal joystick e inclinando il telefono.
G-Sensor o sensore di gravità è fondamentalmente un accelerometro nello smartphone che viene utilizzato per controllare l'orientamento dello schermo del telefono. L'accelerometro rileva le direzioni X, Y, Z della forza gravitazionale e ruota lo schermo in base all'allineamento del telefono. Oggigiorno, nei cellulari viene utilizzato un sensore giroscopio più sensibile e preciso per decidere l'orientamento dello schermo. Nel nostro progetto, l'auto robot si muoverà, in base alla direzione in cui il telefono viene inclinato, come quando incliniamo il telefono in avanti, quindi l'auto si muoverà in avanti e la inclineremo verso il basso, quindi l'auto si muoverà all'indietro. È lo stesso di quando giochiamo ad alcuni giochi di auto in Mobile, usano anche il sensore G per spostare l'auto di conseguenza. Guarda il video alla fine, guarda anche i nostri altri progetti di robotica qui.
Componenti richiesti:
- Telaio per auto robot a due ruote
- Arduino UNO
- Controllore motore L298N
- Modulo Bluetooth HC-06 (funzionerà anche HC-05)
- Alimentazione o celle
- Cavi di collegamento
Creazione dell'interfaccia per robot utilizzando l'app RemoteXY:
Per creare l'interfaccia per controllare la Robot Car utilizzando l'app RemoteXY, dovrai andare al seguente link
remotexy.com/en/editor/ La pagina web sarà simile a questa
Quindi dal lato sinistro dello schermo, prendi il pulsante di commutazione e il joystick e posizionalo nell'interfaccia mobile. Il pulsante accenderà la luce al pin 13 che è collegato internamente ad Arduino e il joystick muoverà l'auto robot. La pagina web dopo aver posizionato l'interruttore e il joystick avrà questo aspetto.
Quindi dovremo posizionare il pulsante di abilitazione / disabilitazione del sensore G insieme al joystick, in modo da poter muovere l'auto robot inclinando il telefono in direzione sinistra, destra, su e giù. Usando quel pulsante possiamo abilitare e disabilitare il sensore G, quando il sensore G è disabilitato l'auto può essere controllata muovendo il Joystick. Quindi, per posizionare il pulsante di abilitazione / disabilitazione del sensore G, fare clic sul joystick che hai posizionato nell'interfaccia e sul lato sinistro ci sarà una sezione delle proprietà, ci sarà un'opzione alla fine per posizionare il pulsante del sensore G vicino al joystick, quindi posiziona il pulsante del sensore G dove vuoi. La pagina web successiva sarà simile a questa.
Successivamente, fai clic sul pulsante "Ottieni codice sorgente" e salvalo sul tuo computer. Scarica la libreria da qui e salvalo nella cartella della libreria Arduino. Compila il codice scaricato per verificare che non ci siano errori. Questo non è il codice che eseguirà il Robot ma aiuterà nell'utilizzo dell'App con Arduino. Scarica l'app da qui o vai al Play Store e scarica l'app RemoteXY da lì per il tuo smartphone Android.
Schema del circuito e spiegazione:
Prima di tutto, interfacciamo il controller del motore L298N con Arduino. Collegare i pin ENA e ENB del controller del motore rispettivamente ai pin 12 e 11 di Arduino. Questi due pin servono per il controllo PWM del motore. Usando questi perni, possiamo aumentare o diminuire la velocità dell'auto. Quindi collegare IN1, IN2, IN3 e IN4 rispettivamente ai pin 10, 9, 8 e 7 di Arduino. Questi perni faranno ruotare i motori in entrambe le direzioni (in senso orario e antiorario).
Per alimentare il motore, collegare il positivo e il negativo della batteria al 12V e alla massa del controller del motore. Quindi collegare il 5V e la terra dal controller del motore ad Arduino Vin e alla terra.
Quindi collegheremo il modulo Bluetooth HC-06 con arduino. Se hai HC-05, funzionerà anche tu. Collega il VCC e la massa del modulo Bluetooth al 5V e alla massa di Arduino. Quindi collega il pin TX del modulo Bluetooth al pin 2 di Arduino e il pin RX al pin 3 di Arduino. Controlla anche Auto giocattolo controllata da Bluetooth con Arduino per saperne di più sull'uso del Bluetooth con Arduino.
Spiegazione del codice:
Il codice Arduino completo per questa macchina robotica controllata da dispositivo mobile è fornito di seguito nella sezione Codice, qui capiremo come funziona questo codice.
Prima di tutto, abbiamo incluso le librerie per Software Serial e RemoteXY. La libreria RemoteXY ci aiuterà nell'impostazione dell'app con Arduino, attraverso la quale controlleremo l'auto robot. Dopodiché, abbiamo definito i pin per il modulo Bluetooth, TX dal modulo Bluetooth è collegato al pin 2 di Arduino che è il pin RX di Arduino e l'RX dal modulo Bluetooth è collegato al pin 3 di Arduino che è il pin TX di Arduino e imposta il baud rate del modulo Bluetooth a 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Il codice seguente aumenterà o diminuirà la velocità del motore. Quando il joystick sarà al centro, la velocità sarà zero e quando sarà in direzione avanti la velocità aumenterà da zero a 100. La velocità diminuirà da 0 a -100 quando l'auto si muoverà in direzione inversa. L'auto può anche essere spostata a velocità specifiche, questo può essere fatto dando il segnale PWM. Il segnale pwm sarà dato ai motori in base alla rotazione del joystick.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (pointer, HIGH); digitalWrite (puntatore, BASSO); analogWrite (pointer, motor_speed * 2.55); } else if (motor_speed <0) {digitalWrite (pointer, LOW); digitalWrite (puntatore, HIGH); analogWrite (puntatore, (-motor_speed) * 2.55); } else {digitalWrite (pointer, LOW); digitalWrite (puntatore, BASSO); analogWrite (puntatore, 0); }
Nel codice seguente abbiamo definito la funzione che verrà chiamata ogni volta che muoveremo il joystick nell'app. Quando accenderemo l'interruttore nell'app, la logica 1 verrà data al pin 13 di Arduino che accende il pin LED. Mentre si sposta l'auto robotica in avanti e indietro, verrà chiamata la funzione Velocità .
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Velocità (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Velocità (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Come eseguirlo:
Aggiungi la libreria del RemoteXY alle librerie Arduino e carica il codice nell'IDE di Arduino. Quindi scarica l'app sul tuo telefono cellulare e quindi attiva il Bluetooth. L'interfaccia dell'app sarà simile a questa
Quindi vai su Bluetooth e attiva il Bluetooth lì. Dopo averlo acceso, ti mostrerà i dispositivi Bluetooth. Seleziona il tuo modulo Bluetooth HC-06 da lì, ti porterà all'interfaccia, da dove puoi controllare l'auto robot.
È così che possiamo utilizzare il sensore di gravità all'interno del nostro telefono cellulare per spostare il robot. Puoi sperimentare ulteriormente e trovare un uso più interessante del sensore G per controllare le cose esterne interfacciando un Microcontorller in mezzo (come Arduino).