久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
Arduino DIY—Arduino自制DTMF撥號器
[打印本頁]
作者:
hushao
時間:
2016-1-3 18:05
標題:
Arduino DIY—Arduino自制DTMF撥號器
怎么撥打電話?也許這個問題很簡單:拿起話筒,按話機的數字鍵盤撥號碼。
但是,有沒想過,我們可以拿起電話,不需要碰話機鍵盤就能撥通電話?答案是肯定的。
下面就介紹如何用Arduino生成雙音多頻信號。
用法介紹:
使用時候,我們拿起電話話筒,將喇叭貼近話筒麥克風位置。在串口發送需要撥號的電話號碼(比如10000),稍等片刻即可撥通。
擴展用法:
驅動開關模擬電話摘機事件,用此電路撥號,再由Arduino按照事件控制語音模塊(WT588D等)發出不同的語音到電話線。即可完成一個整體的自動撥號機,可以制作報警器,或者電話提醒器。
材料清單:
Arduino一塊,
喇叭1個,
100Ω電阻1個(可以選擇100Ω~1kΩ),
1uF電容兩個(可以選擇0.1uF~10uF)。
硬件連接:
程序代碼:
1.下載Tone庫,并且解壓到arduino-0022\libraries文件夾
此Tone庫相比自帶的tone函數特點是,可以同時在多個輸出腳輸出不同頻率的波形,但是自帶tone函數在一段時間內只能在一個引腳輸出。
2.寫入下面代碼到Arduino:
/*
使用Arduino生成雙音多頻
Ansifa 2011/11/27
* 軟件:需要Tone庫,
* 材料:喇叭1個,100Ω電阻1個,1uF電容兩個
* 硬件連接:在D11,D12引腳各接一個1uF電容,之后合并到100Ω電阻一端,
100Ω電阻另一端接喇叭,然后喇叭另一端接地。
用法,將喇叭貼近電話機話筒,然后發送要撥的電話號碼到串口,比如10000,即可撥通電話10000
*/
#include <Tone.h>
String Phone_Number = "";
int i = 0, mark = 0;
//定義freq1,freq2為Tone實例,并且定義雙音多頻的頻率
//DTMF頻率定義參見
Tone freq1;
Tone freq2;
const int DTMF_freq1[] = {1336, 1209, 1336, 1477, 1209, 1336, 1477, 1209, 1336, 1477};
const int DTMF_freq2[] = {941, 697, 697, 697, 770, 770, 770, 852, 852, 852};
void setup()
{
Serial.begin(9600);
//定義聲音產生引腳在Arduino的D11,D12
freq1.begin(11);
freq2.begin(12);
}
void loop()
{
//讀出串口數據,串接成Phone_Number字符串
while (Serial.available() > 0)
{
Phone_Number += char(Serial.read());
delay(2);
mark = 1;
}
//播放DTMF音頻,電話號碼來自Phone_Number,持續長度200ms,間隔長度300ms
PlayDTMF(Phone_Number, 200, 300);
//如果剛才接收到串口的電話號碼,因為號碼已經在喇叭輸出了,清空電話號碼并且重置mark
if(mark == 1)
{
Phone_Number = "";
Serial.println();
mark = 0;
}
}
/*
DTMF播放函數
調用格式:playDTMF(數字(0~9), 持續時間)。
*/
void PlayDTMF(String Number, long duration, long pause)
{
//如果輸入數字為空,或者持續時間不為正數,或者暫停時間不為正數
//則視作錯誤,立即停止執行返回主程序。
if(Number.length() == 0 || duration <= 0 || pause <= 0) return;
//將Number逐個文字分離,
for(i = 0; i < Number.length(); i++)
{
//如果Number屬于0~9的數字字符,
if(Number[i] >= '0' && Number[i] <= '9')
{
//則將它ASCII碼減去‘0’,得到純數字,
Number[i] -= '0';
//然后在串口輸出一份,便于查看
Serial.print(Number[i], DEC);
//輸出雙音多頻之一
freq1.play(DTMF_freq1[Number[i]], duration);
//輸出雙音多頻之二
freq2.play(DTMF_freq2[Number[i]], duration);
delay(pause);
}
}
}
復制代碼
實物效果:
1.電路連接
2.喇叭靠近電話撥號
3.串口端發電話號碼
4.等待喇叭響完撥號音之后,即可聽到10000號的應答
作者:
wangshunda
時間:
2021-4-8 09:50
這個真好,有人試驗過嗎?
有沒有人有興趣,用這個原理,用ESP8266Wifi模塊,實現一下?
作者:
zhigao1986
時間:
2023-4-12 11:36
wangshunda 發表于 2021-4-8 09:50
這個真好,有人試驗過嗎?
有沒有人有興趣,用這個原理,用ESP8266Wifi模塊,實現一下?
試過,不行
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产98在线 | 免费,
|
免费看91
|
久久久91精品国产一区二区三区
|
国产精品久久久久久久7电影
|
亚洲一区免费视频
|
av免费成人
|
激情综合五月
|
国产一区二区在线免费观看
|
在线观看视频h
|
成人在线免费观看
|
成人小视频在线观看
|
国产福利视频导航
|
久久综合一区
|
h视频在线观看免费
|
色婷婷综合成人av
|
国产精品久久久久久中文字
|
国产日韩精品久久
|
亚洲一区二区中文字幕
|
国产精品国产成人国产三级
|
一区二区三区视频在线观看
|
福利影院在线看
|
成人精品一区二区三区四区
|
91 中文字幕
|
日韩中文视频
|
四虎在线观看
|
精品成人在线观看
|
国产99热精品
|
91精品国产综合久久精品图片
|
色婷婷av777
|
91精品国产一区二区三区
|
欧美精品一区二区三区四区 在线
|
精品欧美乱码久久久久久
|
日本黄色大片免费看
|
五十女人一级毛片
|
国产黄色麻豆视频
|
男女精品网站
|
一级全黄少妇性色生活免费看
|
在线观看中文字幕一区二区
|
欧美一区2区三区4区公司
|
黑人久久久
|
成年人免费看的视频
|