在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Arduino Uno開(kāi)發(fā)板和有源揚(yáng)聲器的FM收音機(jī)制作

電子設(shè)計(jì) ? 來(lái)源:一板網(wǎng) ? 作者:風(fēng)箏 ? 2021-01-13 16:30 ? 次閱讀

學(xué)習(xí)使用SparkFun FM Tuner和Arduino Uno開(kāi)發(fā)板制作一個(gè)簡(jiǎn)單的FM收音機(jī),以接收和顯示廣播信息

在之前的文章中,我們簡(jiǎn)單介紹了一下FM收音機(jī)的基礎(chǔ)知識(shí),以及從頭開(kāi)始制作簡(jiǎn)易FM收音機(jī)所需的零件。本篇文章將主要介紹如何制作一臺(tái)FM收音機(jī),該收音機(jī)能夠接收有關(guān)廣播的信息,并集成到您的項(xiàng)目中。

我們將使用Silicon Laboratories Si4703的SparkFun分線(xiàn)板,以及Arduino Uno開(kāi)發(fā)板和有源揚(yáng)聲器來(lái)制作一個(gè)簡(jiǎn)單的FM收音機(jī),可以尋找廣播電臺(tái)、調(diào)節(jié)音量、保存喜愛(ài)的電臺(tái),當(dāng)然還有播放音頻

Arduino Uno將通過(guò)串行通信與計(jì)算機(jī)連接,允許通過(guò)系統(tǒng)進(jìn)行控制,并向用戶(hù)反饋。此外,該系統(tǒng)將能夠接收和顯示嵌入在子載波頻率中的廣播公司的信息。

現(xiàn)在,我們來(lái)看看制作過(guò)程。

Si4703分線(xiàn)板焊接排針

SparkFun Si4703 FM調(diào)諧器分線(xiàn)板沒(méi)有焊接排針,這幾乎是每個(gè)SparkFun分線(xiàn)板的出貨方式。這使您可以靈活地將Si4703分線(xiàn)板與您需要的任何類(lèi)型的連接器結(jié)合到您的項(xiàng)目中。

您可以將導(dǎo)線(xiàn)直接焊接到分線(xiàn)板上的引腳,可以將分線(xiàn)板連接到另一個(gè)PCB,或者可以焊接公頭或母頭。在這個(gè)項(xiàng)目中,因?yàn)槲覍⒃诿姘迳辖M裝電路,所以焊接一個(gè)公頭。但是,如果您不使用面包板,則可能希望使用母頭排針。將排針焊接到電路板上就可以將其插入到面包板。

連接線(xiàn)纜

開(kāi)始搭建項(xiàng)目時(shí),我們將SparkFun Si4703分線(xiàn)板連接到Arduino Uno和揚(yáng)聲器。您可以直接將所有內(nèi)容連接在一起,如上一節(jié)所述,或者將電子元件組裝在面包板上。

下面的接線(xiàn)圖和表格顯示了使項(xiàng)目運(yùn)行所需的所有連接。在接線(xiàn)圖之后,提供了有關(guān)電子設(shè)計(jì)和不同連接的更多信息。

o4YBAF_-rsWAMP-OAAA27HqZqoM189.png

Si4703和Arduino Uno的接線(xiàn)表格

pIYBAF_-rtaAdIC4AAEaRuusNJk114.png

Arduino UNO和Si4703之間連接的電路圖。

電源

首先,我們將電源和地連接到SparkFun Si4703 FM Tuner Basic分線(xiàn)板。

**請(qǐng)注意,Si4703的工作電源是3.3V,而不是5V。

將Arduino 3.3V引腳連接到Si4703分線(xiàn)板的VCC引腳。然后,將Arduino其中一個(gè)GND引腳連接到Si4703的GND引腳。

parkFun Si4703 FM Tuner Basic分線(xiàn)板的電源和地連接。

數(shù)據(jù)連接

SparkFun FM Tuner Basic Breakout和Arduino Uno開(kāi)發(fā)板通過(guò)四條線(xiàn)進(jìn)行通信。 GPIO2連接允許Arduino Uno在不同的設(shè)備模式中進(jìn)行選擇,如搜索/調(diào)諧和RDS功能。

在本教程中,我們將使用雙線(xiàn)接口來(lái)控制Si4703。這兩根線(xiàn)是SDIO和SCLK引腳,分別連接到A4和A5。最后,RST引腳用于啟用和禁用Si4703。當(dāng)D2設(shè)置為L(zhǎng)OW時(shí),Si4703被禁用,當(dāng)它設(shè)置為HIGH時(shí),Si4703退出復(fù)位模式。

SparkFun FM Tuner Basic分線(xiàn)板和Arduino Uno的數(shù)據(jù)連接。

揚(yáng)聲器連接

最后兩個(gè)連接是Si4703分線(xiàn)板和有源揚(yáng)聲器之間的音頻連接。

本項(xiàng)目中,左右音頻通道連接的3.5mm連接器的哪一側(cè)無(wú)關(guān)緊要。只需將3.5毫米尾纖連接器插入FM調(diào)諧器分線(xiàn)板上的Lout和Rout引腳即可。

分線(xiàn)板和有源揚(yáng)聲器之間的音頻連接。

代碼

組裝完電子器件后,下一步是將代碼上傳到Arduino開(kāi)發(fā)板。共有兩個(gè)步驟:

1. 安裝Si4703庫(kù)

2. 將Si4703_test草圖上傳到Arduino Uno

安裝庫(kù)

為了更容易控制SparkFun FM Tuner Basic Breakout,以及項(xiàng)目代碼更簡(jiǎn)潔,我們將使用具有控制Si4703功能的庫(kù)。

首先下載Si4703庫(kù).zip文件夾并將其保存在計(jì)算機(jī)上的某個(gè)位置,以便稍后查找。然后,打開(kāi)Arduino IDE。在Arduino IDE中,從菜單中選擇Sketch> Include Library> Add .ZIP Library ....

o4YBAF_-rwGAaqv3AADBWf67Amg212.png

然后,導(dǎo)航到存儲(chǔ)Si4703庫(kù)的位置并選擇.zip文件。庫(kù)安裝成功后,窗口底部會(huì)顯示確認(rèn)信息。

o4YBAF_-rxCADbtaAAATfGwYEJY023.png

上傳代碼

現(xiàn)在Si4703庫(kù)已經(jīng)安裝到Arduino開(kāi)發(fā)環(huán)境中,我們可以使用運(yùn)行簡(jiǎn)單的FM收音機(jī)的代碼對(duì)Arduino Uno進(jìn)行編程。首先,下載草圖并在Arduino IDE中打開(kāi)它。

// Arduino Uno Basic FM Radio using SparkFun Si4703 Breakout

// Author:Scott Hatfield (aka Toglefritz)

/*

DESCRIPTION:

This sketch for the Arduino Uno controls a simple FM radio using an Si4703 radio

receiver. The sketch allows control of the system and feedback to the user over

serial. The system can seek radio stations, store three favorited radio stations,

adjust volume, and print RDS information.

PARTS:

* Arduino Uno R3: < https://www.sparkfun.com/products/11021 >

* SparkFun FM Tuner Basic Breakout:< https://www.sparkfun.com/products/11083 >

* Generic powered speaker

HARDWARE CONNECTIONS:

* Si4703 VCC --> 3.3V

* Si4703 GND --> GND

* Si4703 SDIO --> A4

* Si4703 SCLK --> A5

* Si4703 RST --> D2

* Si4703 GPIO2 --> D3

* Si4703 ROUT --> Speaker

* Si4703 LOUT --> Speaker

*/

#include // Load the SparkFun Si4703 library < https://cdn.sparkfun.com/assets/learn_tutorials/2/7/4/Si4703_Breakout.zip >

#include

int resetPin = 2; // The Si4703 breakout RST pin connects to the Arduino D2 pin

int SDIO = A4; // The Si4703 breakout SDIO pin connects to the Arduino A4 pin

int SCLK = A5; // The Si4703 breakout SCLK pin connects to the Arduino A5 pin

// Initialize the Si4703_Breakout object

Si4703_Breakout radio(resetPin, SDIO, SCLK);

int channel;

int volume = 5;

char rdsBuffer[10];

// Favorite stations

int favA = 1041; // Set your favorite stations by inputting their FM frequency (omitting the period)

int favB = 931;

int favC = 937;

void setup()

{

// The Arduino communicates with the computer via serial

Serial.begin(9600);

Serial.println("\n\nSi4703_Breakout Basic Radio");

Serial.println("\n\nControls:");

Serial.println("a, b, c Favourite stations"); // In the configuration above, you can set three favorite stations

Serial.println("+, - Volume (max 15)");

Serial.println("u, d Seek up / down");

Serial.println("r, Print RDS Data (15 sec timeout)");

Serial.println("\n\n");

radio.powerOn(); // Enable the Si4703

radio.setVolume(5); // Set the starting volume to 5 (out of 15)

}

void loop()

{

// Listen for serial commands

if (Serial.available())

{

char ch = Serial.read();

// u = seek up

if (ch == 'u')

{

channel = radio.seekUp();

displayInfo();

}

// d = seek down

else if (ch == 'd')

{

channel = radio.seekDown();

displayInfo();

}

// + = increase volume

else if (ch == '+')

{

volume ++;

if (volume == 16) volume = 15;

radio.setVolume(volume);

displayInfo();

}

// - = decrease volume

else if (ch == '-')

{

volume --;

if (volume < 0) volume = 0;

radio.setVolume(volume);

displayInfo();

}

// a = favorite station a

else if (ch == 'a')

{

channel = favA;

radio.setChannel(channel);

displayInfo();

}

// b = favorite station b

else if (ch == 'b')

{

channel = favB;

radio.setChannel(channel);

displayInfo();

}

// c = favorite station c

else if (ch == 'c')

{

channel = favC;

radio.setChannel(channel);

displayInfo();

}

// r = print RDS information

else if (ch == 'r')

{

Serial.println("RDS listening...");

radio.readRDS(rdsBuffer, 15000);

Serial.print("RDS info: ");

Serial.println(rdsBuffer);

}

}

}

// The displayInfo function prints the current channel and volume over serial

void displayInfo()

{

Serial.print("Channel:");

Serial.print(channel);

Serial.print(" Volume:");

Serial.println(volume);

}

代碼可以像任何其他草圖一樣通過(guò)USB上傳到Arduino Uno開(kāi)發(fā)板。

pIYBAF_-ryCAapBNAADpkr0VSMQ204.png

代碼將使用串行通信連接您的計(jì)算機(jī)。因此,在代碼成功上傳到Arduino Uno之后,我們需要打開(kāi)并設(shè)置串行監(jiān)視器。您將在Tools > Serial Monitor中找到串口監(jiān)視器工具。

pIYBAF_-ryyAQH32AAFRaRzI2TM387.png

打開(kāi)串口監(jiān)視器后,請(qǐng)確保使用窗口右下角的下拉列表將波特率設(shè)置為9600。當(dāng)草圖開(kāi)始運(yùn)行時(shí),您應(yīng)該看到來(lái)自Arduino的消息,其中包含控制無(wú)線(xiàn)電的說(shuō)明。

pIYBAF_-rzaAbsQ0AADgsjXJB3w293.png


控制收音機(jī)

Arduino Uno通過(guò)串口與計(jì)算機(jī)通信,以便接收命令并發(fā)送反饋。當(dāng)草圖首次開(kāi)始運(yùn)行時(shí),Arduino將使用用于控制系統(tǒng)的各種命令向串行監(jiān)視器打印指令。

連接可選天線(xiàn)

如果您發(fā)現(xiàn)系統(tǒng)很難接收無(wú)線(xiàn)電臺(tái),您可以通過(guò)將天線(xiàn)連接到分線(xiàn)板上的ANT引腳來(lái)提高Si4703的性能。 如果您希望收聽(tīng)的電臺(tái)在您所在地區(qū)有強(qiáng)烈信號(hào),則天線(xiàn)不是絕對(duì)必要的。 但是,天線(xiàn)對(duì)于拾取更遠(yuǎn)的信號(hào)非常有用。

天線(xiàn)由單根導(dǎo)線(xiàn)制成。 電線(xiàn)可以焊接到FM Tuner Basic Breakout上的ANT引腳上,也可以用鱷魚(yú)夾固定。 連接天線(xiàn)后,您應(yīng)該能夠更輕松地接收無(wú)線(xiàn)電信號(hào)。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • pcb
    pcb
    +關(guān)注

    關(guān)注

    4326

    文章

    23166

    瀏覽量

    400044
  • FM收音機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    27

    瀏覽量

    14620
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自己設(shè)計(jì)的Arduino UNO R3主控原理圖+PCB源文件(可直接打樣)

    一年前做的Arduino UNO r3,開(kāi)源精神,把自己這塊板子奉獻(xiàn)給大家,板子沒(méi)有什么問(wèn)題,可以直接打樣制作,原理圖文件都表明了型號(hào)。不用謝~ Arduino
    發(fā)表于 12-10 10:14

    基于Arduino的串口通信項(xiàng)目

    基于Arduino的串口通信項(xiàng)目涉及多個(gè)方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開(kāi)發(fā)板 :確保你有一塊Arduino
    的頭像 發(fā)表于 11-22 09:24 ?875次閱讀

    TPA751輸出接8ohm揚(yáng)聲器揚(yáng)聲器是否可以接地設(shè)計(jì)?

    TPA751輸出接8ohm揚(yáng)聲器揚(yáng)聲器是否可以接地設(shè)計(jì)。
    發(fā)表于 09-29 07:12

    想使用DRV2700EVM作為一個(gè)壓電揚(yáng)聲器驅(qū)動(dòng)裝置,怎么操作?

    如果我想使用DRV2700EVM作為一個(gè)壓電揚(yáng)聲器驅(qū)動(dòng)裝置,從開(kāi)發(fā)板的in輸入口輸入音頻信號(hào),從out端口輸入到壓電揚(yáng)聲器(需要30v以上的電壓),我應(yīng)該怎么配置開(kāi)發(fā)板,或者是怎么使
    發(fā)表于 09-27 06:16

    揚(yáng)聲器的材質(zhì)對(duì)音質(zhì)有什么影響

    揚(yáng)聲器的材質(zhì)對(duì)音質(zhì)有著顯著的影響,不同的材質(zhì)在物理特性、聲音特性以及耐用性等方面存在差異,從而直接影響揚(yáng)聲器的聲音表現(xiàn)。以下將從多個(gè)方面詳細(xì)探討揚(yáng)聲器材質(zhì)對(duì)音質(zhì)的影響。
    的頭像 發(fā)表于 08-08 18:20 ?4261次閱讀

    揚(yáng)聲器的發(fā)聲原理是什么

    揚(yáng)聲器的發(fā)聲原理是一個(gè)涉及電聲轉(zhuǎn)換的復(fù)雜過(guò)程,其核心在于將電信號(hào)轉(zhuǎn)化為聲波,從而被人耳所接收。
    的頭像 發(fā)表于 08-08 18:16 ?2687次閱讀

    多波段和全波段收音機(jī)有什么不同

    多個(gè)頻段的收音機(jī),通常包括AM(調(diào)幅)和FM(調(diào)頻)兩個(gè)頻段。 接收頻率范圍:多波段收音機(jī)的接收頻率范圍通常為535-1605kHz(AM)和87.5-108MHz(FM)。 接收信號(hào)
    的頭像 發(fā)表于 08-06 10:17 ?7982次閱讀

    收音機(jī)全波段的還是調(diào)頻的好

    。 信息豐富:全波段收音機(jī)可以提供更多的信息來(lái)源,包括新聞、音樂(lè)、體育、教育等各種類(lèi)型的節(jié)目。 可定制性高:用戶(hù)可以根據(jù)自己的喜好和需求,選擇不同的頻道和節(jié)目。 調(diào)頻收音機(jī): 調(diào)頻收音機(jī)主要接收調(diào)頻(
    的頭像 發(fā)表于 08-06 10:15 ?2146次閱讀

    全波段和調(diào)頻收音機(jī)怎么選擇

    和調(diào)頻等波段。全波段收音機(jī)可以接收來(lái)自世界各地的廣播信號(hào),包括新聞、音樂(lè)、體育賽事等。 調(diào)頻收音機(jī) 調(diào)頻收音機(jī)是一種專(zhuān)門(mén)接收調(diào)頻(FM)信號(hào)的收音機(jī)
    的頭像 發(fā)表于 08-06 10:09 ?4624次閱讀

    晶體管收音機(jī)和半導(dǎo)體收音機(jī)哪個(gè)好

    晶體管收音機(jī)和半導(dǎo)體收音機(jī)都是無(wú)線(xiàn)電接收的一種,它們的主要區(qū)別在于使用的電子元件。晶體管收音機(jī)使用真空管,而半導(dǎo)體收音機(jī)使用半導(dǎo)體二極管或
    的頭像 發(fā)表于 08-05 15:47 ?2263次閱讀

    動(dòng)圈式揚(yáng)聲器的原理是電磁感應(yīng)嗎

    動(dòng)圈式揚(yáng)聲器,又稱(chēng)為電動(dòng)式揚(yáng)聲器,是一種利用電磁感應(yīng)原理工作的揚(yáng)聲器。它具有結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定、頻響寬、失真小等優(yōu)點(diǎn),廣泛應(yīng)用于音響設(shè)備、耳機(jī)、車(chē)載音響等領(lǐng)域。本文將詳細(xì)介紹動(dòng)圈式揚(yáng)聲器
    的頭像 發(fā)表于 06-13 11:10 ?2990次閱讀

    揚(yáng)聲器與音響的區(qū)別

    在音頻設(shè)備領(lǐng)域,揚(yáng)聲器和音響是兩個(gè)常見(jiàn)且容易混淆的概念。盡管它們都與聲音的播放和傳播有關(guān),但在性質(zhì)、作用、結(jié)構(gòu)以及應(yīng)用場(chǎng)景等方面存在顯著的差異。本文將對(duì)揚(yáng)聲器和音響進(jìn)行詳細(xì)的比較和解析,旨在幫助讀者更清晰地理解它們之間的區(qū)別。
    的頭像 發(fā)表于 05-31 18:09 ?5539次閱讀

    蘋(píng)果公司申請(qǐng)一種新型MEMS揚(yáng)聲器或微型揚(yáng)聲器設(shè)計(jì)

    據(jù)麥姆斯咨詢(xún)報(bào)道,美國(guó)專(zhuān)利商標(biāo)局近日公布了一項(xiàng)蘋(píng)果公司的新專(zhuān)利申請(qǐng),該發(fā)明申請(qǐng)?zhí)岢隽艘环N新型MEMS揚(yáng)聲器或微型揚(yáng)聲器設(shè)計(jì),蘋(píng)果公司指出這種微型揚(yáng)聲器適用于各種智能電子設(shè)備。
    的頭像 發(fā)表于 05-06 09:15 ?994次閱讀
    蘋(píng)果公司申請(qǐng)一種新型MEMS<b class='flag-5'>揚(yáng)聲器</b>或微型<b class='flag-5'>揚(yáng)聲器</b>設(shè)計(jì)

    藍(lán)牙揚(yáng)聲器中應(yīng)用的模擬功放芯片

    揚(yáng)聲器是一種把電信號(hào)轉(zhuǎn)變?yōu)槁曅盘?hào)的換能器件,揚(yáng)聲器的性能優(yōu)劣對(duì)音質(zhì)的影響很大。揚(yáng)聲器在音響設(shè)備中是一個(gè)較薄弱的器件,而對(duì)于音響效果而言,它又是一個(gè)較重要的部件。
    的頭像 發(fā)表于 03-07 09:24 ?892次閱讀
    藍(lán)牙<b class='flag-5'>揚(yáng)聲器</b>中應(yīng)用的模擬功放芯片

    如何使用Arduino UNO和電位控制伺服電機(jī)

    在本Arduino伺服電機(jī)教程中,您將學(xué)習(xí)如何使用Arduino UNO和電位控制伺服電機(jī)。
    的頭像 發(fā)表于 02-11 10:11 ?2993次閱讀
    如何使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b><b class='flag-5'>板</b>和電位<b class='flag-5'>器</b>控制伺服電機(jī)
    主站蜘蛛池模板: 99r8这里精品热视频免费看 | 国产精品一区电影 | bt在线搜索 | 免费能直接在线观看黄的视频 | 男人j进女人j免费视频视频 | 五月天毛片| 男人j进女人j免费视频视频 | 久久思re热9一区二区三区 | 日本一本视频 | 国产单男 | 35pao强力打造 | 国产裸体美女视频全黄 | 性欧美视频在线观看 | 欧美日韩视频综合一区无弹窗 | 嫩草影院久久国产精品 | 美女国产视频 | 97福利| 男人的j桶女人的j视频 | 天堂bt资源新版在线 | 成人免费黄色网 | 在线观看二区三区午夜 | 天天射天天草 | 久久亚洲精品成人综合 | 无毒不卡 | 日本一区二区高清免费不卡 | 欧美日韩亚洲国产一区二区综合 | 亚洲午夜网未来影院 | 中国胖女人一级毛片aaaaa | 美女被啪到哭网站在线观看 | 欧美三级午夜伦理片 | 国内精品一级毛片免费看 | 色版视频 | 视色4setv.com | 五月婷婷一区二区 | 511韩国理论片在线观看 | bt种子搜索-bt天堂 | 日本a级片视频 | 伊人久久大线蕉香港三级 | 欧美成人午夜视频 | 日本乱理论片免费看 | 丁香婷婷视频 |