<div dir="ltr"><div>Ciao a Tutti</div><div>Di seguito ho raccolto un pò di informazioni utili sulle radio FM RDA5807M</div><div><br></div><div>La "radio Linux Day" ptrebbe avere queste caratteristiche:<br>- Arduino Nano o Mini Pro 3.3V<br>- Radio FM RDA5807M<br>- Connettore per interfaccia I2C per LCD<br>- Connettore antenna<br>- Connettore per pulsantiera o pulsantiere analogica<br>- Encoder<br>- Alimentatore 5V e 3.3V<br>- Alimentatore PAM 8403 3W<br>- etc.<br><br>La libreria Arduino più completa per la Radio FM RDA5807M è la seguente<br><a href="http://www.mathertel.de/Arduino/RadioLibrary.aspx">http://www.mathertel.de/Arduino/RadioLibrary.aspx</a><br><a href="http://www.mathertel.de/Arduino/RadioLibrary2.aspx">http://www.mathertel.de/Arduino/RadioLibrary2.aspx</a><br><a href="http://www.mathertel.de/Arduino/RadioLibrary3.aspx">http://www.mathertel.de/Arduino/RadioLibrary3.aspx</a><br><a href="http://www.mathertel.de/Arduino/RadioLibrary4.aspx">http://www.mathertel.de/Arduino/RadioLibrary4.aspx</a><br><a href="http://mathertel.github.io/Radio/">http://mathertel.github.io/Radio/</a><br><a href="https://github.com/mathertel/Radio">https://github.com/mathertel/Radio</a><br><a href="http://mathertel.github.io/Radio/html/index.html">http://mathertel.github.io/Radio/html/index.html</a><br>L'autore mi sembra disponibile a fare modifiche e miglioramenti (ha corretto i bug che gli abbiamo segnalato)<br><br>Se volete provare la libreria di Mathertel iniziate con questo esempio:<br><a href="https://github.com/mathertel/Radio/blob/master/examples/SerialRadio/SerialRadio.ino">https://github.com/mathertel/Radio/blob/master/examples/SerialRadio/SerialRadio.ino</a><br>Praticamente usa tutti i comandi fondamentali<br></div><div><br></div><div>Di seguito la spiegazione dei vari esempi proposti:<br><a href="http://www.mathertel.de/Arduino/RadioLibrary2.aspx">http://www.mathertel.de/Arduino/RadioLibrary2.aspx</a><br><br>Se volete approfondire i vari oggetti, classi, metodi, funzioni, etc. della libreria:<br><a href="http://mathertel.github.io/Radio/html/annotated.html">http://mathertel.github.io/Radio/html/annotated.html</a><br><br>Un'altra libreria è questa, ma non è completa (non gestisci i messaggi RDS)<br><a href="https://github.com/csdexter/RDA5807M">https://github.com/csdexter/RDA5807M</a><br></div><div><br></div><div><br>La frequenza va impostata come numero intero, es. RMC 10550.<br>E' possibile leggere vari parametri della radio tra questi RSS che se é inferiore a 50 vuol dire che la ricezione non é buona<br></div><div><br></div><div><br>I messaggi RDS sono 4 blocchi da 16 bit che vengono trasmessi periodicamente delle stazioni radio<br>Una volta che si sono letti i blocchi di dati RDS bisogna decodificarli per leggere i nomi delle stazioni radio (parametro PS)<br>Di seguito vari articoli sulla spiegazione del contenuto dei bit:<br><a href="http://www.associazionemarconi.com/rds/rdsita1_2.pdf">http://www.associazionemarconi.com/rds/rdsita1_2.pdf</a><br><a href="https://www.silabs.com/documents/public/application-notes/AN243.pdf">https://www.silabs.com/documents/public/application-notes/AN243.pdf</a><br><br> <br>Il modulo FM Radio DA5807M funziona a 3.3V sul bus I2C leggendo il datasheet<br><a href="http://www.i-biznes.com/datasheets/RDA/RDA5807-MOD.pdf">http://www.i-biznes.com/datasheets/RDA/RDA5807-MOD.pdf</a><br>Date uno sguardo a questi schemi:<br><a href="https://cdn.hackaday.io/images/1779991468873735285.png">https://cdn.hackaday.io/images/1779991468873735285.png</a><br><a href="http://cxem.net/arduino/images/arduino171-1.png">http://cxem.net/arduino/images/arduino171-1.png</a><br>Se si usano più periferiche sul bus I2C serve un level shifter (LCD seriale a 5V + RDA5807M a 3.3V)<br></div><div><br></div><div><br></div><div>Invece del display LCD si potrebbe usare un dispay OLED tipo SH1106/SSD1306<br><a href="https://github.com/olikraus/u8g2/wiki">https://github.com/olikraus/u8g2/wiki</a><br><a href="https://github.com/bitbank2/ss_oled">https://github.com/bitbank2/ss_oled</a><br>Ha il vantaggio di essere piccolo, molto luminoso e funziona anche a 3.3V</div><div><br></div><div><br>Si potrebbe collegare la matrice a led per far scorrere le informazioni che provengono della radio (messaggi RDS, frequenza, segnale....)<br><a href="https://www.amazon.it/AZDelivery-MAX7219-Matrix-visualizzazione-Arduino/dp/B079HVW652/">https://www.amazon.it/AZDelivery-MAX7219-Matrix-visualizzazione-Arduino/dp/B079HVW652/</a><br></div><div><br></div><div><br>Come aggiungere della memoria Flash a Arduino (tipo quella degli ESP in pratico) per salvare le impostazioni della radio<br>Permette circa 10^5 riscritture<br>Attenzione che molti di questi chip funzionano a 3.3V<br><a href="http://www.technoblogy.com/show?2JMU">http://www.technoblogy.com/show?2JMU</a><br><a href="https://github.com/technoblogy/simple-dataflash">https://github.com/technoblogy/simple-dataflash</a><br>Altra libreria per usare le memorie Flash con Arduino<br><a href="https://github.com/PaulStoffregen/SerialFlash">https://github.com/PaulStoffregen/SerialFlash</a><br><br>Un alternativa sono le memorie Ferromagnetiche tipo le FM24CLXX proposte da Marco con garanzia di almeno 10^10 cicli di scrittura<br><a href="https://learn.adafruit.com/adafruit-i2c-fram-breakout">https://learn.adafruit.com/adafruit-i2c-fram-breakout</a><br><a href="https://en.wikipedia.org/wiki/Ferroelectric_RAM">https://en.wikipedia.org/wiki/Ferroelectric_RAM</a><br><a href="https://www.aliexpress.com/item/700652455.html">https://www.aliexpress.com/item/700652455.html</a><br></div></div>