當(dāng)你想用一種比較懷舊的方式來(lái)制作時(shí),你會(huì)選擇做什么?當(dāng)然是收音機(jī)!本文展示的項(xiàng)目將采用非常便宜的無(wú)線電模塊來(lái)制作一臺(tái)緊湊的Arduino調(diào)頻收音機(jī),不要認(rèn)為便宜無(wú)好貨,在電子的世界里一切皆有可能。
硬件概述
RDA5807M(RDA微電子公司的芯片)調(diào)頻廣播模塊,這是非常便宜的單芯片廣播調(diào)頻立體聲收音機(jī)模塊,價(jià)格約2-5元。RDA5807M
它具有高靈敏度、低功耗、超小體積、電路外圍元件少、噪聲系數(shù)極小等優(yōu)點(diǎn),集成了RDS/RBDS 和 MPX 解碼功能,頻率范圍:50MHz~115MHz ,RDA5807M是一款簡(jiǎn)單易用且具極高性價(jià)比的單芯片F(xiàn)M立體聲收音模組。
RDA5807M收音機(jī)模塊工作電壓為2.7-3.6VDC,可以直接驅(qū)動(dòng)32歐姆的耳機(jī)。同時(shí),它還可以使用I2C總線進(jìn)行控制,可以解碼立體聲信號(hào)和無(wú)線電數(shù)據(jù)系統(tǒng)(RDS)。要制作一個(gè)可控的調(diào)頻收音機(jī),可以用Arduino來(lái)對(duì)模塊提供電壓和控制信號(hào),3.3V電壓可以從Arduino控制板上直接獲取,I2C總線可直接連接SDA和SCL使用,不需要額外電平轉(zhuǎn)換。下面是基本的硬件連接圖:
Arduino(這里采用Uno R3)的A4連RDA5807M的SDA,A5連RDA5807M的sck/scl引腳實(shí)現(xiàn)I2C控制,Arduino3.3 V直接給收音機(jī)模塊供電。由于RDA5807M模塊本身已經(jīng)帶有電阻,所以這里不需要為I2C設(shè)置上拉電阻,如果想要連接天線,可以在RDA5807M的5腳ANT上焊接一根約95厘米長(zhǎng)的銅線,效果不錯(cuò)。耳機(jī)插口可以直接連接一個(gè)32歐姆的耳機(jī),沒(méi)有音頻放大功能,當(dāng)然我們可以通過(guò)在模塊和耳機(jī)插口之間添加一個(gè)合適的音頻耦合電容和可變電位器,這樣可以實(shí)現(xiàn)濾波和音量調(diào)節(jié)功能。
初步測(cè)試
從Arduino這樣的微控制器向收音機(jī)模塊發(fā)送指令需要Matthias Hertel編寫的庫(kù)文件,這個(gè)庫(kù)文件除了支持RDA5807M之外,還支持其他的廣播模塊,如TEA5767、SI4703和SI4705。庫(kù)文件下載地址: https://github.com/mathertel/Radio/archive/master.zip.
下面是測(cè)試程序,這個(gè)程序代碼包含了如何選擇接收頻率(setBandFrequency),設(shè)置音量(setVolume)等等功能,將代碼上傳到Arduino之前,一定記得修改頻率,否則什么也收不到,頻率可以是你當(dāng)?shù)氐哪骋籉M頻率。
/*
- Arduino FM Radio with RDA5807M - Sketch for Initial Tryout - Based on a Library created by Matthias Hertel */ #include; #include ; #include ; #include ; #define FIX_BAND RADIO_BAND_FM //無(wú)線電波段 - FM #define FIX_STATION 10190 //頻率設(shè)置 - 101.9 MHz #define FIX_VOLUME 4 //音量 - 4 RDA5807M radio; void setup() { // 打開(kāi)串口 Serial.begin(57600); Serial.println(“My FM Radio”); delay(200); radio.init(); radio.debugEnable(); radio.setBandFrequency(FIX_BAND, FIX_STATION); radio.setVolume(FIX_VOLUME); radio.setMono(false); radio.setMute(false); } void loop() { char s[12]; radio.formatFrequency(s, sizeof(s)); Serial.print(“Station:”); Serial.println(s); Serial.print(“Radio:”); radio.debugRadioInfo(); Serial.print(“Audio:”); radio.debugAudioInfo(); delay(3000); }
音量放大
為了實(shí)現(xiàn)音量放大,我們需要一個(gè)緊湊的音頻功率放大器來(lái)集成到收音機(jī)里,這里推薦PAM8403立體聲音頻放大器模塊,小而強(qiáng)大。PAM8403模塊
因?yàn)镻AM8403模塊已經(jīng)在左右聲道輸入電路中配置了必需的濾波電容器和可調(diào)電位器,我們直接將耳機(jī)輸出(AFL和AFR)連接到PAM8403音頻模塊的線路輸入即可。
這樣一個(gè)原始的Arduino調(diào)頻收音機(jī)就完成了,我們可以根據(jù)需要增加頻率顯示、按鍵控制等功能,這里暫不贅述。
-
收音機(jī)
+關(guān)注
關(guān)注
58文章
589瀏覽量
75648 -
無(wú)線電
+關(guān)注
關(guān)注
59文章
2130瀏覽量
116207 -
Arduino
+關(guān)注
關(guān)注
187文章
6457瀏覽量
186501
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論