一樣,之前做了不少東西,做完後又懶得紀錄,不知不覺就積了不少,趁有時間在這邊紀錄一下
有需要的就直接照做吧,原理不敘述太多,有些註解寫在程式碼裡面了
要用STM32F103做之前要先參照我之前的那篇將STM32轉成arduino開發方式的文章
電路圖如下,簡單的來說就是透過讀取可變電阻的數值來調整FM的頻段
不過我後來有在音源孔後面加放大器電路再用喇叭播出來,而下面的電路是用耳機接音源孔就可以聽得
程式也不難,看一下就知道了
下面為實體圖
程式碼如下:
#include <Wire.h>
#include <TEA5767Radio.h>
TEA5767Radio radio = TEA5767Radio();
void setup()
{
Wire.begin();
// 設定 RS232
Serial.begin(9600);
// 設定 PA0 輸入
pinMode(PA0, INPUT);
}
void loop()
{
// 讀值
int val = analogRead(PA0);
// 傳送資料至電腦
//Serial.println(val);
//Serial.println(val/40);// 4095/40 = 102 最大50
//最大120,120-85= 35
float base = 89.000;//以FM訊號表為主
float spin = (val/2)*0.009;//格數*小數在加base值等於電台頻率
float fm = base+spin;
Serial.println(fm,3);
//FM
radio.setFrequency(fm); // pick your own frequency
}
下面連結為程式碼:
https://drive.google.com/file/d/1AEFShW-1SJ9uO3yROORWA4jBYjaDOUxl/view?usp=sharing