16/05/2018, 11:19
(Questo messaggio è stato modificato l'ultima volta il: 16/05/2018, 14:20 da Zzed.)
Buongiorno al forum
Mi sto costruendo un network streamer Hi-Fi utilizzando un Raspy PI3 e un DAC HifiBerry PRO +. Il DAC è modello HAT, quindi semplicemente pluggandolo sul Raspy il sistema funziona. Ho installato MoodeAudio come software (fatto anche esperienze con Volumio ma alla fine lo preferisco) e tutto funziona ha meraviglia, connesso al mio amplificatore stereo e pescando i contenuti da Tidal e dalla mia libreria FLAC che risiede sul mio NAS casalingo (per chi non lo conoscesse Tidal è un servizio di musica in streaming a pagamento, simile a Spotify, ma fornendo audio lossless, quindi in qualità CD e oltre).
per rendere il tutto più "professionale" (ma soprattutto per puro divertimento), ho deciso di inscatolare le due boards in un case autocostruito in MDF, aggiungendo un pulsante con led per l'accensione e lo spegnimento, ed un display per visualizzare titolo canzone, album, autore e altre info.
Fatto già delle prove con un display LCD 16x2 azzurro , connesso con interfaccia I2C, e funziona molto bene. Usando un set di scripts Python (comodamente trovabili sul web), riesco a visualizzare sul display le info volute.
Ovviamente per accedere ai pins del Raspy, sul quale è piantato il DAC, ho dovuto saldare un connettore 20x2 sul DAC per "portare su" i pins.
Per motivi estetici per i quali non sto a dilungarmi, volevo però passare ad un display OLED, con sfondo nero e caratteri di testo bianchi, avente la stessa dimensione del LCD (il foro nel case non cambia ovviamente...), ma garantendo maggiore luminosità del testo e meno disturbo (lo sfondo azzurro dell'LCD "spara" veramente tanto).
Ho aquistato quindi un OLED a caratteri, sempre 80x36 come ingombro e ho provato a connetterlo.
Il display è arrivato "nudo", quindi ho saldato una strip maschio a 16 pins sullo stesso e ho provato a collegare il display.
Ovviamente per testarlo gli scripts sono diversi, il driver python per il display prevede di settare in un certo modo alcuni GPIO. Provato e testato.... gli scripts "girano", non danno errori (ho messo qua e là qualche print ("message") per stampare le info recuperate dal MPD e sono corrette), ma il display rimane desolatamente nero. Al contrario dell'LCD , che appena alimentato si accende, l'OLED avendo background nero anche da acceso non da segni di vita.
Ho provato a cambiare i GPIO, ovviamente cambiando la loro assegnazione nel codice di inizializzazione del display.
Ho verificato anche che i GPIO usati non fossero in conflitto con quelli utilizzati dal DAC, e anche lì tutto a posto...
Qualche idea?
Ho pensato che potrebbe esserci qualche saldatura sul display non perfetta. In effetti su qualche pin, lo stagno non copre interamente l'anellino intorno al foro, ma solo in parte minima, comunque garantendo un contatto fra pin e anellino....
Idem lo stesso problema potrebbe esserci per il connettore 20x2 saldato sul DAC...
Ho due ulteriori domande:
1 )C'e qualche script, tools, utlity per testare anzitutto se i GPIO, ma più in generale i 40 pins sono tutti funzionanti ( per una una saldatura fatta male ad esempio)?
2) I GPIO sono tutti equivalenti? Mi spiego: nel codice Python del driver per il display, vengono assegnati 6 pins in questo modo:
OLED_DB4 = 25
OLED_DB5 = 24
OLED_DB6 = 23
OLED_DB7 = 22
OLED_RS =7
OLED_E =8
Mancano dalla lista i due pin per l'alimentazione VCC 5V e GND, e il pin 5 (R/W) che va messo anche lui a GND per evitare che il display mandi indietro dati al Raspy col rischio di bruciarlo).
Se scoprissi che ad esempio il GPIO 22 (connesso al pin 14 del Display che deve portare il DB7) on funziona, potrei assegnare un altro GPIO in modo del tutto equivalente? Ovviamente un GPIO non usato dal DAC altrimenti andrei in conflitto.
Scrivendo quindi qualcosa tipo OLED_DB7 = 12
Oppure , per come è fatto il display, il DB7 DEVE assolutamente essere collegato al GPIO22?
grazie e scusate per la lungaggine!
Andrea
Mi sto costruendo un network streamer Hi-Fi utilizzando un Raspy PI3 e un DAC HifiBerry PRO +. Il DAC è modello HAT, quindi semplicemente pluggandolo sul Raspy il sistema funziona. Ho installato MoodeAudio come software (fatto anche esperienze con Volumio ma alla fine lo preferisco) e tutto funziona ha meraviglia, connesso al mio amplificatore stereo e pescando i contenuti da Tidal e dalla mia libreria FLAC che risiede sul mio NAS casalingo (per chi non lo conoscesse Tidal è un servizio di musica in streaming a pagamento, simile a Spotify, ma fornendo audio lossless, quindi in qualità CD e oltre).
per rendere il tutto più "professionale" (ma soprattutto per puro divertimento), ho deciso di inscatolare le due boards in un case autocostruito in MDF, aggiungendo un pulsante con led per l'accensione e lo spegnimento, ed un display per visualizzare titolo canzone, album, autore e altre info.
Fatto già delle prove con un display LCD 16x2 azzurro , connesso con interfaccia I2C, e funziona molto bene. Usando un set di scripts Python (comodamente trovabili sul web), riesco a visualizzare sul display le info volute.
Ovviamente per accedere ai pins del Raspy, sul quale è piantato il DAC, ho dovuto saldare un connettore 20x2 sul DAC per "portare su" i pins.
Per motivi estetici per i quali non sto a dilungarmi, volevo però passare ad un display OLED, con sfondo nero e caratteri di testo bianchi, avente la stessa dimensione del LCD (il foro nel case non cambia ovviamente...), ma garantendo maggiore luminosità del testo e meno disturbo (lo sfondo azzurro dell'LCD "spara" veramente tanto).
Ho aquistato quindi un OLED a caratteri, sempre 80x36 come ingombro e ho provato a connetterlo.
Il display è arrivato "nudo", quindi ho saldato una strip maschio a 16 pins sullo stesso e ho provato a collegare il display.
Ovviamente per testarlo gli scripts sono diversi, il driver python per il display prevede di settare in un certo modo alcuni GPIO. Provato e testato.... gli scripts "girano", non danno errori (ho messo qua e là qualche print ("message") per stampare le info recuperate dal MPD e sono corrette), ma il display rimane desolatamente nero. Al contrario dell'LCD , che appena alimentato si accende, l'OLED avendo background nero anche da acceso non da segni di vita.
Ho provato a cambiare i GPIO, ovviamente cambiando la loro assegnazione nel codice di inizializzazione del display.
Ho verificato anche che i GPIO usati non fossero in conflitto con quelli utilizzati dal DAC, e anche lì tutto a posto...
Qualche idea?
Ho pensato che potrebbe esserci qualche saldatura sul display non perfetta. In effetti su qualche pin, lo stagno non copre interamente l'anellino intorno al foro, ma solo in parte minima, comunque garantendo un contatto fra pin e anellino....
Idem lo stesso problema potrebbe esserci per il connettore 20x2 saldato sul DAC...
Ho due ulteriori domande:
1 )C'e qualche script, tools, utlity per testare anzitutto se i GPIO, ma più in generale i 40 pins sono tutti funzionanti ( per una una saldatura fatta male ad esempio)?
2) I GPIO sono tutti equivalenti? Mi spiego: nel codice Python del driver per il display, vengono assegnati 6 pins in questo modo:
OLED_DB4 = 25
OLED_DB5 = 24
OLED_DB6 = 23
OLED_DB7 = 22
OLED_RS =7
OLED_E =8
Mancano dalla lista i due pin per l'alimentazione VCC 5V e GND, e il pin 5 (R/W) che va messo anche lui a GND per evitare che il display mandi indietro dati al Raspy col rischio di bruciarlo).
Se scoprissi che ad esempio il GPIO 22 (connesso al pin 14 del Display che deve portare il DB7) on funziona, potrei assegnare un altro GPIO in modo del tutto equivalente? Ovviamente un GPIO non usato dal DAC altrimenti andrei in conflitto.
Scrivendo quindi qualcosa tipo OLED_DB7 = 12
Oppure , per come è fatto il display, il DB7 DEVE assolutamente essere collegato al GPIO22?
grazie e scusate per la lungaggine!
Andrea