日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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分線板,以及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)行控制,并向用戶反饋。此外,該系統(tǒng)將能夠接收和顯示嵌入在子載波頻率中的廣播公司的信息。

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

Si4703分線板焊接排針

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

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

連接線纜

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

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

o4YBAF_-rsWAMP-OAAA27HqZqoM189.png

Si4703和Arduino Uno的接線表格

pIYBAF_-rtaAdIC4AAEaRuusNJk114.png

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

電源

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

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

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

parkFun Si4703 FM Tuner Basic分線板的電源和地連接。

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

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

在本教程中,我們將使用雙線接口來(lái)控制Si4703。這兩根線是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分線板和Arduino Uno的數(shù)據(jù)連接。

揚(yáng)聲器連接

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

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

分線板和有源揚(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ú)線電的說(shuō)明。

pIYBAF_-rzaAbsQ0AADgsjXJB3w293.png


控制收音機(jī)

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

連接可選天線

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    4418

    文章

    23992

    瀏覽量

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

    關(guān)注

    2

    文章

    27

    瀏覽量

    15065
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FM 電調(diào)諧收音機(jī)電路 D7088數(shù)據(jù)手冊(cè)

    FM 收音機(jī)。該電路采用 16 腳雙列扁平封裝。主要特點(diǎn):D7088 電路設(shè)有搜索調(diào)諧電路、信號(hào)檢測(cè)電路、靜噪電路以及頻率鎖定環(huán)(FLL)電路。z D7088 電路的中頻頻率為 70kHz,外圍電路不用中頻變壓,其中頻選擇
    發(fā)表于 04-02 15:39 ?0次下載

    Arduino UNO Q開(kāi)發(fā)板部署OpenClaw開(kāi)源AI智能體

    近期 OpenClaw 邊緣 AI 火遍開(kāi)發(fā)者社區(qū),百元開(kāi)發(fā)板跑 AI 智能體的演示讓無(wú)數(shù)技術(shù)愛(ài)好者沸騰!想低成本上手這款開(kāi)源 AI 智能體,實(shí)現(xiàn)本地語(yǔ)音控制、環(huán)境感知等實(shí)操功能,卻苦于找不到適配性強(qiáng)、易部署、性價(jià)比高的開(kāi)發(fā)板?
    的頭像 發(fā)表于 03-09 10:03 ?1530次閱讀
    在<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b> Q<b class='flag-5'>開(kāi)發(fā)板</b>部署OpenClaw開(kāi)源AI智能體

    AP應(yīng)用文檔:提升揚(yáng)聲器異音檢測(cè)標(biāo)準(zhǔn)(一)

    “異音”(Rub&Buzz)是一個(gè)模糊定義的術(shù)語(yǔ),廣泛用于指代揚(yáng)聲器產(chǎn)生的一類惱人失真,特別是指由制造缺陷產(chǎn)生的失真。異音可由揚(yáng)聲器驅(qū)動(dòng)裝置本身缺陷造成,也可由組裝至成品(揚(yáng)聲器箱、智能音箱
    的頭像 發(fā)表于 01-12 09:06 ?790次閱讀
    AP應(yīng)用文檔:提升<b class='flag-5'>揚(yáng)聲器</b>異音檢測(cè)標(biāo)準(zhǔn)(一)

    MCU 開(kāi)發(fā)板大比拼:STM32、ESP32、Arduino、樹莓派誰(shuí)更強(qiáng)?

    嵌入式開(kāi)發(fā)板琳瑯滿目,STM32、ESP32、Arduino、RaspberryPi各有特色。新手容易糾結(jié):到底哪塊適合我的項(xiàng)目?本文整理了一份開(kāi)發(fā)板對(duì)比速查表,幫你快速理清思路。一
    的頭像 發(fā)表于 01-09 19:03 ?1481次閱讀
    MCU <b class='flag-5'>開(kāi)發(fā)板</b>大比拼:STM32、ESP32、<b class='flag-5'>Arduino</b>、樹莓派誰(shuí)更強(qiáng)?

    UNO Q:開(kāi)啟Arduino的全新未來(lái)

    計(jì)算與實(shí)時(shí)響應(yīng)能力。這種處理能力的結(jié)合彌合了數(shù)字世界與物理世界的鴻溝,借助強(qiáng)大的開(kāi)發(fā)工具套件,將用戶的創(chuàng)意變?yōu)楝F(xiàn)實(shí)。 [UNO Q]將Arduino推動(dòng)技術(shù)普及的理念與Qualcomm的微處理
    的頭像 發(fā)表于 12-15 11:46 ?1256次閱讀

    STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    ARDUINO^?^ Uno V3連接和ST morpho接頭,可輕松擴(kuò)展STM32 Nucleo開(kāi)放式開(kāi)發(fā)平臺(tái)的功能。該設(shè)有板載ST-LINK調(diào)試
    的頭像 發(fā)表于 10-22 14:26 ?1299次閱讀
    STM32 Nucleo-64<b class='flag-5'>開(kāi)發(fā)板</b>技術(shù)解析與應(yīng)用指南

    STM32WB07CC開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics NUCLEO-WB07CC STM32 Nucleo-64射頻開(kāi)發(fā)板采用基于Arm? Cortex?M0+內(nèi)核的STM32WB07CC微控制
    的頭像 發(fā)表于 10-17 17:11 ?1630次閱讀
    STM32WB07CC<b class='flag-5'>開(kāi)發(fā)板</b>技術(shù)解析與應(yīng)用指南

    ?STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64開(kāi)發(fā)板通過(guò)由STM32微控制為概念測(cè)試和原型創(chuàng)建提供了一種經(jīng)濟(jì)實(shí)惠且靈活的途徑。該開(kāi)發(fā)板支持ARDUINO
    的頭像 發(fā)表于 10-16 10:50 ?1061次閱讀
    ?STM32 Nucleo-64<b class='flag-5'>開(kāi)發(fā)板</b>技術(shù)解析與應(yīng)用指南

    Arduino UNO Q 登陸 DigiKey,現(xiàn)已開(kāi)放預(yù)訂

    DigiKey 日前宣布,最新發(fā)布的 Arduino? UNO Q?現(xiàn)已可通過(guò) DigiKey 官網(wǎng)進(jìn)行預(yù)訂。這款前沿新一代開(kāi)發(fā)板集成了高性能微處理、圖形加速功能以及專用微控制
    的頭像 發(fā)表于 10-13 14:55 ?757次閱讀
    <b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b> Q 登陸 DigiKey,現(xiàn)已開(kāi)放預(yù)訂

    高通宣布收購(gòu) Arduino,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    “ ?全新 Arduino UNO Q 開(kāi)發(fā)板Arduino App Lab 將為數(shù)百萬(wàn)開(kāi)發(fā)者帶來(lái)高通 Dragonwing 處理
    的頭像 發(fā)表于 10-08 11:15 ?956次閱讀
    高通宣布收購(gòu) <b class='flag-5'>Arduino</b>,加速普及前沿邊緣計(jì)算與 AI 技術(shù)

    ?PIC32CZ CA70 Curiosity Ultra開(kāi)發(fā)板用戶指南總結(jié)

    微控制 (MCU)。該開(kāi)發(fā)板集成編程或調(diào)試,無(wú)需額外硬件。PIC32CZ CA70開(kāi)發(fā)板配備Ard
    的頭像 發(fā)表于 09-28 14:43 ?1260次閱讀
    ?PIC32CZ CA70 Curiosity Ultra<b class='flag-5'>開(kāi)發(fā)板</b>用戶指南總結(jié)

    雷卯針對(duì)香橙派Orange Pi R1 Plus開(kāi)發(fā)板防雷防靜電方案

    一、 應(yīng)用場(chǎng)景 計(jì)算機(jī)、網(wǎng)絡(luò)服務(wù)、游戲機(jī)、高清視頻播放、揚(yáng)聲器、Android 設(shè)備 二、核心功能參數(shù) 三、擴(kuò)展接口詳情 雷卯專心為您解決防雷防靜電的問(wèn)題,有免費(fèi)實(shí)驗(yàn)室供檢測(cè)。開(kāi)發(fā)板
    的頭像 發(fā)表于 08-25 17:52 ?949次閱讀
    雷卯針對(duì)香橙派Orange Pi R1 Plus<b class='flag-5'>開(kāi)發(fā)板</b>防雷防靜電方案

    如何用Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開(kāi)發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的
    的頭像 發(fā)表于 08-08 20:16 ?4023次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> R3<b class='flag-5'>開(kāi)發(fā)板</b>給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> R3<b class='flag-5'>開(kāi)發(fā)板</b>重新燒錄引導(dǎo)程序bootlaoder

    請(qǐng)問(wèn)如何在CYBT-343026-01模塊中連接揚(yáng)聲器

    聲音。 那么,有沒(méi)有辦法使用 CYBT-343026 連接音頻揚(yáng)聲器并播放它們呢? 如果有,請(qǐng)?zhí)峁椭?,也?qǐng)推薦任何可以在 CYBT-343026-EVAL 上輕松運(yùn)行的應(yīng)用程序。
    發(fā)表于 07-01 07:11
    荃湾区| 新和县| 盐山县| 齐河县| 闻喜县| 铜山县| 乌拉特后旗| 冀州市| 林甸县| 丰原市| 中江县| 县级市| 牟定县| 兴文县| 黄浦区| 色达县| 扎鲁特旗| 金平| 吴江市| 桃源县| 石首市| 盈江县| 万全县| 睢宁县| 禄劝| 天门市| 七台河市| 珠海市| 苍梧县| 天峨县| 绵竹市| 怀安县| 和静县| 攀枝花市| 察隅县| 中牟县| 乡城县| 温州市| 沙田区| 抚州市| 苍南县|