项目简介
合宙的Air800 GPRS+GPS 2G 模块本身就是一个全功能的带有音频编解码器和屏幕显示功能的最小化的电话机核心板,只需要增加非常少的原件,就可以构成一部功能完备的教学用电话机。 前不久,我就利用业余时间就做了这么一款玩具,具有黑白屏幕显示号码,基本接听拨打电话,播放音乐的功能,下面我把制作过程简要的叙述一下。
##实现的功能
1 拨打电话功能
按下数字键,液晶屏显示响应按键,错误的可以按红色按键删除前一个输入数字
号码输入完毕,按下绿色按键,拨打对方电话
播放提示语音
2 接听电话功能
外部电话接入时,绿色灯闪烁,屏幕提示对方电话号码
按下绿色按键,接听对方号码,并播放提示语音。
3 发送短信
按下数字键,液晶屏显示响应按键,错误的可以按红色按键删除前一个输入数字 号码输入完毕,按下黄色按键,根据屏幕提示,切换到message模式 按下绿色键,发送制定测试文本
4 接收短信
收到外部短信后,屏幕显示收到短信,并显示内容保持3秒钟时间,恢复原界面
5 朗读功能
按下黄色按键,根据屏幕提示切换到Speech模式 按下绿色键,播放一段音乐后,播放提示语音
需用材料清单
Air800M4 开发板一个 X 1
SSD13306 触摸屏 X 1
微动开关 X 15
LED 红色 X 1
LED 绿色 X 1
1K电阻 X 2
8Ohm 0.5W 扬声器 X1
排针X 50
排母X 40
杜邦线 X40
连接方法如下
供电:
电路中需要供电的是两部分电路
1)Air800模块
2)SSD13306 128X84 单色I2C显示屏
整个电路供电由M4板载的USB插座供应,外部LCD模组的供电连接到USB 5V,从M4 的 5V PIN针引出,
LED灯
两个LED灯(红色和绿色) 发光管负极接到开发板的IO口的GPIO9和GPIO28上,发光管正极串接一个1K的电阻连接到电源正极。
按钮
每个按钮都采用上升沿触发。非触发状态,对应的IO引脚通过通过10K电阻上拉到高电平。 按下开关,IO与地连接变为低电平,当松开手时从低电平跳转回高电平产生一个按键触发的中断事件。
显示屏
显示屏通过两根I2C总线连接到M4开发板的GPIO6 GPIO7上,使用Luatask架构的disp库来实现显示功能
扬声器
Air800 模块内置功放,直接将功放双端输出连到扬声器上即可。
整个电路连接虽然稍有一些繁杂,但是原理并不复杂,只要细心一个一根的都能接对。
电路连接以后就可以尝试打电话乐,用手机拨打事先插入M4开发板的SIM卡号,就可以听到清脆的呼入电话铃音了,无比机智的你快来试试吧。
Lua 软件
本程序有Lua脚本编写,绝大多数语句都做了相应的注释,请读者从文末的链接下载源码自行研究。 下面是一个简要的功能分区简介。
module main
启动模块,导入其他功能模块
module event
功能执行模块,按照事件进行相关的逻辑控制响应
module gpio
负责IO引脚的输入与输出配置和控制
module call
负责电话通讯,包括语音,短信,和TTS服务
module ui
负责用户界面和屏幕显示
module test
负责debug测试
资料地址
本项目开源地址为:
https://github.com/miuser00/basicphone
您可以直接登录并下载源码,烧录在模块中,具体的步骤不一一叙述了。