[Arduino] Progetto Radio FM per Linux Day 2019

giorgio boiero giorgio.boiero a gmail.com
Dom 4 Ago 2019 16:42:59 CEST


Ciao a Tutti
Di seguito ho raccolto un pò di informazioni utili sulle radio FM RDA5807M

La "radio Linux Day" ptrebbe avere queste caratteristiche:
- Arduino Nano o Mini Pro 3.3V
- Radio FM RDA5807M
- Connettore per interfaccia I2C per LCD
- Connettore antenna
- Connettore per pulsantiera o pulsantiere analogica
- Encoder
- Alimentatore 5V e 3.3V
- Alimentatore PAM 8403 3W
- etc.

La libreria Arduino più completa per la Radio FM RDA5807M è la seguente
http://www.mathertel.de/Arduino/RadioLibrary.aspx
http://www.mathertel.de/Arduino/RadioLibrary2.aspx
http://www.mathertel.de/Arduino/RadioLibrary3.aspx
http://www.mathertel.de/Arduino/RadioLibrary4.aspx
http://mathertel.github.io/Radio/
https://github.com/mathertel/Radio
http://mathertel.github.io/Radio/html/index.html
L'autore mi sembra disponibile a fare modifiche e miglioramenti (ha
corretto i bug che gli abbiamo segnalato)

Se volete provare la libreria di Mathertel iniziate con questo esempio:
https://github.com/mathertel/Radio/blob/master/examples/SerialRadio/SerialRadio.ino
Praticamente usa tutti i comandi fondamentali

Di seguito la spiegazione dei vari esempi proposti:
http://www.mathertel.de/Arduino/RadioLibrary2.aspx

Se volete approfondire i vari oggetti, classi, metodi, funzioni, etc. della
libreria:
http://mathertel.github.io/Radio/html/annotated.html

Un'altra libreria è questa, ma non è completa (non gestisci i messaggi RDS)
https://github.com/csdexter/RDA5807M


La frequenza va impostata come numero intero, es. RMC 10550.
E' possibile leggere vari parametri della radio tra questi RSS che se é
inferiore a 50 vuol dire che la ricezione non é buona


I messaggi RDS sono 4 blocchi da 16 bit che vengono trasmessi
periodicamente delle stazioni radio
Una volta che si sono letti i blocchi di dati RDS bisogna decodificarli per
leggere i nomi delle stazioni radio (parametro PS)
Di seguito vari articoli sulla spiegazione del contenuto dei bit:
http://www.associazionemarconi.com/rds/rdsita1_2.pdf
https://www.silabs.com/documents/public/application-notes/AN243.pdf


Il modulo FM Radio DA5807M funziona a 3.3V sul bus I2C leggendo il datasheet
http://www.i-biznes.com/datasheets/RDA/RDA5807-MOD.pdf
Date uno sguardo a questi schemi:
https://cdn.hackaday.io/images/1779991468873735285.png
http://cxem.net/arduino/images/arduino171-1.png
Se si usano più periferiche sul bus I2C serve un level shifter (LCD seriale
a 5V + RDA5807M a 3.3V)


Invece del display LCD si potrebbe usare un dispay OLED tipo SH1106/SSD1306
https://github.com/olikraus/u8g2/wiki
https://github.com/bitbank2/ss_oled
Ha il vantaggio di essere piccolo, molto luminoso e funziona anche a 3.3V


Si potrebbe collegare la matrice a led per far scorrere le informazioni che
provengono della radio (messaggi RDS, frequenza, segnale....)
https://www.amazon.it/AZDelivery-MAX7219-Matrix-visualizzazione-Arduino/dp/B079HVW652/


Come aggiungere della memoria Flash a Arduino (tipo quella degli ESP in
pratico) per salvare le impostazioni della radio
Permette circa 10^5 riscritture
Attenzione che molti di questi chip funzionano a 3.3V
http://www.technoblogy.com/show?2JMU
https://github.com/technoblogy/simple-dataflash
Altra libreria per usare le memorie Flash con Arduino
https://github.com/PaulStoffregen/SerialFlash

Un alternativa sono le memorie Ferromagnetiche tipo le FM24CLXX proposte da
Marco con garanzia di almeno 10^10 cicli di scrittura
https://learn.adafruit.com/adafruit-i2c-fram-breakout
https://en.wikipedia.org/wiki/Ferroelectric_RAM
https://www.aliexpress.com/item/700652455.html
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://liszt.softwareliberopinerolo.org/pipermail/arduino/attachments/20190804/ec950165/attachment.html>


Maggiori informazioni sulla lista Arduino