資料介紹
描述
讓我們使用 TEA5767 FM 收音機模塊構建功能齊全的 FM 收音機播放器,并使用按鈕更改電臺的直觀 UI 和 OLED 顯示屏來查看您正在收聽的電臺。構建此項目所需的大部分組件都包含在Wilderness Labs Meadow F7 w/Hack Kit Pro 中。
無線電模塊和顯示器都使用 I2C 總線協議,可幫助您通過 Meadow 板上的 2 個引腳連接這些外圍設備。您可以在此處閱讀有關 I2C的更多信息。我們將創建一個運行 full.NET 的 Meadow Application 項目,我們將使用Meadow.Foundation來簡化控制所有外圍設備的邏輯。
Meadow.Foundation我是一個在 Meadow 上使用 .NET 快速輕松地構建連接事物的平臺。它由Wilderness Labs 創建,完全開源并由 Wilderness Labs 社區維護。
如果您是使用 Meadow 的新手,我建議您通過控制板載 RGB LED 項目來使用 Meadow 入門,以正確設置您的開發環境。
第 1 步 - 組裝電路
連接您的收音機播放器,如下圖所示。由于顯示器和無線電模塊都使用 I2C,請確保在 CLK (D08) 和 SDA (D07) 引腳中正確連接它們:
第 2 步 - 創建 Meadow 應用程序項目
在適用于Windows或macOS的 Visual Studio 2019 中創建一個新的Meadow Application項目,并將其命名為RadioPlayer 。
第 3 步 - 添加所需的 NuGet 包
對于此項目,搜索并安裝以下 NuGet 包:
第 4 步 - 編寫 RadioPlayer 的代碼
在MeadowApp主類中,復制以下代碼:
// public class MeadowApp : App <- If you have a Meadow F7v1.*
public class MeadowApp : App
{
List<float> stations;
int currentStation = 0;
Tea5767 radio;
MicroGraphics graphics;
PushButton btnNext;
PushButton btnPrevious;
public MeadowApp()
{
Initialize();
stations = new List<float>();
stations.Add(94.5f);
stations.Add(95.3f);
stations.Add(96.9f);
stations.Add(102.7f);
stations.Add(103.5f);
stations.Add(104.3f);
stations.Add(105.7f);
DisplayText("Radio Player");
Thread.Sleep(1000);
radio.SelectFrequency(stations[currentStation]);
DisplayText($"<- FM {stations[currentStation]} ->");
}
void Initialize()
{
var onboardLed = new RgbPwmLed(
device: Device,
redPwmPin: Device.Pins.OnboardLedRed,
greenPwmPin: Device.Pins.OnboardLedGreen,
bluePwmPin: Device.Pins.OnboardLedBlue);
onboardLed.SetColor(Color.Red);
var i2CBus = Device.CreateI2cBus();
radio = new Tea5767(i2CBus);
var display = new Ssd1306(i2CBus, 60, Ssd1306.DisplayType.OLED128x32);
graphics = new MicroGraphics(display);
graphics.Rotation = RotationType._180Degrees;
btnNext = new PushButton(Device, Device.Pins.D03);
btnNext.Clicked += BtnNextClicked;
btnPrevious = new PushButton(Device, Device.Pins.D04);
btnPrevious.Clicked += BtnPreviousClicked;
onboardLed.SetColor(Color.Green);
}
void BtnNextClicked(object sender, EventArgs e)
{
if (currentStation < stations.Count-1)
{
DisplayText(" >>>> ", 0);
currentStation++;
radio.SelectFrequency(stations[currentStation]);
DisplayText($"<- FM {stations[currentStation]} ->");
}
}
void BtnPreviousClicked(object sender, EventArgs e)
{
if (currentStation > 0)
{
DisplayText(" <<<< ", 0);
currentStation--;
radio.SelectFrequency(stations[currentStation]);
DisplayText($"<- FM {stations[currentStation]} ->");
}
}
void DisplayText(string text, int x = 12)
{
graphics.Clear();
graphics.CurrentFont = new Font8x12();
graphics.DrawRectangle(0, 0, 128, 32);
graphics.DrawText(x, 12, text);
graphics.Show();
}
}
在MeadowApp的構造函數中,我們首先調用InitializePeripherals()
,其中顯示、FM 收音機模塊和按鈕都被初始化和配置。之后,我們填充已知本地廣播電臺的列表,我們將能夠使用按鈕來回循環。
在按鈕事件處理程序BtnNextClicked
和BtnPreviousClicked
中,注意一個用于轉到列表中的下一個站點,另一個用于轉到上一個站點,兩者都調用DisplayText()
具有在 I2C 顯示器上繪制 UI 的所有邏輯的方法。
第 5 步 - 運行項目
單擊Visual Studio中的“運行”按鈕。它應該類似于以下 GIF:
查看 Meadow.Foundation!
就您可以使用Meadow.Foundation做的大量令人興奮的事情而言,這個項目只是冰山一角。
它帶有一個龐大的外圍驅動程序庫,其中包含最常見的傳感器和外圍設備的驅動程序。
- 它帶有一個龐大的外圍驅動程序庫,其中包含最常見的傳感器和外圍設備的驅動程序。
- 外圍驅動程序封裝了核心邏輯并公開了一個簡單、干凈、現代的 API。
- 這個項目得到了一個不斷發展的社區的支持,該社區不斷致力于構建很酷的互聯事物,并且總是很高興能幫助新人并討論新項目。
參考
- 在面包板上構建一個簡單的FM收音機接收器
- RaspiPlayer-網絡收音機和MP3文件夾播放器
- 基于RDA5807M的FM收音機 25次下載
- 具有靜噪功能的FM收音機模塊文件下載 12次下載
- AM和FM收音機原理電子書免費下載 0次下載
- FM收音機原理圖 31次下載
- FM收音機的解碼及控制器VHDL語言實現 11次下載
- FM收音機的制作與設計--課程設計 228次下載
- 收音機調頻(FM)發射機的小制作 0次下載
- 基于Linux的internet收音機的實現 81次下載
- FM收音機工作原理及修理
- AM/FM收音機電路SA2003
- CS1191中文資料pdf(FM/AM 單片收音機電路)
- fm收音機電路圖
- CSF文件播放器
- 收音機全波段的還是調頻的好 318次閱讀
- 衛星收音機與普通收音機區別 8381次閱讀
- FM/AM收音機電路圖 3.3w次閱讀
- 礦石收音機工作原理及制作 4.9w次閱讀
- 多功能收音機制作方法 7072次閱讀
- 如何用FM調頻頭制作一個調頻收音機? 1.6w次閱讀
- 全波段收音機是什么?全波段數字調諧收音機原理分析 2.3w次閱讀
- 礦石收音機用配置電源嗎 1.4w次閱讀
- 世界最簡單礦石收音機制作方法介紹 10w次閱讀
- 礦石收音機電路圖大全(七款礦石收音機電路圖) 23.8w次閱讀
- 一文看懂礦石收音機工作原理 6.7w次閱讀
- 收音機定時器設計制作 5703次閱讀
- FM收音機接收機解決方案介紹 7953次閱讀
- 基于內置天線實現手機FM無線電接收 6693次閱讀
- 收音機定時控制器電路 2135次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多