Sommario:

[2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC: 6 passaggi (con immagini)
[2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC: 6 passaggi (con immagini)

Video: [2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC: 6 passaggi (con immagini)

Video: [2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC: 6 passaggi (con immagini)
Video: Resettare la spia controllo motore senza computer By Paolo Brada DIY 2024, Novembre
Anonim
[2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC
[2020] Utilizzo di due (x2) Micro: bit per controllare un'auto RC

Se hai due (x2) micro:bit, hai pensato di usarli per controllare a distanza un'auto RC? Puoi controllare un'auto RC usando un micro:bit come trasmettitore e un altro come ricevitore.

Quando utilizzi l'editor MakeCode per la codifica di un micro: bit, puoi trovare un'estensione denominata Radio che consente a uno dei tuoi micro: bit di trasmettere dati via etere a un altro micro: bit nello stesso gruppo. Puoi facilmente inviare e ricevere dati utilizzando l'estensione Radio per molti progetti.

In questo tutorial, impareremo come utilizzare due (x2) micro:bit per controllare a distanza un'auto RC. Verificheremo i passaggi per impostare due (x2) micro: bit e utilizzeremo l'editor MakeCode per spiegare come vengono codificati i file di esempio. Puoi scaricare codici di esempio pronti per l'uso in questo progetto e non devi preoccuparti di codificare tutto da zero. Puoi sempre personalizzare i codici di esempio in un secondo momento per i tuoi scopi di apprendimento.

Forniture:

Iniziamo! Per il trasmettitore e il ricevitore, utilizzeremo due (x2) micro:bit. Per le batterie, si consiglia di utilizzare batterie AA e AAA da 1,5 V nuove e monouso.

  • micro:bit x2
  • custodia della batteria x1
  • Batterie AAA da 1,5 V x2 (per la custodia della batteria)

Per l'auto giocattolo in questo progetto, utilizzeremo l'auto RC Valenta Off-Roader. Valenta Off-Roader è un'auto RC alimentata a micro: bit. È compatibile con Lego Technic e dotato di due (x2) micro motoriduttori sulle ruote posteriori e un (x1) servosterzo integrato basato sul meccanismo del bilanciere Roberval.

  • Valenta Fuoristrada x1
  • Batterie 1,5V AA x4 (per l'auto)

Puoi anche fare riferimento alle istruzioni per il montaggio dell'auto.

Passaggio 1: copia dei file di esempio su Micro: Bits

Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits
Copia di file di esempio su Micro: Bits

Per questo progetto, abbiamo preparato file di esempio MakeCode che puoi scaricare sul tuo computer. Poiché questi file di esempio sono pronti per essere riprodotti, puoi iniziare a riprodurre immediatamente.

In questo passaggio, scarica il file Transmitter.hex e il file Receiver.hex. Collega il tuo computer e un micro:bit tramite cavo USB e copia ogni file su ciascuno dei tuoi micro:bit uno alla volta.

Innanzitutto, trascina e rilascia il file Transmitter.hex su un micro: bit e utilizzalo come "trasmettitore" micro: bit.

In secondo luogo, trascina e rilascia il file Receiver.hex su un altro micro: bit e utilizzalo come "ricevitore" micro: bit.

Dopo aver copiato il file di esempio sul tuo micro:bit, scollegalo dal computer.

Collega il vano batteria al "trasmettitore" micro:bit e accendilo. (In alternativa, puoi anche fornire l'alimentazione al "trasmettitore" micro:bit collegandolo al computer tramite cavo USB.)

Monta il "ricevitore" micro:bit sulla tua auto e accendi l'interruttore di alimentazione sul controller del motore.

Passaggio 2: revisione del file di esempio Transmitter.hex

Revisione del file di esempio Transmitter.hex
Revisione del file di esempio Transmitter.hex
Revisione del file di esempio Transmitter.hex
Revisione del file di esempio Transmitter.hex
Revisione del file di esempio Transmitter.hex
Revisione del file di esempio Transmitter.hex

Trasmettitore.hex

Ora esamineremo il file di esempio Transmitter.hex. Apri l'editor MakeCode e fai clic sul pulsante Importa. Apri il file Transmitter.hex che hai copiato su "transmitter" micro:bit.

sul blocco di partenza

Questo blocco viene chiamato inizialmente subito quando "trasmettitore" micro:bit è acceso. In Estensione radio, è possibile trovare il gruppo di apparecchi radio di blocco e 1 è impostato ad esempio. Questo numero deve essere lo stesso per "trasmettitore" micro:bit e "ricevitore" micro:bit, in modo che possano essere accoppiati per la comunicazione.

Il file utilizza le funzionalità dell'accelerometro. Inclinando il tuo "trasmettitore" micro:bit in basso, in alto, a destra o a sinistra, invierà stringhe radio di "goForward" "goBackward" "goRight" o "goLeft" al tuo "ricevitore" micro:bit.

sul blocco logo in basso

Nelle funzioni di input, puoi trovare il blocco sul logo in basso. Questo blocco viene eseguito ogni volta che si inclina il "trasmettitore" micro:bit in basso o in avanti. Nel blocco, puoi anche trovare la stringa di invio radio "goForward" che invierà la stringa radio "goForward" via etere quando il "trasmettitore" micro:bit è inclinato verso il basso. Quando "ricevitore" micro:bit riceve questa stringa, l'auto andrà avanti.

sul blocco logo up

In Funzioni di input, puoi trovare il blocco su logo up. Questo blocco viene eseguito ogni volta che si inclina il "trasmettitore" micro:bit verso l'alto o all'indietro. Nel blocco, puoi anche trovare la stringa di invio radio "goBackward" che invierà la stringa radio "goBackward" via etere quando il "trasmettitore" micro:bit è inclinato verso l'alto. Quando "ricevitore" micro:bit riceve questa stringa, l'auto andrà indietro.

sul blocco inclinato a destra

In Funzioni di input, puoi trovare il blocco inclinato a destra. Questo blocco viene eseguito ogni volta che si inclina il "trasmettitore" micro:bit a destra. Nel blocco, puoi anche trovare la stringa di invio radio "goRight" che invierà la stringa radio "goRight" via etere quando il "trasmettitore" micro:bit è inclinato a destra. Quando "ricevitore" micro:bit riceve questa stringa, l'auto girerà a destra.

sul blocco sinistro inclinato

Nelle funzioni di input, puoi trovare il blocco inclinato a sinistra. Questo blocco viene eseguito ogni volta che si inclina il "trasmettitore" micro:bit a sinistra. Nel blocco, puoi anche trovare la stringa di invio radio "goLeft" che invierà la stringa radio "goLeft" via etere quando il "trasmettitore" micro:bit è inclinato a sinistra. Quando il "ricevitore" micro:bit riceve questa stringa, l'auto girerà a sinistra.

Passaggio 3: aggiunta dell'estensione dei servi

Aggiunta dell'estensione dei servi
Aggiunta dell'estensione dei servi
Aggiunta dell'estensione dei servi
Aggiunta dell'estensione dei servi
Aggiunta dell'estensione dei servi
Aggiunta dell'estensione dei servi

Estensione dei servi

Il tuo editor MakeCode include l'estensione Servos? Apri l'editor e controlla se include l'estensione Servos nel menu a sinistra. Lo useremo nel file di esempio Receiver.hex. Questa estensione dei servi verrà utilizzata per calibrare l'angolo di sterzata. Se non riesci a trovare l'estensione Servo, fai clic su Estensioni nella parte inferiore del menu. Fai clic sull'estensione Servos e aggiungila al menu.

Passaggio 4: revisione del file di esempio Receiver.hex (parte 1)

Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)
Revisione del file di esempio Receiver.hex (parte 1)

Ricevitore.hex

Ora esamineremo il file di esempio Receiver.hex. Apri l'editor MakeCode e fai clic sul pulsante Importa. Apri il file Receiver.hex che hai copiato su "ricevitore" micro: bit.

sul blocco di partenza

Questo blocco viene chiamato inizialmente contemporaneamente quando "ricevitore" micro:bit è acceso. In Funzioni radio si trova il gruppo di blocco radio e ad esempio 1 è impostato. Questo numero deve essere lo stesso per "trasmettitore" micro:bit e "ricevitore" micro:bit, in modo che possano essere accoppiati per la comunicazione.

Dall'estensione Functions, viene creato il blocco di governo della funzione. Trascina e rilascia il blocco dello sterzo della chiamata all'interno del blocco di partenza. Chiamerà la funzione sterzo per raddrizzare lo sterzo della tua auto.

blocco di sterzo funzione

Per impostazione predefinita, lo sterzo di un'auto non è sempre dritto a causa del suo servo. Se guardi l'auto dall'alto, lo sterzo potrebbe essere un po' a destra oa sinistra. Questa funzione di blocco dello sterzo viene utilizzata per calibrare l'angolo del servo nella sua posizione centrale, in modo che lo sterzo dell'auto sia regolato in modo rettilineo.

Supponiamo che il servo sia collegato al pin P2 sul controller del motore. Configuriamo che il servo oscilli da 0 a 180 gradi e il suo angolo centrale sia di 90 gradi.

Nell'estensione Funzioni, è stato creato il blocco di governo della funzione. In Variables extension, crea un nuovo centro variabile per calibrare il servo dello sterzo. Usa la funzione Math per creare parentesi 90 + 0. Trascina e rilascia il centro impostato sul blocco 90 + 0 all'interno del blocco dello sterzo della funzione.

Dall'estensione Servos, trascina e rilascia l'intervallo P2 del servo impostato da 0 a 180. Assicurati di scegliere il pin P2 e l'intervallo di rotazione da 0 a 180 gradi.

Dall'estensione dei servi, trascina e rilascia l'angolo del servo P2 impostato al centro. Assicurati di impostare l'angolo al centro variabile.

Guarda la tua macchina dall'alto. Come sembra?

Se lo sterzo è leggermente a sinistra, impostare il centro su 90-5 per un offset di -5 gradi a destra.

Se lo sterzo è leggermente a destra, impostare il centro su 90 + 5 per un offset di +5 gradi a sinistra.

(Continuando al passaggio successivo)

Passaggio 5: revisione del file di esempio Receiver.hex (parte 2)

Revisione del file di esempio Receiver.hex (parte 2)
Revisione del file di esempio Receiver.hex (parte 2)

Ricevitore.hex (continua)

Come possiamo impostare direzione e velocità? L'auto ha un micro motoriduttore M1 sulla ruota posteriore sinistra e M2 sulla ruota posteriore destra.

funzione goForward blocco

Motore M1 ruota posteriore sinistra

Il pin P13 viene utilizzato per la direzione. Dall'estensione Pins, trascina e rilascia il pin di scrittura digitale P13 su 0 in modo che M1 vada avanti.

Il pin P12 viene utilizzato per la velocità (la velocità massima è 1023). Dall'estensione dei pin, trascina e rilascia il pin di scrittura analogico P12 su 1023 in modo che M1 funzioni alla massima velocità.

Motore M2 ruota posteriore destra

Il pin P15 viene utilizzato per la direzione. Dall'estensione Pins, trascina e rilascia il pin di scrittura digitale P15 su 0 in modo che M2 vada avanti.

Il pin P14 viene utilizzato per la velocità (la velocità massima è 1023). Dall'estensione dei pin, trascina e rilascia il pin di scrittura analogico P14 su 1023 in modo che M2 funzioni alla massima velocità.

Dall'estensione Basic, trascinare e rilasciare il blocco pausa (ms) 1000 per far avanzare l'auto per 1000 millisecondi (1 secondo) ed eseguire la funzione di arresto della chiamata per fermare l'auto in sicurezza.

funzione goBackward blocco

Motore M1 ruota posteriore sinistra

Il pin P12 viene utilizzato per la direzione. Dall'estensione Pins, trascina e rilascia il pin di scrittura digitale P12 su 0 in modo che M1 torni indietro.

Il pin P13 viene utilizzato per la velocità (la velocità massima è 1023). Dall'estensione dei pin, trascina e rilascia il pin di scrittura analogico P13 su 1023 in modo che M1 funzioni alla massima velocità.

Motore M2 ruota posteriore destra

Il pin P14 viene utilizzato per la direzione. Dall'estensione Pins, trascina e rilascia il pin di scrittura digitale P14 su 0 in modo che M2 torni indietro.

Il pin P15 viene utilizzato per la velocità (la velocità massima è 1023). Dall'estensione dei pin, trascina e rilascia il pin di scrittura analogico P15 su 1023 in modo che M2 funzioni alla massima velocità.

Dall'estensione Basic, trascinare e rilasciare il blocco pausa (ms) 1000 per mantenere l'auto all'indietro per 1000 millisecondi (1 secondo) ed eseguire la funzione di arresto della chiamata per fermare l'auto in sicurezza.

blocco di arresto della funzione

Motore M1 ruota posteriore sinistra

Il pin P13 viene utilizzato per la direzione. Dall'estensione dei pin, trascinare e rilasciare il pin di scrittura digitale P13 su 0 in modo che M1 sia impostato sulla direzione in avanti.

Il pin P12 viene utilizzato per la velocità (0 significa nessuna velocità). Dall'estensione Pins, trascina e rilascia il pin di scrittura analogico P12 su 0 in modo che M1 si fermi.

Motore M2 ruota posteriore destra

Il pin P15 viene utilizzato per la direzione. Dall'estensione dei pin, trascinare e rilasciare il pin di scrittura digitale P15 su 0 in modo che M2 sia impostato sulla direzione in avanti.

Il pin P14 viene utilizzato per la velocità (0 significa nessuna velocità). Dall'estensione Pins, trascina e rilascia il pin di scrittura analogico P14 su 0 in modo che M2 si fermi.

Dall'estensione Funzioni, trascina e rilascia il blocco dello sterzo della chiamata per raddrizzare lo sterzo dell'auto.

(Continuando al passaggio successivo)

Passaggio 6: revisione del file di esempio Receiver.hex (parte 3)

Revisione del file di esempio Receiver.hex (parte 3)
Revisione del file di esempio Receiver.hex (parte 3)

Ricevitore.hex (continua)

Ogni volta che il "ricevitore" micro:bit cattura la stringa radio inviata dal "trasmettitore" micro:bit via etere, come può il file di esempio Receiver.hex risolverlo e chiamare la funzione pertinente per controllare l'auto?

su radio ricevuto ricevutoBlocco stringa

Porta questo blocco dall'estensione Radio e attiverà un'azione definita all'interno di questo blocco ogni volta che una nuova stringa radio arriva al "ricevitore" micro:bit.

se poi blocco

Porta questo blocco dall'estensione Logic e risolverà le azioni in base alla stringa ricevuta.

Se la stringa ricevuta è "goForward", il blocco chiamerà la funzione goForward.

Se la stringa ricevuta è "goBackward", il blocco chiamerà la funzione goBackward.

Se la stringa ricevuta è "goRight", imposta l'angolo del servo dello sterzo a -10 gradi a destra e il blocco chiamerà la funzione goForward.

Se la stringa ricevuta è "goLeft", imposta l'angolo del servo dello sterzo a +10 gradi a sinistra e il blocco chiamerà la funzione goForward.

I file di esempio spiegati in questo tutorial sono molto semplici e puoi personalizzare il codice in base alle tue esigenze. Divertiti!

Consigliato: