Lettore MP3 con rilevazione della luminosità usando il kit da saldare gratuito per principianti Adafruit di Arduino

Pubblicato da

Il kit da saldare gratuito per principianti di Arduino è provvisto di tutto quello che occorre per realizzare un lettore MP3, ma JJ ha fatto un ulteriore passo avanti aggiungendo un sensore luce ambientale Vishay al mixer.

Aprendo la scatola, abbiamo Adafruit music maker per ascoltare la musica.

Visualizza prodotti correlati

3208

Adafruit Industries Sistema integrato, schede e kit di sviluppo Visualizza

Creiamo la nostra applicazione, dove la musica che viene suonata dipenderà dalla luce ambiente. Il VEML6030 di Vishay viene usato come sensore luce ambientale per indicare il numero di lux. I dati si ottengono attraverso un bus I2C.

Visualizza prodotti correlati

VEML6030

Vishay Sensore luce d'ambiente Visualizza

Anche se Arduino ha reso molto facile la programmazione del bus I2C, è necessario comprendere gli elementi fondamentali per poterlo programmare.
Il bus I2C è diventato uno standard ampiamente usato per i sensori. È stato progettato da Philips (chiamato NXP oggi) e lavora con solo 2 linee: una linea per il clock (chiamata SCL) e una linea per i dati (chiamata SDA). Questa ultima linea è bidirezionale. Queste due linee sono resistori di pull-up e open drain. Questi sono i resistori che si vedono sul montaggio sperimentale. Naturalmente, su un'applicazione finale, questi resistori vengono progettati sul circuito elettrico. Il bus master genera il clock e avvia la comunicazione con uno slave. Ogni dispositivo slave ha un indirizzo da 7-bit.

Visualizza prodotti correlati

PCF8584T/2,512

NXP Semiconductors Controller di interfaccia Visualizza

Il protocollo è il seguente: il master invia un bit di start (che è una transizione da basso ad alto di SDA con SCL alto), seguito dall'indirizzo da 7 bit al quale si vuole effettuare la comunicazione e poi è seguito da un singolo bit, se si vuole scrivere (bit a 0) o leggere (bit a uno) dallo slave. Dopo ogni trasmissione di 8 bit, lo slave risponde ad un bit ACK (SDA è basso). Se il trasmettitore vede un bit 1, si tratta di un NACK (non Riconosciuto)

La comunicazione termina con un bit di ARRESTO. È una transizione da basso ad alto di SDA con SCL alto. Poiché il bit di start e di arresto avviene quando SCL è alto, tutte le altre transizioni di SDA si verificano con SCL basso.

Ora che si comprende come funziona I2C, occorre leggere i dati indicati nella scheda dati di VEML6030 per conoscere i valori da scrivere nel nostro programma.

Innanzitutto, leggendo la scheda tecnica di VEML6030, si può trovare un pin dell'indirizzo che consente di configurare il valore dell'indirizzo. Sul nostro circuito questo pin è collegato a terra e ciò significa che l'indirizzo del dispositivo è 0x10.
La scheda dati spiega l'interfaccia I2C e come inviare i comandi. Quando occorre scrivere al dispositivo, si deve inviare l'indirizzo, il codice di comando. In VEML6030, tutti i registri sono a 16 bits e LSB deve essere il primo. Pertanto, se si vuole configurare VEML6030 con un guadagno di un quarto e un tempo di integrazione di 100 ms, occorre accendere il sensore luce ambientale e LSB è uguale a 0x00 e MSB è uguale a 0x18. Nel nostro programma vengono definiti i microfoni, inclusa nel setup la biblioteca via cavo, chiamata Wire.begin() e poi nella funzione loop parte una trasmissione con l'indirizzo di VEML6030, con il registro di comando (0x00 nel caso attuale) si invia LSB e MSB ed, infine, endTransmission. Per avere una spiegazione approfondita su questi comandi, visitare il sito web di Arduino, dove vengono spiegate le biblioteche. 

In modo simile, per leggere i dati, si inizia con una trasmissione, si invia il valore del registro dove si vogliono leggere i dati, la funzione requestFrom con l'indirizzo e 2 byte da leggere ed, infine, si leggono i dati.

Il livello di illuminamento in Lux viene convertito in numero intero ed infine si decide quale musica suonare a seconda del valore dei lux.
Se è al di sotto di 20, si suona una musica per dormire. Tra 20 e 50 lux una musica per rilassarsi, tra 50 e 800 una musica per una vita attiva e sopra a 800 si presume quando si è fuori per una festa e si è pronti per la musica techno.

Ora si è pronti per creare la propria app con qualsiasi tipo di sensore e personalizzare il proprio lettore musicale.

Video più recenti

Il filtro selezionato non ha restituito alcun risultato.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy