Costruisci un trucco magico che utilizza la bussola del micro:bit per rilevare un magnete nelle vicinanze! Questo è un semplice trucco magico che puoi eseguire per stupire i tuoi amici! Quando sposti le etichette adesive sui pulsanti A e B del tuo micro:bit, sembra che i pulsanti si scambino davvero. Per vedere il trucco eseguito guarda il video qui sotto.
Questo esercizio ci permette di usare ancora il magnetometro.
Esercizi di approfondimento
Come funziona il trucco
La magia qui è davvero nel codice. Questo trucco utilizza un magnete, nascosto nella tua mano, per dire al micro:bit di scambiare i pulsanti. Quando il magnete è vicino al micro:bit, il pulsante A inizia a funzionare come il pulsante B e il pulsante B inizia a funzionare come il pulsante A. Difficile!
Quello che ti serve
Le uniche cose di cui hai bisogno per questo trucco sono il tuo micro:bit e qualsiasi magnete abbastanza piccolo da stare in mano, anche un magnete da frigo funzionerà.
.
Passaggio 1: visualizzare A e B
Prima di codificare il trucco stesso, dobbiamo far funzionare i pulsanti come ci si aspetterebbe che facciano in modo che premendo il pulsante A venga visualizzato "A" e premendo il pulsante B venga visualizzato "B":
Passaggio 2: misurazione della forza magnetica
Useremo la bussola del micro:bit per rilevare il magnete. Una bussola ci dice in quale direzione stiamo puntando rilevando il campo magnetico terrestre, ma può anche rilevare qualsiasi altro magnete nelle vicinanze. Lo useremo per verificare se il nostro magnete è vicino al micro:bit usando il blocco magnetic force che si trova nella sezione … Altro del menu Input. Poiché vogliamo solo misurare la forza, cambiamo il menu a discesa per selezionare: strength (intensità)
Passaggio 3: verificare se il magnete è nelle vicinanze
Ora possiamo misurare la forza magnetica vicino al micro:bit. Possiamo verificare se il valore che misuriamo è così grande da indicare che deve esserci un magnete nelle vicinanze.
Se hai mai giocato con i magneti, sai che hanno due estremità, spesso chiamate "polo" positivo e negativo. A seconda dell'estremità del magnete che punta al micro:bit, la misurazione della forza magnetica sarà un numero negativo (come, -100) o un numero positivo (come, 100). Vogliamo solo sapere se la forza è almeno 100. Non ci interessa se è negativo o positivo, quindi usiamo anche il blocco absolute of dal menu Math per dire al nostro codice di ignorare il segno negativo e trattare -100 come se fosse 100.
Quindi, nel codice seguente, controlleremo se il valore assoluto della nostra lettura dell'intensità del campo magnetico è maggiore di 100 e salveremo il risultato di quel controllo in una nuova variabile chiamata isSwitched:
Passaggio 4: eseguire sempre il controllo "magnete nelle vicinanze"
Al momento, il nostro codice per rilevare un magnete nelle vicinanze verrà eseguito solo una volta. Dobbiamo metterlo in un loop forever in modo che continui a funzionare ancora e ancora, controllando che il magnete si avvicini al micro:bit. Dovremmo anche assicurarci che isSwitched sia impostato su false quando inizia il nostro programma.
Passaggio 5: scambiare i pulsanti quando sappiamo che il magnete è nelle vicinanze
Ora possiamo controllare il valore della nostra variabile isSwitched ogni volta che vogliamo e sapremo che il magnete è vicino se il suo valore è true. Usiamolo per cambiare il funzionamento dei pulsanti e completare il codice per il nostro trucco. Aggiungeremo un if then else blocco al codice di ciascun pulsante e controlleremo se dobbiamo scambiare ciò che viene visualizzato per ciascun pulsante se isSwitched è uguale a true:
Simula il lancio di una moneta sfruttando il valore vero o falsi di una variabile per far comparire il risultato del lancio.
Posiziona un blocco on button pressed per eseguire il codice quando viene premuto il pulsante A
Posiziona un blocco if e controlla il valore restituito dal blocco pick random true or false.
Pick random true or false restituisce true o false modo casuale.
Posiziona un blocco show icon sotto il if e scegli una delle immagini.
Posiziona più blocchi show icon prima di if per creare un'animazione di lancio della moneta.
Clicca Download per trasferire il tuo codice nel tuo micro:bit e premi il pulsante A per provarlo!