4.2.9 Auto Robot Mecanum 4WD Controllata da Gamepad Micro:bit
4.2.9.1 Panoramica
In questo progetto, controlliamo un Robot Car Mecanum 4WD con una scheda di controllo gamepad e una scheda Micro:bit. Il joystick consente all’auto di andare avanti, indietro, girare a sinistra e a destra; il pulsante C sposta l’auto lateralmente a sinistra, il D lateralmente a destra, l’E accelera e il tasto F decelera (con un intervallo di velocità di 20–95). Quando non viene eseguita alcuna operazione, l’auto rimane ferma.

4.2.9.2 Parti Richieste
|
|
|
|---|---|---|
Scheda micro:bit V2 (auto-fornita) ×1 |
Smart Gamepad micro:bit (assemblato) ×1 |
Batteria AAA (auto-fornita) ×4 |
|
|
|
Kit KS4034(auto-fornito) ×1 |
Batteria 18650(auto-fornita) ×2 |
Per informazioni dettagliate sul Robot Car Mecanum 4WD**(KS4034)**, visitare qui.
4.2.9.3 Schema di Cablaggio
Si prega di fare riferimento alle istruzioni di cablaggio nella documentazione KS4034 per collegare il Robot Car Mecanum 4WD e il gamepad tramite comunicazione radio. Non è richiesto alcun cablaggio fisico tra i due; entrambi i dispositivi comunicano in modalità wireless.
4.2.9.4 Flusso del Codice
⚠️ Nota che la seguente libreria deve essere importata durante la programmazione dei codici dell’auto: https://github.com/keyestudio2019/mecanum_robot_v2.
Flusso del codice del gamepad:

Flusso del codice dell’auto:

4.2.9.5 Codice di Test
Codice completo del gamepad:


Breve spiegazione:
① Inizializza il gruppo radio a 1 con una potenza di trasmissione del segnale di 7; visualizza un’icona a forma di cuore e imposta le variabili SEND_INTERCAL a 100 e BTN_DEBOUNCE_TIME a 20.

② Imposta la variabile currentCmd (variabile del contenuto dell’istruzione) sul carattere ‘0’ e assegna i valori degli assi X e Y del joystick alle variabili rockerX e rockerY, rispettivamente.

③ Controlla se il joystick o il pulsante hanno un’operazione corrispondente. Se si verifica un’operazione, imposta la variabile currentCmd (variabile del contenuto dell’istruzione) sul carattere corrispondente (R/U/L/D/A/B/Z/X); altrimenti, lasciala invariata.

④ Controlla se currentCmd (variabile del contenuto dell’istruzione) differisce da lastCmd (memorizza il contenuto dell’istruzione precedente). In caso affermativo, invia currentCmd, imposta lastCmd su currentCmd e attendi un ritardo specificato.

Codice completo dell’auto:


Breve spiegazione:
① Inizializza il gruppo radio a 1 con una potenza di trasmissione del segnale di 7; visualizza un’icona a forma di cuore e imposta le variabili SPEED a 50, MIN_SPEED a 20 e MAX_speed a 95.

② Ricevi il valore del comando inviato dalla radio e memorizza il comando nella variabile item.

③ In base ai comandi dei caratteri (U/L/D/R/A/B) ricevuti da item, chiama le funzioni corrispondenti per controllare l’auto per andare avanti, indietro, girare a sinistra, a destra, e spostarsi a sinistra e a destra.

④ In base al comando del carattere (Z/X) ricevuto da item, l’auto viene accelerata o decelerata di conseguenza.
Durante l’accelerazione, la velocità è impostata al minimo tra SPEED+5 e MAX_speed (per evitare di superare MAX_speed); durante la decelerazione, la velocità è impostata al massimo tra SPEED-5 e MIN_speed (per evitare di scendere al di sotto di MIN_speed).

⑤ Qui sono definite sei funzioni di controllo del movimento del veicolo:
car_back controlla tutti e quattro i motori per ruotare all’indietro per andare indietro;
car_forward controlla tutti e quattro i motori per ruotare in avanti per avanzare;
car_left realizza la svolta a sinistra dell’auto impostando i motori laterali sinistri all’indietro e i motori laterali destri in avanti;
car_right realizza la svolta a destra impostando i motori laterali destri all’indietro e i motori laterali sinistri in avanti;
car_left_move e car_right_move consentono lo spostamento a sinistra e a destra tramite la rotazione coordinata dei motori diagonali.
Tutte le funzioni prendono la variabile SPEED come parametro di velocità del motore.

4.2.9.6 Risultato del Test

Dopo aver caricato il codice, inserisci la scheda micro:bit nello slot del gamepad (batterie installate) e sposta l’interruttore su “ON”.
Caricando questi codici su due schede Micro:bit, rispettivamente del gamepad e dell’auto, e assicurati che le batterie siano sufficientemente cariche. Inserisci le Micro:bit corrispondenti nel gamepad e nell’auto e sposta gli interruttori su entrambi su “ON”.
Ora puoi controllare l’auto tramite il gamepad: spingi il joystick verso l’alto e l’auto si muove in avanti, spingilo verso il basso per muoversi all’indietro, a sinistra la fa girare a sinistra e a destra la fa girare a destra. Possiamo anche controllare l’accelerazione (premi il pulsante E)/decelerazione (premi il pulsante F), lo spostamento a sinistra © e lo spostamento a destra (D) dell’auto. Nota che l’intervallo di velocità è 20–95.

Suggerimento: Se non c’è risposta sulla scheda, premi il pulsante di reset sul retro della scheda micro:bit.





