在本篇文章中,我们将学习如何使用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
发布评论请先 登录
相关推荐
评论