
In questo nuovo articolo presenterò due progetti che ho realizzato con la scheda elettronica Raspberry Pi: un lettore di file audio Mp3 e una internet radio. Entrambi visualizzano le informazioni su un display LCD 20x4, come i titoli dei brani, i nomi degli album o delle stazioni radio suddivisi in generi musicali. I progetti sono basati sullo schema elettrico già visto nell'ultimo articolo, "Raspberry Pi: Desk weather station", per tanto unendo i tre programmi e assemblando il circuito in un piccolo case è possibile creare un'ottima console multimediale da tavolo. Tutti gli sketch per il funzionamento sono stati realizzati con l'ambiente di sviluppo Python 3 ed è stato implementato il tool "mpg123" per la gestione dei file audio.
Introduzione
Il lettore di MP3 e l'internet radio hanno in comune l'utilizzo dell'applicazione "mpg123": un lettore multimediale free che funziona da riga di comando per i file audio MPEG nei sistemi operativi UNIX e Linux. Questo tool è in grado di avviare un file audio caricato da una directory, come avviene per il lettore MP3, o da un indirizzo web come nel caso dell'internet radio. La gestione del mpg123 avviene tramite due programmi:"MP3_index" per il progetto del player MP3 e "iRadio_index" per la internet radio, entrambi scritti con l'IDE di Python 3. Oltre ai due file index sono necessari anche l'utilizzo di altri programmi, o meglio classi, per la realizzazione di questo progetto. I programmi sono strutturati nel seguente modo:
Mp3_index.py: programma principale del progetto player MP3;
iRadio_index.py: programma principale del progetto internet radio;
RadioList.py: dizionario che raccoglie gli indirizzi delle stazioni radio sulla rete;
HD44780_20x4.py: modulo per la configurazione e gestione del display LCD tipo HITACHI HD44780.
Layout
Come detto in precedenza lo schema elettrico (Figura 1) è basato su un precedente articolo, ed è composto da un LCD 20x4 della HITACHI, un trimmer per regolare il contrasto del LCD, un sensore temperatura tipo DS18B20 della DALLAS (utilizzato per la Desk Weather Station) e in fine tre pulsanti normalmente aperti per gestire i file audio, sia per il player mp3 che per l'internet radio. Durante l'assemblaggio del circuito potete eliminare il sensore temperatura, ma se volete integrarlo, per creare una desk multimediale, allora fare particolare attenzione [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3585 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Penso che con la nuova Raspberry Pi 3 puoi implementare lo stesso programma sfruttando la connessione wireless ? Come sempre un’interessante applicazione 😉
Grazie.
Vero, con la RPi3 si potrebbe integrare questo progetto e il precedente “Desk weather station” tutto in uno con connessione alla rete tramite il wi-fi integrato. Inoltre si potrebbe sfruttare il BLE per connettere dispositivi mobile e condividere file audio.
….. e creare una piccola rete di altoparlanti per la “WIRELESS-diffusione” dei brani in casa o in ambienti più o meno grandi: uffici (se “music tolerant”), esercizi commerciali, pub, etc. !
Interessante progetto, si presta veramente a tante applicazioni e ulteriori sviluppi futuri.
Complimenti ancora Ernesto!
Grazie mille.
Anche la tua è una bella idea. “Mi piace”.
Si presta a molte soluzioni, si può pensare anche di creare una app Mobile, attraverso la quale si potrebbe gestire la scheda per la condivisione/gestione audio. Non sottovaluterei anche l’altro progetto con l’implementazione della Wi-Fi e bluetooth http://it.emcelettronica.com/raspberry-pi-desk-weather-station
Progetto molto interessante. Ho un RPI inutilizzato e credo che utilizzerò questi tuoi spunti come base per la mia idea.
Ottimo. Facci sapere, poi, cosa hai realizzato 😉
A metà maggio nascerà mia figlia ed ho pensato che potrei interfacciare un rilevatore di rumore al RPI e far partire una musica tipo ninna nanna o altri suoni mp3 a seconda delle necessità. Si potrebbe poi comandar il tutto tramite una pagina web direttamente da cellulare.
Dicono che il rumore bianco tranquillizzi i neonati… Ti saprò dire se quello che dicono è vero 😉
Vorrei fare questo progetto, ma ho a disposizione 2 LCD 16×2
Posso utilizzare uno o eventualmente entrambi al posto del LCD 20×4?
E come?
Grazie
Ciao LUIPEZ, non ti consiglio di collegare due LCD alle GPIO del RPi. Puoi comunque collegare il tuo LCD 16×2, se dispone del controller HITACHI HD44780, senza apportare modifiche al programma. Col risultato però di visualizzare solo le prime due righe (orario e funzioni) o in alternativo le ultime due (nomi brani e album) modificando il numero riga al comando “lcd.message()” con ‘\1’ e ‘\2’ al posto di ‘\3’ e ‘\4’.
Il mio LCD non so se monta il controller HITACHI HD44780,
Il mio LCD è visibile a questo link:
https://www.google.it/search?q=lcd1602A+v+2.0&biw=1344&bih=682&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwjLotq2mJDMAhVG1hQKHSWMA74QsAQITw&dpr=1.25#imgrc=FJBlcUWIQtJ3uM%3A
Può indicarmi Lei se è dotato del controller suddetto?
Grazie
Ciao, sembra di si. Prova e facci sapere.
Non c’è corrispondenza tra i pin del LDC20x4 e quelli del LCD16x2, o sbaglio?.
Come devo cambiare i collegamenti al LCD?
Perché non è possibile utilizzare entrambi gli LCD 16×02?
Grazie
In realtà ho detto che non lo consiglio; è una impresa ardua dato che non hai modo, senza utilizzare periferiche hardware aggiuntive, di smistare i dati da un LCD all’altro. Quei display hanno un pin CS.
Il mio lcd è settato come da questa guida e funziona:
https://learn.adafruit.com/drive-a-16×2-lcd-directly-with-a-raspberry-pi/overview
Sembra che ci siamo delle differenze di contatti o sbaglio.
Grazie
Il file “alsa-base.conf” nella directory/ect/modprobe.d non c’è, lo devo creare?
Il vostro collegamento dei pin dei tre pulsanti è il seguente:
Pulsante P1 -> pin 15 RP (GPIO 22)
Pulsante P2 -> pin 13 RP (GPIO 27)
Pulsante P3 -> pin 11 RP (GPIO 17)
Però i seguenti
pin 15 RP (GPIO 22)
pin 11 RP (GPIO 17)
sono occupati dalla connessione del mio lcd come da guida seguente:
https://learn.adafruit.com/drive-a-16×2-lcd-directly-with-a-raspberry-pi/overview
E’ possibile cambiarli con altri pin?
Spero in una positiva risposta.
Grazie
Ciao,
si è possibile, basta cambiare il numero della porta (GPIO) con quello desiderato.
Poiché sono alle prime armi mi potrebbe indicare quali pin usare ed eventualmente le modifiche da fare anche agli script?
Le sarei veramente grato.
Posso utilizzare qualunque altro pin?
Nello script cambia qualcosa?
Grazie
Sarebbe possibile far in modo da scaricare le playlist da una pendrive anziché averle sul Raspi ?
Se si, come?
Grazie
Sarebbe possibile, all’avvio, avere tramite i pulsanti la scelta se avviare il player MP3 o la internet radio.
Se si come vanno modificati gli script?