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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

探索 Adafruit Si4713 FM 無線電發(fā)射器:打造自己的電臺

chencui ? 2026-05-11 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

探索 Adafruit Si4713 FM 無線電發(fā)射器:打造自己的電臺

電子工程師的世界里,創(chuàng)新與探索永無止境。今天,我們將深入探討 Adafruit Si4713 FM 無線電發(fā)射器,它能讓你輕松變身海盜電臺主播,開啟屬于自己的廣播之旅。

文件下載:1958.pdf

一、概述

Adafruit Si4713 是一款基于 Si4713 芯片的一體化立體聲音頻 FM 發(fā)射器,不僅能發(fā)射音頻,還支持 RDS/RBDS 數據傳輸。通過將其連接到微控制器(如 Arduino)的 I2C 數據線,設定發(fā)射頻率,再將線路電平音頻輸入立體聲耳機插孔,就能實現音頻發(fā)射。其有效傳輸距離約 10 米/30 英尺,使用普通 FM 接收器(如汽車或口袋收音機)就能收聽。而且,它還支持 RDS/RBDS 功能,能傳輸文本和數據,就像一些汽車收音機顯示電臺和當前播放歌曲那樣。搭配 Adafruit 提供的 Arduino 庫、示例代碼和教程,幾分鐘內就能讓它運行起來。

二、引腳說明

音頻輸入

  • LIN:線路電平左聲道輸入,可直接接入約 0.7Vpp 的音頻信號,板上有交流耦合電容,可處理直流偏置信號。
  • RIN:線路電平右聲道輸入,功能與 LIN 類似。

電源引腳

  • Vin:電源輸入引腳,可使用 3 - 5VDC 供電,建議與微控制器邏輯電平使用相同電壓,如 Arduino 通常使用 5V。
  • GND:電源和邏輯接地,連接到微控制器的接地引腳。
  • 3Vo:板載穩(wěn)壓器輸出,標稱 3.3V,可提供高達 100mA 的 3V 穩(wěn)壓電源。

接口引腳

該 FM 發(fā)射器芯片需要微控制器進行設置,采用 I2C 通信方式(雖支持 SPI,但文檔未提供 SPI 代碼示例)。所有接口輸入引腳兼容 5V,可用于 3 - 5V 邏輯。

  • RST:復位引腳,在與芯片通信前必須先對該引腳進行電平切換,邏輯 0 時芯片處于復位狀態(tài)。
  • CS:芯片選擇引腳,用于 SPI 模式,同時也決定 I2C 地址。默認拉高時 I2C 地址為 0x63,短接到地時為 0x11。
  • SCL:I2C 時鐘引腳,連接到微控制器的 SCL 引腳。
  • SDA:I2C 數據引腳,連接到微控制器的 SDA 引腳。

額外 GPIO 引腳

有兩個 GPIO 引腳(GP1 和 GP2)可用于控制 LED 閃爍。初始狀態(tài)用于設置芯片為模擬模式,復位時不要將其短接到地或 VCC,且它們僅為 3V 輸出。GPIO #3 用于板載 32KHz 時鐘發(fā)生器

三、組裝步驟

準備排針

根據需要裁剪排針長度,將其插入面包板(長引腳朝下),便于后續(xù)焊接。

安裝 breakout 板

將 breakout 板放在排針上,使短引腳穿過板上的焊盤。

焊接

確保焊接所有引腳,以實現可靠的電氣連接??蓞⒖?Adafruit 的焊接指南(https://adafru.it/aTk)獲取焊接技巧。

安裝天線

該發(fā)射器需要天線,可使用提供的 1 米長電線,也可根據需要選擇不同長度的電線。將電線末端剝去幾毫米,插入 ANT 孔并焊接。

四、Arduino 代碼實現

接線

  • 將 Vin 連接到電源(3 - 5V),與微控制器邏輯電平一致,Arduino 通常使用 5V。
  • 將 GND 連接到公共電源/數據接地。
  • 將 SCL 引腳連接到 Arduino 的 I2C 時鐘 SCL 引腳(UNO 和 '328 系列 Arduino 為 A5,Mega 為數字 21,Leonardo/Micro 為數字 3)。
  • 將 SDA 引腳連接到 Arduino 的 I2C 數據 SDA 引腳(UNO 和 '328 系列 Arduino 為 A4,Mega 為數字 20,Leonardo/Micro 為數字 2)。
  • 將 RST 引腳連接到數字 12。

Si4713 默認 I2C 地址為 0x63,可通過將 CS 連接到地將其改為 0x11,但建議先讓演示程序正常運行后再進行更改。

下載庫

從 Arduino 庫管理器中搜索并安裝 Adafruit Si4713 庫,也可參考 Adafruit 的 Arduino 庫安裝教程(http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use)。

加載演示程序

打開 File -> Examples -> Adafruit_Si4713 -> adaradio,上傳到連接好傳感器的 Arduino??筛鶕枰薷?FM 發(fā)射頻率,默認發(fā)射頻率為 102.3MHz,可將代碼中的 #define FMSTATION 10230 修改為未使用的頻率(頻率值以 10KHz 為單位,如 88.1MHz 寫為 8810)。上傳代碼后,打開串口監(jiān)視器(波特率 9600),若看到 “RDS On!” 消息,說明一切正常。將音頻輸入 3.5mm 插孔,應能看到音頻音量范圍在 0 到 -10dB 之間。

RPS 掃描功能

Si4713 可掃描 FM 頻段并測量輸入功率,幫助找到未使用的電臺頻率。在 adaradio 演示程序中,找到相應部分并取消注釋 for 循環(huán),重新上傳代碼后查看串口監(jiān)視器。數值越大,傳輸功率越高,應選擇數值較低且周圍沒有高數值的頻率,避免被附近頻率干擾。

庫參考

  • 電臺發(fā)射控制:使用 begin() 初始化 Si4713 芯片組,若初始化成功返回 true,否則返回 false。使用 setTXpower(txpwr) 開啟電臺發(fā)射,txpwr 為 dBμV 傳輸功率,可設置為 88 - 115dBμV 或 0(關閉)。使用 tuneFM(freq) 調諧發(fā)射頻率,freq 以 10KHz 為單位。使用 readTuneStatus() 檢查電臺狀態(tài),可獲取當前頻率、功率輸出和調諧天線電容等信息。
  • RPS(無線電功率感應):使用 readTuneMeasure(freq) 開始測量,freq 以 10KHz 為單位;然后調用 readTuneStatus() 等待芯片測量數據并將結果存儲在 currNoiseLevel 變量中。
  • RDS/RBDS(無線電數據廣播):使用 beginRDS() 初始化 RDS 子系統(tǒng),使用 setRDSstation("AdaRadio") 設置電臺名稱(最多 8 個字符),使用 setRDSbuffer( "Adafruit g0th Radio!") 發(fā)送主緩沖區(qū)數據(最多 32 個字符)。
  • GPIO 控制:使用 setGPIOctrl(bitmask) 設置 GPIO 引腳為輸出,bitmask 為每個引腳設置 1 位。使用 setGPIO(bitmask) 設置 GPIO 輸出狀態(tài)。
  • 高級設置:默認使用內置 AGC(自動增益控制)系統(tǒng),若音頻質量好但音量波動,可在 Adafruit_Si4713.cpp 文件中修改代碼,關閉 AGC。

五、Python 與 CircuitPython 應用

接線

  • CircuitPython 微控制器接線:以 Feather M0 為例,將板上的 3V 連接到傳感器的 VIN,GND 連接到 GND,SCL 連接到 SCL,SDA 連接到 SDA,D5 連接到 RST。
  • Python 計算機接線:以樹莓派為例,將 Pi 的 3V3 連接到傳感器的 VIN,GND 連接到 GND,SCL 連接到 SCL,SDA 連接到 SDA,GPIO5 連接到 RST。

庫安裝

  • CircuitPython 安裝 SI4713 庫:確保運行最新版本的 Adafruit CircuitPython,從 Adafruit 的 CircuitPython 庫包中安裝必要的庫,將 adafruit_si4713.mpyadafruit_bus_device 復制到板上的 lib 文件夾或根文件系統(tǒng)。連接到板的串行 REPL,進入 CircuitPython 提示符。
  • Python 安裝 SI4713 庫:安裝 Adafruit_Blinka 庫,可能需要在平臺上啟用 I2C 并確保運行 Python 3。從命令行運行 sudo pip3 install adafruit-circuitpython-si4713。

使用方法

頻率強度掃描

可使用 received_noise_level 函數測量 FM 頻段的信號質量,掃描 87.5MHz 到 108MHz 的頻率范圍,以 50KHz 為步長。噪聲值(dBuV)越高,信號越強,一般小于 32 的值可能表示未使用的頻率,大于 40 的值表示強無線電信號。

發(fā)射設置

找到未使用的頻率后,使用 tx_frequency_khz 屬性設置發(fā)射頻率(以 KHz 為單位,范圍在 87.5MHz - 108MHz 且以 50KHz 為步長),使用 tx_power 屬性設置發(fā)射功率(88 - 115 dBuV 或 0 關閉)??赏ㄟ^讀取 input_level 屬性檢查音頻輸入電平,讀取 audio_signal_status 屬性檢查音頻信號狀態(tài),確保輸入電平在 -20 到 -10dB 之間,避免過調制。

RDS - 無線電數據系統(tǒng)

使用 configure_rds 函數配置 RDS 傳輸,傳入電臺 ID、電臺名稱和緩沖區(qū)數據。配置后,可通過 rds_stationrds_buffer 屬性更新電臺名稱和緩沖區(qū)數據。

完整示例代碼

# SPDX-FileCopyrightText: 2018 Tony DiCola for Adafruit Industries
# SPDX-License-Identifier: MIT
# Simple demo of using the SI4743 RDS FM transmitter.
import time
import board
import digitalio
import adafruit_si4713

# Specify the FM frequency to transmit on in kilohertz. As the datasheet
# mentions you can only specify 50khz steps!
FREQUENCY_KHZ = 102300  # 102.300mhz

# Initialize I2C bus.
i2c = board.I2C()  # uses board.SCL and board.SDA

# Initialize SI4713.
#
# si4713 = adafruit_si4713.SI4713(i2c)
# Alternatively you can specify the I2C address of the device if it changed:
# si4713 = adafruit_si4713.SI4713(i2c, address=0x11)
#
# If you hooked up the reset line you should specify that too. Make sure
# Raspberry Pi, and probably other devices:
si_reset = digitalio.DigitalInOut(board.D5)  # to pass in a DigitalInOut instance. You will need the reset pin with the
#
print("initializing si4713 instance")
si4713 = adafruit_si4713.SI4713(i2c, reset=si_reset, timeout_s=0.5)
print("done")

# Measure the noise level for the transmit frequency (this assumes automatic
# antenna capacitance setting, but see below to adjust to a specific value).
# Alternatively measure with a specific frequency and antenna capacitance.
# This is not common but you can specify antenna capacitance as a value in pF
# from 0.25 to 47.75 (will use 0.25 steps internally). If you aren't sure
# about this value, stick with the default automatic capacitance above!
# noise = si4713.received_noise_level(FREQUENCY_KHZ, 0.25)
noise = si4713.received_noise_level(FREQUENCY_KHZ)
print("Noise at {0:0.3f} mhz: {1} dBuV".format(FREQUENCY_KHZ / 1000.0, noise))

# Tune to transmit with 115 dBuV power (max) and automatic antenna tuning
# capacitance (default, what you probably want).
si4713.tx_frequency_khz = FREQUENCY_KHZ
si4713.tx_power = 115

# You can also set the broadcast station name (up to 96 bytes long) and
# broadcast buffer/song information (up to 106 bytes long). Setting these is
# optional and you can later update them by setting the rds_station and
# rds_buffer property respectively. Be sure to explicitly specify station
# and buffer as byte strings so the character encoding is clear.
si4713.configure_rds(0xADAF, station=b"AdaRadio", rds_buffer=b"Adafruit g0th Radio!")

# Print out some transmitter state:
print("Transmitting at {0:0.3f} mhz".format(si4713.tx_frequency_khz / 1000.0))
print("Transmitter power: {0} dBuV".format(si4713.tx_power))
print("Transmitter antenna capacitance: {0:0.2f} pF".format(si4713.tx_antenna_capacitance))

# Set GPIO1 and GPIO2 to actively driven outputs.
si4713.gpio_control(gpio1=True, gpio2=True)

# Main loop will print input audio level and state and blink the GPIOs.
print("Broadcasting...")
while True:
    # Print input audio level and state.
    print("Input level: {0} dBfs".format(si4713.input_level))
    print("ASQ status: 0x{0:02x}".format(si4713.audio_signal_status))

    # 'Blink' GPIO1 and GPIO2 alternatively on and off.
    si4713.gpio_set(gpio1=True, gpio2=False)  # GPIO1 high, GPIO2 low
    time.sleep(0.5)
    si4713.gpio_set(gpio1=False, gpio2=True)  # GPIO1 low, GPIO2 high
    time.sleep(0.5)

六、下載資源

通過以上介紹,你是否已經迫不及待地想要動手打造自己的 FM 電臺了呢?在實踐過程中,不妨多嘗試不同的設置和參數,挖掘 Adafruit Si4713 的更多潛力。如果你在使用過程中遇到問題或有新的發(fā)現,歡迎在評論區(qū)分享交流。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Adafruit Feather M0 Radio with LoRa Radio Module:打造靈活無線通信解決方案

    概述、引腳布局、組裝、電源管理、Arduino IDE 配置、代碼適配以及無線電使用等內容。 文件下載: 3178.pdf 一、模塊概述 Adafruit Feather M0 RFM95 LoRa Radio 是一
    的頭像 發(fā)表于 05-11 11:15 ?214次閱讀

    探索NY7501無線充電發(fā)射方案EVM:高性能開發(fā)模塊解析

    探索NY7501無線充電發(fā)射方案EVM:高性能開發(fā)模塊解析 在無線充電技術飛速發(fā)展的今天,一款性能優(yōu)良且易于使用的無線充電
    的頭像 發(fā)表于 04-15 10:15 ?182次閱讀

    探究LTC4125:5W無線功率發(fā)射器的卓越性能與應用

    探究LTC4125:5W無線功率發(fā)射器的卓越性能與應用 在無線充電技術日益普及的今天,電子工程師們對于高效、安全且多功能的無線功率發(fā)射解決方
    的頭像 發(fā)表于 02-24 10:50 ?364次閱讀

    探索STWBC2HP:無線電池充電器發(fā)射機的數字控制

    探索STWBC2HP:無線電池充電器發(fā)射機的數字控制 作為電子工程師,我們總是在尋找創(chuàng)新的解決方案來提升無線充電技術。今天,我想和大家深入
    的頭像 發(fā)表于 01-28 09:35 ?405次閱讀

    簡單無線電設備開源項目分享

    想玩無線電卻被設備限制?普通收音機只能聽固定頻段專業(yè)設備又貴又復雜,這款無線電直接打破壁壘!
    的頭像 發(fā)表于 01-26 11:15 ?1205次閱讀
    簡單<b class='flag-5'>無線電</b>設備開源項目分享

    CC1175:高性能窄帶系統(tǒng)射頻發(fā)射器的卓越之選

    性能、功耗和集成度方面都表現卓越。今天,我們就來深入了解一下CC1175這款產品。 文件下載: cc1175.pdf 一、CC1175概述 CC1175是一款完全集成的單芯片無線電發(fā)射器,專為在低成本無線系統(tǒng)中實現高性能、低功耗
    的頭像 發(fā)表于 01-06 09:15 ?717次閱讀

    900MHz全雙工無線發(fā)射器參考設計

    900MHz全雙工無線發(fā)射器參考設計
    發(fā)表于 10-30 15:31 ?3次下載

    900MHz全雙工無線發(fā)射器參考設計原理圖資料

    900MHz全雙工無線發(fā)射器參考設計原理圖
    發(fā)表于 10-30 15:24 ?10次下載

    用于 CDMA 和 PCS 家庭小區(qū)應用的雙頻發(fā)射器 skyworksinc

    電子發(fā)燒友網為你提供()用于 CDMA 和 PCS 家庭小區(qū)應用的雙頻發(fā)射器相關產品參數、數據手冊,更有用于 CDMA 和 PCS 家庭小區(qū)應用的雙頻發(fā)射器的引腳圖、接線圖、封裝手冊、中文資料、英文
    發(fā)表于 08-21 18:33
    用于 CDMA 和 PCS 家庭小區(qū)應用的雙頻<b class='flag-5'>發(fā)射器</b> skyworksinc

    請大佬方案指導/定制開發(fā):多通道低功率FM發(fā)射器

    各位大佬好,我們在定制一款多通道、低功率的FM分體式發(fā)射器,基本參數規(guī)格如下: 頻率:76.8-87Mhz 發(fā)射功率:0.5w(最多不超過1w) 服務距離
    發(fā)表于 08-14 11:14

    在樹莓派上開啟業(yè)余無線電之旅~

    業(yè)余無線電可讓你通過收聽廣播、追蹤飛行和解碼信號來探索無線通信的奧秘。然而,傳統(tǒng)的業(yè)余無線電設備往往價格高昂且體積龐大,不易獲取。我將向你
    的頭像 發(fā)表于 08-12 18:56 ?2273次閱讀
    在樹莓派上開啟業(yè)余<b class='flag-5'>無線電</b>之旅~

    請問CAN哪些工具來設置 CYBT 無線電發(fā)射功率?

    ModustoolBox 的藍牙配置中用于設置發(fā)射功率的配置設置在哪里? 通過編寫 WICED 命令然后通過主機或使用 CYBLUETOOL 或 AIROCBLUETOOL 將其發(fā)送到無線電來設置
    發(fā)表于 07-04 07:41

    連載|業(yè)余無線電史話(五):首批無線電呼號前綴

    首批無線電前綴1906年,在柏林召開的首屆國際無線電報會議上,決定國際無線電報系統(tǒng)中的電臺呼號須由三個易于區(qū)分的字母組成。1912年7月5日,受要求識別所有頻譜使用者的《
    的頭像 發(fā)表于 07-03 07:34 ?2404次閱讀
    連載|業(yè)余<b class='flag-5'>無線電</b>史話(五):首批<b class='flag-5'>無線電</b>呼號前綴

    無線電子遙控要SRRC認證嗎?

    無線電子遙控如果涉及到無線通信功能,在出口到中國時需要進行 SRRC(無線電發(fā)射設備認證)。SRRC 認證是中國針對
    的頭像 發(fā)表于 06-30 09:33 ?1895次閱讀
    <b class='flag-5'>無線電</b>子遙控<b class='flag-5'>器</b>要SRRC認證嗎?

    LE 發(fā)射器和接收測試返回錯誤結果是什么原因導致的?

    我有特定的代碼運行來啟動和停止一些無線電頻率測試。 目前只關注 BLE 發(fā)射器和接收測試。 然而,此處第 6 節(jié) LE 測試結束時的文檔指出,當 le 發(fā)射器測試處于活動狀態(tài)時,接收
    發(fā)表于 06-30 08:08
    安多县| 三原县| 潮州市| 许昌县| 元朗区| 英吉沙县| 贵南县| 蓝田县| 聊城市| 友谊县| 黄山市| 耒阳市| 伊春市| 双流县| 晴隆县| 梁平县| 峨眉山市| 铜陵市| 松滋市| 涿鹿县| 平遥县| 嘉义县| 大新县| 黄平县| 南城县| 绥德县| 原阳县| 井研县| 东阳市| 佳木斯市| 珠海市| 武清区| 昭苏县| 哈尔滨市| 县级市| 四子王旗| 镇康县| 海安县| 新化县| 宁海县| 西畴县|