關(guān)于合法性的快速說明
在大多數(shù)國家,建立一個(gè)覆蓋大面積的個(gè)人無線電臺(tái)或無牌建立和銷售FM發(fā)射機(jī)是違法的。正如我在美國使用它時(shí)所寫的那樣,我檢查了聯(lián)邦通信委員會(huì)的網(wǎng)站上的指導(dǎo)原則,其中列出了我要遵循的要求,包括我的發(fā)射機(jī)可以擴(kuò)展的最大范圍(200英尺)。
在構(gòu)建此發(fā)射器或使用天線擴(kuò)展范圍之前,根據(jù)您所在的國家/地區(qū)檢查免費(fèi)使用的FM頻段,并確保您遵守您所在國家/地區(qū)的法律。
本教程僅用于創(chuàng)建個(gè)人使用的FM發(fā)射器!
什么是KT0803K?
KT0803K器件設(shè)計(jì)用于處理高保真立體聲音頻信號(hào),并在短距離內(nèi)傳輸調(diào)制的FM信號(hào)。該模塊主要用于音頻接口,尤其適用于麥克風(fēng)或音頻信號(hào)電纜。我們還可以修改音頻信號(hào)輸入以進(jìn)行幅度調(diào)整并調(diào)整麥克風(fēng)靈敏度,因?yàn)槲覀冞€可以在此模塊中添加麥克風(fēng)。
主要規(guī)格
Arduino即插即用
板載MIC
VCC輸入:3.0V至5.0V
可以將一個(gè)小天線連接到該模塊(任何約75cm的金屬線都可以用作天線)。
讓我們開始吧。
接線項(xiàng)目
將所有內(nèi)容連接起來,如下圖所示.Fritzing圖。
Arduino諾基亞5110 LCD
GNDGND
D13SCK
D11DIN
D10CE
D9DC
D8RST
完成這些連接后,將電位器添加到A0引腳,如下所示。
ArduinoFM模塊
GNDGND
5VVCC
SDAA4
SCLA5
最終的有線項(xiàng)目應(yīng)該類似于上圖。接線完成后,上傳以下代碼。
源代碼
#include “U8glib.h”
#include
//U8GLIB_ST7920_128X64 u8g(13, 11, 12, U8G_PIN_NONE);// SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17
U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
int channel=0;
float fm_freq = 90; // Here set the default FM frequency
int reading=0;
int last_reading=0;
int Current_reading=0;
int mapping_reading=000;
void setup(void){
pinMode(A0,INPUT);
Serial.begin(9600);
fmtx_init(fm_freq, USA);
u8g.setRot180();
u8g.setColorIndex(1); // pixel on !
//。..。..。..。..。..。..。..。..。..。..。..。..。..。..
u8g.firstPage();
do{
set_screen(1);
}
while(u8g.nextPage() );
delay(1000);
//。..。..。..。..。..。..。.
u8g.firstPage();
do{
set_screen(0);
}
while(u8g.nextPage() );
delay(1000);
Clear();
//。..。..。..。
u8g.firstPage();
do{
intro();
}
while(u8g.nextPage() );
delay(2500);
u8g.firstPage();
do{
intro2();
}
while(u8g.nextPage() );
delay(2500);
Clear();
//。..。..。..。..。..。..。..。..。..。..。..。..。..。..
}
// Reading Any Tunning change here.
void Analog_pin_read(){
channel=mapping_reading;
Current_reading=channel;
fmtx_set_freq(channel);
}
void set_screen(int i){
u8g.setColorIndex(i); // pixel on !
for (int x_axis=0;x_axis《84;x_axis++){
for (int y_axis=0;y_axis《44;y_axis++){
u8g.drawPixel(x_axis,y_axis);
}
}
}
void Clear(void){
u8g .setFont(u8g_font_04b_03);
u8g.setFontRefHeightExtendedText();
u8g.setDefaultForegroundColor();
u8g.setFontPosTop();
}
void intro(void){
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g .setFont(u8g_font_osr18);
u8g.drawStr( 5, 25, “FM Tx ”);
u8g .setFont(u8g_font_tpss);
u8g.drawStr( 5, 40, “ System”);
}
void intro2(void){
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g .setFont(u8g_font_04b_03);
u8g.drawStr( 2, 7, “Build Your FM station! ”);
u8g.drawStr( 2, 15, “Modify the frequency”);
u8g.drawStr( 2, 26, “By Ammar”);
u8g.drawStr( 2, 38, “Maker.PRO”);
}
//change frequency value On lcd here
void number(int value){
u8g.setColorIndex(1);
u8g.drawFrame(0,0,83,47);
u8g .setFont(u8g_font_unifont);
u8g.drawStr( 5, 15, “Frequency ”);
u8g .setFont(u8g_font_osr18);
u8g.setPrintPos(10,45);
u8g.println(value,DEC);
u8g .setFont(u8g_font_unifont);
u8g.drawStr( 45, 38, “MHz ”);
}
void loop(){
reading=analogRead(A0);
mapping_reading=map(reading,0,1023,90,100);
mapping_reading=constrain(mapping_reading,90,100);
if( mapping_reading!= Current_reading){
Clear();
Analog_pin_read();
u8g.firstPage();
do{
number(channel);
}
while(u8g.nextPage() );
delay(100);
}
}
-
發(fā)射器
+關(guān)注
關(guān)注
6文章
849瀏覽量
53508 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187308 -
諾基亞5110
+關(guān)注
關(guān)注
0文章
6瀏覽量
7768
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論