如何使用Arduino和GSM模块构建一个“微型电话”
扫描二维码
随时随地手机看文章
Arduino + GSM模块:打电话和发短信
想象一下,把Arduino和GSM模块(如SIM900或SIM800)变成一个微型电话:你可以按下一个按钮拨出或发送消息!下面是如何构建您自己的简单项目。
您需要的组件
•Arduino Uno(或类似)
•GSM模块(SIM900、SIM800、SIM900A等)
•两个按钮
•两个LED(220个 Ω电阻)
•跳线和面包板
•上传代码的USB线
•支持语音和短信功能的SIM卡(支持2G网络)
电路设置
遵循以下联系:
•Arduino数字 10→GSM TX
•Arduino数字 11→GSM RX
•Arduino GND→GSM GND
•使用Arduino D7上的按钮1进行呼叫
•使用Arduino D8上的按钮2发送短信
•通话时LED 1 (D5上)灯亮
短信发送期间的LED 2 (D4上)灯用适当的电源为GSM模块供电(通常为12 V/1 A或调节5 V/ 3-4 V,具体取决于您的模块)
它是如何工作的
打电话
•按下按钮1 (D7)
•Arduino发送:ATD;拨打
•LED 1在拨号时点亮
•延迟后,Arduino发送ATH挂起
•活动在串行监视器上显示
发送短信
•按二键(D8)
•Arduino发送:
•AT+CMGF=1启用文本模式
•在+发生=“电话号码”
•消息文本
•Ctrl+Z (ASCII 26)发送短信
•Arduino发送:AT+CMGF=1启用文本模式AT+CMGS=“电话号码”
•短信textCtrl+Z (ASCII 26)发送短信
•LED 2表示行动正在进行中
•确认信息出现在串行监视器上
接收短信(可选)
•Arduino也可以使用AT命令接收短信:
•使用AT+CNMI=2,2,0,0,0配置转发
•然后监视gsm.available()来读取传入的短信文本和远程号码
•Arduino也可以使用AT命令接收短信:使用AT+CNMI=2,2,0,0,0配置转发,然后监控gsm.available()读取传入的短信文本和远程号码
示例代码片段
重要提示和故障排除
•确保您的SIM卡支持您所在国家所需的2G频段(例如,许多GSM模块仅支持900 / 1800 MHz)
•检查电源要求:GSM模块经常需要1-2 A的稳定突发电流;建议使用单独的调节器或电池
•适当的逻辑电平移位可能是必要的(Arduino 5 V→模块3.3 V引脚),以避免损坏模块
•匹配Arduino (Serial Monitor)和GSM模块的波特率,避免输出乱码
本文编译自hackster.io





