Rumorometro – sensore di suono e striscia RGB

Descrizione del progetto

In questo progetto userete i moduli analogi di ingresso potenziometro e sensore di suono insieme alla striscia RGB come modulo di uscita. La striscia si illuminerà dipendentemente dalla quantità del suono che rileva il sensore di suono, e con il potenziometro definirete il massimo e il minimo valore dell’intensità di suono che influenzerà il modo di illuminarsi della striscia RGB. L’idea del progetto è di creare il rumorometro che misura la quantità del suono nell’ambiente e sulla striscia RGB si illuminerano meno o più diodi luminosi a seconda del volume misurato. Quando il potenziometro è collegato al pin P1, premendo il pulsante A potete definire sul micro:bit il valore massimo per l’intensità del suono, e quando è collegato al pin P2, premendo il pulsante A definite il valore minimo. I diodi devono illuminarsi a colori dell’arcobaleno.

Per definire i limiti in modo più facile, accoppiate il micro:bit con computer per poter monitorare sullo schermo del computer i valori che si leggono ruotando il potenziometro.

L’ispirazione per l’aspetto e la creazione del vostro rumorometro trovate nell’angolo creativo.

Moduli necessari

  • scheda per collegamento di moduli elettronici
  • cavo USB per alimentazione
  • 2 cavi per collegare i moduli
  • sensore di suono
  • striscia luminosa a LED RGB
  • potenziometro

Collegamento di moduli

Inserite il micro:bit nella scheda. Fate attenzione che anche nel codice sorgente deve essere impostato il pin giusto perché altrimenti il programma non si eseguirà.

Nei posti per collegamento di moduli elettronici collegate con i cavi il potenziometro, sensore di suono e la striscia come mostra lo schema del circuito. Il potenziometro e il sensore di suono sono i moduli analogi di ingresso per cui possono essere collegati solo ai pin analogi. Questi sono i pin P0, P1 o P2 sulla scheda. Il micro:bit, tramite il pin al quale è collegato il potenziometro come modulo analogo di ingresso, legge lo stato del suo segnale il cui intervallo va in valori da 0 a 1023. Secondo lo schema del circuito il sensore di suono è collegato al pin P0 e la striscia al pin P8. Collegate il potenziometro al pin P1 o al pin P2 a seconda che volete impostare il valore minimo o massimo. Per inizio collegatelo al pin P1. Con il cavo USB collegate il micro:bit al computer per alimentare il circuito e per trasferire il programma su micro:bit.

Come creare il programma

Avviso: Per programmare la striscia luminosa a LED RGB, nell’editore Makecode bisogna aggiungere la categoria di istruzioni Neopixel. Come aggiungere la categoria Neopixel potete vedere qui.

Passo 1

All’inizio bisogna definire che in programma usate la striscia luminosa a LED RGB. Lo fate scegliendo la prima istruzione (set strip to) dalla categoria Neopixel. Collocate l’istruzione set strip to nel blocco on start. Nella parte dell’istruzione in cui potete definire i parametri, mettete il P8 perché a questo pin è collegata la striscia, al posto di 24 inserite il numero 7 perché la striscia ha 7 diodi, e como formato lasciate il valore RGB predefinito (formato GRB). Il parametro (variabile) strip dell’istruzione si riferisce alla striscia intera.

Aggiungete anche l’istruzione show icon dalla categoria Basic e scegliete il disegno del segno di spunta. Quando lo schermo del micro:bit mostra il segno di spunta, significa che l’uso della striscia RGB è stato definito.

Passo 2

Adesso nella categoria Variables, usando l’opzione Make a variable, create due variabili H e L. Esse rappresenteranno i valori del potenziometro tra 0 e 1023 quando si trova al pin P1, ovvero al pin P2. Dalla categoria Variables scegliete l’istruzione set H to e come argomento mettete l’istruzione analog read pin P1 dalla categoria Pins. Copiate l’intera istruzione set H to analog read pin P1 con il clic destro del mouse e scegliendo l’opzione Duplicate, e scegliete la variabile L al posto di H e i il pin P2 al posto di pin P1.

Passo 3

Per facilitare la lettura dei valori di potenziometro quando esso viene ruotato, programmate il micro:bit a mostrare i valori attraverso lo schermo del computer. Questo vuol dire che bisogna stabilire una comunicazione seriale tra micro:bit e computer. Questo procedimento è spiegato in dettaglio nella lezione Stabilire una comunicazione seriale tra micro:bit e computer.

Dopo aver stabilito la comunicazione seriale tra micro:bit e computer, bisogna aggiungere le istruzioni per la visualizzazione delle varibili H e L sul computer. Nel ciclo forever, dalla categoria Serial, inserite l’istruzione serial write value x=0. Al posto del x inserite la lettera H, e al posto dello 0 mettete la variabile H dalla categoria Variables. Fate la stessa cosa anche per la variabile L. Alla fine aggiungete una pausa di mezzo secondo per la migliore visualizzazione dei dati.

Nell’editor Makecode, cliccando su Show console Device, si apre la finestra nella quale potete monitorare i valori letti. Nella parte superiore essi sono rappresentati dal grafico, e nella parte inferiore dai numeri.

Ruotando il potenziometro quando esso è collegato al pin P1, cambia il valore della variabile H, e quando è collegato al pin P2, ruotandolo cambia il valore della variabile L.

Passo 4

Notate come sui pin P1 o P2 (variabile H o L), nel momento in cui il potenziometro non è collegato ad esso, si legge ancora un valore. Perciò bisogna introdurre altre due variabili nelle quali, premendo il pulsante A sul micro:bit, viene memorizzato il valore che volete come limite massimo, oppure limite minimo.

Dalla categoria Input scegliete il blocco on button A pressed e collocatelo nell’area di programmazione. Create le variabili high e low tramite l’opzione Make a variabile e con le istruzioni set high to e  set low to impostatele al valore della variabile H, ovvero L. Aggungiete anche l’istruzione serial write value per poter monitorare la scelta e il valore dei limiti sul computer.

Adesso nell’editore Makecode, premendo il pulsante A sul micro:bit, vengono mostrati anche i valori delle variabili high e low. La variabile high potete scegliere quando il potenziometro è collegato al pin P1, e la variabile low quando è collegato al pin P2.

Passo 5

È rimasto ancora programmare la striscia luminosa a LED RGB. Create la variabile diodi luminosi e nel nuovo ciclo forever inserite l’istruzione set diodi luminosi to 0. Per collegare l’accensione dei diodi luminosi con il valore che il sensore di suono invia a micro:bit, usate l’istruzione per la mappatura (categoria Pins) e impostatela come argomento dell’istruzione set diodi luminosi to.

Il valore che state mappando è quello letto sul pin P0 perché ad esso è collegato il sensore di suono. Nella parte from low e from high mettete le variabili low e high perché questo è l’intervallo di valori che si deve scalare in un intervallo nuovo. Nella parte to low e to high inserite 0 e 7 perché questo e il numero di diodi luminosi sulla striscia.

Passo 6

Per l’accensione dei diodi inserite l’istruzione strip clear e strip show dalla categoria Neopixel. Tra queste due istruzioni dovete definire l’intervallo e il colore dei diodi luminosi. Nella categoria Neopixel si trova il set di istruzioni set range to strip range from 0 with 4 leds. Al posto del numero 4 inserite la variabile diodi luminosi. Per fare in modo che tutti i diodi luminosi si illuminino a colori dell’arcobaleno, usate l’istruzione range show rainbow from 1 to 360 e al posto del numero 360 inserite il numero 180.

Angolo creativo
Tags: