在本篇文章中,我们将学习如何使用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就会显示响应。 如果收到响应,该程序仅使用两个按钮进行用户交互。 “ *”:用于显示收到的短信/接听电话。 ‘#:用于暂停或终止消息/终止来电
源代码/程序 下面给出了使用GSM模块和Arduino进行呼叫和短信的代码。 该代码由Agam Tyagi开发。
main.rar
(5.11 KB, 下载次数: 74)
|