Thursday, July 21, 2016

FM radio with RDA5807


   A FM radio with RDS info and digital volume can be made with RDA5807 module, who is similar as TEA5767 (pcb board & pins).
   For easy connexion, I made a adapter board from 2mm distance pins to 2.54mm:
   I found a russian article with fm radio who use RDA5807 chisp at http://full-chip.net/arduino-proekty/97-cifrovoy-fm-priemnik-na-arduino-i-module-rda5807-s-graficheskim-displeem-i-funkciey-rds.html
 
with this schematic:
   In this article is a movie named RDA5807 ФМ приемник на ARDUINO

  In russian sketch I found some words in spanish language and after few search I see article Arduino Radio RDA5807 con RDS LCD Nokia 3310
   I made some changes in sketch for optimal display of frequence value (my sketch is put on my Github channel - RDA5807_fmradio_3buttons_ver0.ino) for use with my configuration:
  I made few test without audio amplifier:
after that, I put PC speaker at radio module, see RDA5807 FM radio with RDS info on Nokia 5110 display using Arduino (3) movie:
   In I push MENU button, the cases are:
- AUTOMATIC SHEARCH:
- INFO:
- MANUAL SEARCH:
- VOLUME (16 steps, from 0 to 15):
   I made some changes in sketch and now frequency and step volume are stored in EEPROM memory, see RDA5807_fmradio_3buttons_ver1.ino, see results in next movie: RDA5807 FM radio with RDS info on Nokia 5110 display using Arduino (4)

Friday, July 8, 2016

MCP4261 as logarithmic potentiometer

   In previous article, I tested my MCP4261-502E/P dual digital potentiometer, now I show you how can use this dual potentiometer for audio (volume control), for that must change liniar characteristic to logarithmic characteristic (or like this).
   So, I use info from article Controlling Volume - log pots publish on TEXAS INSTRUMENS's site.
   
   For simple sketch and for not use more resource, I use log aproxximation, so I calculate the equations for each straights:
- for first, from 0 to 63%: y = x/5 (I know x=0 -> y=0 & x=50 -> y=10)
- for second, from 63 to 100%: y = 7/3 * x - 400/3 (I know x=70 y=30 & x=100 -> y=100)
  I use same schematic like in previous article:
and I write a sketch for test more cases, this sketch is MCP4261_lin_to_log_1.ino .
  I made 2 movies:

  For digital potentiometer with 16 steps + mute, I have next cases:
   Centralizing, we see some errors but for me there are acceptable:
and I cat continue experiments for implements this digital potentiometer in future audio project..

MCP4261 dual digital potentiometer

   I have an MCP4261-503E/P dual digital potentiometer hwo can control via SPI interface in 256 steps (0 to 255 - 8 bits).
   I use info find in article Arduino - Using digital potentiometers part 2 (MCP4251) from Matthew McMillan's blog.
   My digital potentiometer is in THT/PDIP capsule:
   After info from Mattew's sketch I made my test schematic:
and after made some changes, I upload MCP4261_mega_lcd1602_i2c_test.ino sketch.
   For tests, I have some particular cases:
- both on minimum 
- first potentiomer at minimum and second at maximum:
- first potentimeter at maximum and second at minumum value:
- both at maximum:
and after that I put to change steps from 0 to 255 to see the difference between potentiometers:
   I put on net 2 movies:

FM radio with TEA5767 and Arduino

   A 3 years ago I tested a radio with TEA5767 module controlled by Arduino and use 1602 alphanumerical display (see article named Radio FM cu TEA5767 si... Arduino)
or Nokia 5110 display (see article Radio FM cu TEA5767 si... Arduino (II)
  Now, I use a 1602 alphanumerical display with i2c interface and Arduino Leonardo board:
   Schematic is very simple:
   Using TEA5767_eeprom_i2c_lcd1602_1m1a.ino sketch I can search forward or backward and after I decided what radiostation I listen, frequency value is sotred in internal EEPROM memory of microcontroller from Arduino board.
   In TEA5767 FM radio and Arduino movie you cand see all feature of this radio with Arduino...