Informazioni di base
Moduli di collegamento
Numerazione dei pin
Programmavání
Programmiamo il micro:bit nell'ambiente MakeCode. Questo ambiente contiene funzioni pronte all'uso per il controllo del micro:bit. Oltre alle funzioni predefinite, è possibile aggiungerne di nuove all'ambiente MakeCode aggiungendo una cosiddetta libreria.
Per la maggior parte dei blocchi funzionali è necessario selezionare il connettore a cui è collegato il modulo.
biblioteca
In questo tutorial utilizzeremo la nostra libreria Beginner. La libreria è progettata specificamente per questo set e contiene funzioni per controllare tutti i blocchi.
Sulla destra è presente un progetto vuoto con la libreria per principianti già inserita . I programmi per i singoli blocchi si trovano qui sotto.
Tlacitko
funzione
Il pulsante è l'elemento di controllo più semplice. Premendo il pulsante si collega (chiude) un circuito elettrico, proprio come se si collegassero due fili. Questo permette il passaggio di corrente elettrica all'ingresso del micro:bit. Il pulsante può essere utilizzato per controllare tutti gli altri blocchi del pacchetto, come il Neopixel, il motore o le singole luci colorate.
Un pulsante rappresenta un input che ha solo 2 livelli: ON, OFF. Chiamiamo questo input "logico".
biblioteca
Programma
Attività 1: Illuminazione del display
Attività 2: Giocare a dadi
In questo esempio, non abbiamo bisogno di usare lo stato di pulsante rilasciato. Dobbiamo solo visualizzare un numero sul display quando il pulsante viene premuto. Per generare il numero, useremo una libreria matematica che include la funzione "numero casuale". Scegliamo lo stesso intervallo numerico di un dado classico.
luce LED
funzione
biblioteca
Utilizzando la libreria, possiamo accendere il LED con la funzione "accendi LED" o spegnerlo con la funzione "spegni LED". Inoltre, il LED può essere impostato a una determinata intensità utilizzando il blocco "scrivi un numero sul LED".
Il LED ha anche blocchi avanzati. "Toggle LED" accende il LED se è spento e lo spegne se è acceso. Il blocco "Turn on LED? true/false" accende il LED se gli inseriamo il valore true.
Programma
Colleghiamo il LED al connettore 2.
spia luminosa
Collegheremo un pulsante al connettore 1. Come nel capitolo dedicato al pulsante, utilizzeremo la struttura con la condizione "se x allora A, altrimenti B". Useremo il valore del pulsante nella condizione. Se viene premuto, accenderemo il LED utilizzando il blocco "accendi LED". Non dimentichiamoci di cambiare il numero del connettore. Per spegnere il LED, useremo il blocco "spegni LED".
Impostazioni di intensità
Impostazione della frequenza di lampeggio
Impostazione della frequenza di lampeggio (avanzata)
Se non vogliamo usare il blocco "accendi LED", possiamo programmare questa logica noi stessi usando una condizione. Per determinare se il LED è acceso o spento, dobbiamo memorizzare questo stato in una variabile. Creeremo una variabile con il valore "false". Questo significa che all'inizio del programma non è acceso nulla. Poi, nel ciclo, determineremo se vogliamo accendere o spegnere il LED. Se il LED è acceso, ovvero la variabile "lit" è vera (lit = true), vorremo spegnere il LED usando il blocco "turn LED off". Allo stesso tempo, scriveremo questo cambiamento di stato nella nostra variabile "lit". Quindi imposteremo "lit" a "false". Altrimenti, accenderemo il LED e scriveremo "true" nella variabile.
Infine, impostiamo nuovamente la pausa del programma utilizzando "wait x ms", dove utilizziamo il valore del potenziometro.
Ancora una volta, non dimenticare di impostare i numeri corretti dei connettori ovunque.
Motocicletta
funzione
biblioteca
Programma
Collegare il motore al connettore 2.
Commutazione del motore con un pulsante
Regolazione della velocità con potenziometro
Sensore di luce
funzione
Questo sensore è in grado di rilevare l'intensità della luce incidente. Grazie a questo, siamo in grado di misurare molte cose. Ad esempio, se è giorno o notte, se la luce nella stanza è accesa, se c'è un ostacolo davanti, e così via.
L'elemento principale del sensore è un fotoresistore . Simile a un potenziometro, si tratta di un tipo speciale di resistore il cui valore di resistenza varia. In questo caso, la resistenza dipende dall'intensità della luce incidente. Ciò a sua volta modifica il valore della corrente che scorre nel circuito e che viene misurata dal micro:bit sul suo pin di ingresso.
Sul lato anteriore del blocco è presente anche un potenziometro . Lo utilizziamo per eseguire la calibrazione. Per le misurazioni al buio, è necessaria una sensibilità diversa rispetto alle misurazioni alla luce.
biblioteca
Nel caso dei sensori " Sensore di luce, sensore IR e sensore UV " utilizziamo gli stessi blocchi. Il loro output è un valore di verità vero/falso.
Nei blocchi avanzati, esiste lo stesso blocco, solo con un'uscita di 1/0.
Programma
Collegare il sensore al connettore 1.
Ventilatore automatico
Colleghiamo il motore al connettore 2. La struttura è di nuovo la stessa di quella utilizzata per azionare il motore tramite un pulsante. Invece del valore proveniente dal pulsante, utilizziamo il valore proveniente dal sensore.
Linea di produzione
Collega un LED rosso al connettore 2 e un LED verde al connettore 3. Se il sensore rileva un ostacolo sul nastro trasportatore, il LED rosso si accende. Altrimenti, si accende il LED verde.
Sensore IR
funzione
Questo sensore è in grado di rilevare la radiazione infrarossa (IR), invisibile all'occhio umano. Questo ci permette di rilevare calore, movimento o la presenza di oggetti che emettono o riflettono luce IR.
L'elemento principale del sensore è costituito da un diodo a infrarossi e un rilevatore . Il diodo emette raggi infrarossi che vengono riflessi dall'oggetto e ritornano al rilevatore. Quando il rilevatore rileva la luce riflessa, il valore del segnale elettrico cambia, e il micro:bit lo elabora sul suo pin di ingresso.
Anche sul sensore è presente un potenziometro , che utilizziamo per impostare il livello di misurazione. Se vogliamo rilevare un oggetto più distante dal sensore, abbiamo bisogno di un'impostazione di sensibilità maggiore.
biblioteca
Nel caso dei sensori " Sensore di luce, sensore IR e sensore UV " utilizziamo gli stessi blocchi. Il loro output è un valore di verità vero/falso.
Nei blocchi avanzati, esiste lo stesso blocco, solo con un'uscita di 1/0.
Programma
Gli esempi di attività sono gli stessi del sensore precedente.
sensore UV
funzione
Questo sensore è in grado di rilevare la radiazione ultravioletta (UV), invisibile all'occhio umano. Questa radiazione proviene, ad esempio, dal sole. Questo ci permette di misurare l'intensità della radiazione UV che colpisce il sensore, il che può essere utile per monitorare la sicurezza solare o rilevare fonti di luce UV.
L'elemento principale del sensore è uno speciale fotorivelatore sensibile alle radiazioni UV. Quando viene colpito dalla luce UV, genera un segnale elettrico. Questo segnale modifica il valore della corrente che scorre nel circuito, e tale variazione viene a sua volta misurata dal micro:bit sul suo pin di ingresso.
Anche sul sensore è presente un potenziometro , che utilizziamo per impostare il livello di misurazione. Se vogliamo rilevare un oggetto più distante dal sensore, abbiamo bisogno di un'impostazione di sensibilità maggiore.
biblioteca
Nel caso dei sensori " Sensore di luce, sensore IR e sensore UV " utilizziamo gli stessi blocchi. Il loro output è un valore di verità vero/falso.
Nei blocchi avanzati, esiste lo stesso blocco, solo con un'uscita di 1/0.
Programma
Gli esempi di attività sono gli stessi del sensore precedente.
Sensore IR
funzione
Questo sensore è in grado di rilevare la radiazione infrarossa (IR), invisibile all'occhio umano. Questo ci permette di rilevare calore, movimento o la presenza di oggetti che emettono o riflettono luce IR.
L'elemento principale del sensore è costituito da un diodo a infrarossi e un rilevatore . Il diodo emette raggi infrarossi che vengono riflessi dall'oggetto e ritornano al rilevatore. Quando il rilevatore rileva la luce riflessa, il valore del segnale elettrico cambia, e il micro:bit lo elabora sul suo pin di ingresso.
Anche sul sensore è presente un potenziometro , che utilizziamo per impostare il livello di misurazione. Se vogliamo rilevare un oggetto più distante dal sensore, abbiamo bisogno di un'impostazione di sensibilità maggiore.
biblioteca
Nel caso dei sensori " Sensore di luce, sensore IR e sensore UV " utilizziamo gli stessi blocchi. Il loro output è un valore di verità vero/falso.
Nei blocchi avanzati, esiste lo stesso blocco, solo con un'uscita di 1/0.
Programma
Gli esempi di attività sono gli stessi del sensore precedente.
Neopixel
funzione
Questo blocco contiene 8 luci (i cosiddetti pixel per noi). Si tratta di LED speciali che possono illuminarsi di qualsiasi colore. Sono abbreviati in RGB, perché uno di questi componenti nasconde al suo interno 3 LED classici, che illuminano di rosso (R – rosso), verde (G – verde) e blu (B – blu). Combinando questi colori, otteniamo qualsiasi colore e qualsiasi livello di luminosità. Alcuni schermi di telefoni cellulari, computer e televisori funzionano secondo questo principio.
Le strisce LED RGB sono oggi molto diffuse e hanno molteplici utilizzi. Possiamo usarle, ad esempio, per visualizzare la velocità di un motore, la rotazione di un potenziometro o il valore di altri sensori.
biblioteca
Per controllare il Neopixel, è necessario creare una variabile all'inizio del programma che contenga tutte le informazioni necessarie, come il numero del connettore. Dopodiché, basterà fare riferimento a questa variabile. Nelle funzioni di base sono presenti blocchi per visualizzare colori, arcobaleno e grafici a barre.
Nelle funzionalità avanzate troverete la possibilità di ridurre la luminosità, ruotare o spostare i pixel (adatto, ad esempio, per ruotare l'arcobaleno visualizzato) o convertire i colori da diversi spazi colore.
Programma
Questo modulo richiede una gestione diversa rispetto a tutti gli altri. Invece di un blocco di avvio, è necessario creare una variabile neo che contenga tutte le informazioni necessarie sul modulo utilizzato.
Inoltre, non è necessario inserire il numero del connettore, ma basta fare riferimento alla variabile neo fornita, ad esempio quando il colore rosso è acceso. Colleghiamo il Neopixel al connettore 2.
Visualizzazione del valore del potenziometro
Colleghiamo il potenziometro al connettore 1. Invece di visualizzare un grafico sul display del micro:bit, possiamo usare Neopixel. Grazie alla funzione "mostra grafico a barre", possiamo visualizzare il valore del potenziometro in modo più chiaro. Anche in questo caso, prima facciamo riferimento all'oggetto "neo", poi inseriamo il valore visualizzato, ovvero "numero dal potenziometro", e nell'ultima cella "da dopo" inseriamo il valore 100 (valore originale), poiché questo è il valore massimo che leggiamo dal potenziometro.
Transizione di colore uniforme (avanzata)
Questo programma modifica in modo fluido la tonalità della luce. Utilizzeremo le funzioni avanzate di Neopixel, ovvero la selezione di un colore nel formato HSL, ovvero semplicemente tonalità, saturazione e luminosità. Per prima cosa, creeremo una variabile tonalità e la imposteremo a 0. Nel ciclo, utilizzeremo il blocco "neo display color" e, al posto del colore preimpostato, inseriremo il blocco "tonalità H saturazione S luminosità L". Inseriremo la nostra variabile nella prima cella che rappresenta la tonalità. Imposteremo la saturazione a 99 (ovvero il valore massimo) e la luminosità a 49 (ovvero il valore medio dell'intervallo). A ogni ciclo del programma, aggiungeremo il valore 1 alla variabile tonalità. All'inizio, dovremo quindi aggiungere una condizione che garantisca che, al raggiungimento del valore massimo di tonalità (360), la variabile venga nuovamente azzerata.
Display OLED
funzione
Questo display è in grado di visualizzare testo o semplici elementi grafici utilizzando singoli punti luce che si illuminano direttamente sullo schermo. Grazie a questo, possiamo visualizzare diverse informazioni come numeri, testi o semplici immagini.
Ogni pixel del display è costituito da un piccolo LED che si illumina in base a un segnale proveniente dal micro:bit, creando l'immagine desiderata sul display.
biblioteca
Per controllare il display OLED, il BME e il sensore di colore, utilizzeremo nuovamente un approccio diverso rispetto ai moduli precedenti. I moduli comunicano tramite il protocollo I2C e utilizzano pin diversi a tale scopo. Pertanto, non è necessario specificare a quale connettore collegarli, ma questa comunicazione deve essere attivata con il blocco di avvio.
Programma
Colleghiamo l'OLED al connettore 4. All'inizio di ogni programma, utilizziamo il blocco di avvio OLED. Se vogliamo stampare testo o numeri in un ciclo, dobbiamo sempre riempire tutte le 8 righe. Per fare ciò, utilizziamo il blocco "OLED disegna x righe vuote".
L'immagine mostra un esempio dell'avvio del modulo BME, ma sembra lo stesso per OLED
Ciao
Per testare la funzione OLED, scriveremo un saluto sul display.
Visualizzazione di un valore numerico
Colleghiamo il potenziometro al connettore 1. In questo programma, per prima cosa stampiamo il testo "potenziometro", poi saltiamo 1 riga, quindi scriviamo il valore numerico del potenziometro e infine saltiamo 5 righe.
Scrivere testo e numeri su 1 riga
Colleghiamo il potenziometro al connettore 1. Per scrivere sia testo che valore numerico sulla stessa riga, utilizzeremo solo il blocco "OLED draw text", in cui inseriremo il blocco "xy connection" dalla libreria Text. Nella colonna x, inseriremo il testo "value:" con uno spazio alla fine, nella colonna y, inseriremo il numero che vogliamo visualizzare. Questa funzione convertirà automaticamente il valore numerico in testo. Il resto del codice è lo stesso dell'esempio precedente.
Stazione meteorologica BME
funzione
Questo sensore è in grado di misurare parametri meteorologici di base come temperatura, umidità e pressione atmosferica. Grazie a questo, possiamo monitorare i cambiamenti meteorologici e realizzare vari progetti, come una stazione meteorologica domestica.
L'elemento principale del sensore è uno speciale chip che contiene sensori per la misurazione di temperatura, umidità e pressione. Ciascuno di questi sensori converte i valori misurati in un segnale elettrico, che il micro:bit elabora sul suo pin di ingresso e converte in valori leggibili che possono essere visualizzati, ad esempio, su un display OLED.
biblioteca
Per controllare il display OLED, il BME e il sensore di colore, utilizzeremo nuovamente un approccio diverso rispetto ai moduli precedenti. I moduli comunicano tramite il protocollo I2C e utilizzano pin diversi a tale scopo. Pertanto, non è necessario specificare a quale connettore collegarli, ma questa comunicazione deve essere attivata con il blocco di avvio.
Programma
Colleghiamo il BME al connettore 3. All'inizio di ogni programma utilizziamo il blocco di avvio del BME.
Visualizzazione dei valori sul display OLED
Colleghiamo il display OLED al connettore 4. Scriviamo semplicemente i valori desiderati su tutte le 8 righe. Per prima cosa, scriviamo il nome della grandezza misurata insieme all'unità di misura e poi il valore numerico.
Sensore di colore
funzione
Questo sensore è in grado di riconoscere i colori e di misurare l'intensità della luce, consentendoci di rilevare diversi colori di oggetti e di creare progetti interattivi come il riconoscimento di codici colore o l'ordinamento di oggetti in base al colore.
L'elemento principale del sensore è uno speciale fotorilevatore che misura l'intensità della luce in diverse parti dello spettro (rosso, verde, blu e infrarosso). Il sensore APDS-9960 valuta questi dati e il micro:bit li elabora sul suo pin di ingresso, consentendoci di determinare il colore che sta rilevando.
biblioteca
Per controllare il display OLED, il BME e il sensore di colore, utilizzeremo nuovamente un approccio diverso rispetto ai moduli precedenti. I moduli comunicano tramite il protocollo I2C e utilizzano pin diversi a tale scopo. Pertanto, non è necessario specificare a quale connettore collegarli, ma questa comunicazione deve essere attivata con il blocco di avvio.
Programma
Colleghiamo il sensore di colore al connettore 3. All'inizio di ogni programma utilizziamo il blocco di avvio COLOR.
Elenco dei componenti di colore su un display OLED
Colleghiamo il display OLED al connettore 4. Oltre al blocco "COLOR start", utilizzeremo anche "COLOR turn on additional LED 3", poiché il sensore è collegato al connettore 3. Il LED aggiuntivo ci permetterà di misurare il colore degli oggetti vicini al sensore. Avvicinando un oggetto rosso al sensore, il valore R (rosso) sarà massimo. La scrittura sul display è spiegata nel capitolo OLED.
Temperatura della luce riflessa
Colleghiamo il Neopixel al connettore 4. Se la luce che colpisce il sensore è calda, avrà una componente rossa più elevata. Se la luce è fredda, la componente blu sarà più elevata. Useremo la stessa logica nel programma per visualizzare la temperatura della luce sul Neopixel. Se il valore del rosso è superiore al valore del blu, il colore rosso sul Neopixel si accenderà. Altrimenti, si accenderà il colore blu.

