在本篇文章中,我們將學習如何使用GSM模塊和Arduino開發板自制一個簡易手機,實現撥打電話和短信。該電話能夠撥打另一個號碼,也可以接聽來電。同樣,它也可以用于發送短信以及讀取收到的短信。
首先我們將GSM模塊SIM800 / SIM900與Arduino UNO開發板連接。 1602 LCD用于顯示正在發生的操作,例如顯示信號強度、運營商名稱、呼入或呼出電話、SMS發送的已接收狀態以及經過的時間。 4×4鍵盤用于輸入數字或使用字母數字鍵盤輸入SMS文本。麥克風用于傳輸語音,揚聲器用于響鈴和收聽來電/語音。
所需的組件
以下是該項目所需的組件列表:
● Arduino UNO開發板
● SIM800 / SIM900 GSM模塊
● 4×4鍵盤
● 1602 LCD顯示屏
● 8歐姆0.2瓦揚聲器
● 麥克風
● 10K電位器
● 用于Arduino的5V DC適配器
● GSM模塊的12V DC適配器
● 連接線
● 面包板
SIM800 GSM模塊
SIM800是專為全球市場設計的四頻GSM / GPRS模塊。它適用于GSM 850MHz、EGSM 900MHz、DCS 1800MHz和PCS 1900MHz的頻率。 SIM800具有GPRS多時隙12類/ 10類(可選),并支持GPRS編碼方案CS-1、CS-2、CS-3和CS-4。 SIM800的尺寸僅為24 * 24 * 3mm,可滿足用戶應用程序(例如M2M、智能電話、PDA和其他移動設備)中幾乎所有的空間需求。
SIM800具有68個SMT焊盤,并提供模塊與客戶電路板之間的所有硬件接口。 SIM800采用省電技術設計,因此在睡眠模式下的電流消耗低至1.2mA。 SIM800集成了TCP / IP協議和擴展的TCP / IP AT命令,這些命令對于數據傳輸應用程序非常有用。
主要特征
? 最多支持5 * 5 * 2鍵盤。
? 一個全功能的UART端口,可以配置為兩個獨立的串行端口。
? 一個USB端口可用作調試和固件升級。
? 可編程的通用輸入和輸出。
? 一個SIM卡接口。
? 支持藍牙功能。
? 支持一個PWM。
? PCM / SPI / SD卡接口,只能同步訪問一項功能。
? 電源3.4V?4.4V
? 睡眠模式下的典型功耗為1.2mA
? 頻段GPRS多時隙12類
? 支持SIM卡:1.8V、3V
? 串行端口:可用于數據流的AT命令
? USB端口:可用作調試和固件升級
連接電路圖
如上圖所示組裝電路。將SIM800 / SIM900模塊連接至Arduino的數字引腳2和3。將1602 LCD連接至Arduino模擬引腳A0、A1、A2、A3、A4、A5。將4×4鍵盤連接到Arduino數字引腳11、10、9、8、7、6、5、4。揚聲器和麥克風需要連接到GSM模塊。
工作過程說明
我們將使用Arduino Uno開發板和GSM模塊實現四個功能。這些是:撥打電話、接聽電話、發送短信和接收短信。
我們使用AT命令將Arduino與GSM模塊連接。以下是一些常用的AT命令:
1. AT:測試GSM模塊響應
2. AT + CIMI:請求國際移動用戶身份
3. ATD + 91XXXXXXXXXX:撥打指定的號碼(用數字替換x)
4. AT + CMG = 1:打開gsm的消息傳遞模式
5. AT + CNMI = 2,2,0,0,0:打開消息指示燈
6. ATH:暫停通話
7. ATA:接聽來電
8. AT + COPS:獲取服務提供商名稱
9. AT + CSQ:獲取信號強度
如何發送/接聽電話和短信?
● 撥打電話
按下“ A”按鈕,您將進入撥打電話模式。 LCD會提示您輸入要撥打的號碼。
以下按鈕用于撥打電話模式
“ D”:用于取消通話操作
“ *”:用于刪除數字
‘#’:撥打已撥電話
● 發送短信
按“ B”鍵在發送消息模式下配置模塊。 LCD會提示“輸入號碼”。您需要輸入10位號碼。
以下這些按鈕也用于發送短信模式。
“ D”:用于取消發送操作
“ *”:用于刪除數字
‘#’:通過撥打的號碼發送短信
● 接聽電話和短信
模塊在啟動時將自身配置為接收模式,并且一旦收到呼叫或SMS,LCD就會顯示響應。 如果收到響應,該程序僅使用兩個按鈕進行用戶交互。
“ *”:用于顯示收到的短信/接聽電話。
‘#:用于暫停或終止消息/終止來電
編輯:hfy
-
揚聲器
+關注
關注
29文章
1300瀏覽量
62982 -
GSM
+關注
關注
9文章
835瀏覽量
122869 -
Arduino
+關注
關注
188文章
6469瀏覽量
186958
發布評論請先 登錄
相關推薦
評論