最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

基于Arduino的GSM短信远程控制单元

时间:2017-05-18 22:20来源:未知 作者:admin 点击:
这样的一个范围广泛的GSM模块可供业余爱好者,我们中的大多数人最终购买。 我买了一sim800l模块局部,并最终在该模块的不同的命令。 用Arduino Uno和Arduino IDE,我能够把我的想法变成现实。 这并不容易,与strong单一最大的问题/strong是限制只有2KB SRAM
基于Arduino的GSM短信远程控制单元

这样的一个范围广泛的GSM模块可供业余爱好者,我们中的大多数人最终购买。我买了一sim800l模块局部,并最终在该模块的不同的命令。

用Arduino Uno和Arduino IDE,我能够把我的想法变成现实。这并不容易,与<strong>单一最大的问题</strong>是限制只有2KB SRAM。互联网上许多不同的论坛,研究之后,我能够克服这一局限性。

不同的编程技术,更好的了解了Arduino编译器,使用SIM卡的EEPROM内存,保存了这个项目。经过对代码的一些变化,一个稳定的原型构建和测试在一周的时间。

有限的SRAM的缺点是单位没有配备显示器,用户密钥。这导致了一个完整的重写代码。没有用户界面,剩下的唯一选择继续这个项目,是利用短信配置单元,以及用户。

这是一个令人兴奋的项目,更增加了继续发展期货。

我的主要目标是坚持用Arduino Uno,或在这种情况下,该atmega328p,不使用任何表面贴装元件。这将是大众复制更容易。

单位的规范:

  • 最多250个用户可编程的单元
  • 四个数字输出
  • 四个数字输入
  • 每个输出可配置为脉冲或开关输出
  • 输出脉冲持续时间可设定在0.5 ..10秒
  • 每个输入可以配置为触发开关上的变化。
  • 每个输入可以配置为触发对更改
  • 每个输入延迟时间可设置0秒和1小时之间
  • 在输入变化的短信可以发送到5个不同的用户
  • 名称和每个输入的文本状态可由用户设定
  • 名称和每个输出状态文本可以由用户设置
  • 单元可以被配置为通过USSD短信收到SIM卡余额信息。
  • 所有的用户都可以请求I/O单元的状态更新
  • 所有的用户都可以控制单个输出通过短信
  • 所有用户可以通过调用单元控制单个输出

安全功能

  • 单位的初始设置只能在单位。
  • 初始设置只能由主用户进行
  • 十分钟后,初始设置命令被自动禁用。
  • 只有电话和短信的消息,从已知的用户可以控制单元
  • 用户只能通过掌握用户指定的输出

其它特性

  • 调用这个单位是免费的,因为电话从来没有得到回答。
  • 当单位称,该呼叫将只有2秒后下降。这是确认对方的单位响应号召。
  • 如果SIM卡服务提供商支持USSD短信,查询余额可由主用户。含平衡USSD消息,将被转发到主用户。

步骤1:电源

基于Arduino的GSM短信远程控制单元

为了确保装置可以连接到标准的安全系统(报警系统、电动车库门、电动门电机),单位将从12V直流通常可在系统供电。

适用于<strong>12V</strong>电源端子、保护和<strong>0v</strong>,由1A保险丝。额外的终端提供<strong>了2v</strong> 1,也是保护熔断器。

二极管D1保护单元反极性连接12V的线。

电容C1和C2滤出在12V电源线的任何噪音。12V电源用于发电机组的继电器。

5V电源由一lm7805l电压调节器,并为sim800l GSM模块所需要的输出稳定的+5V,以及微处理机。电容C3和C4滤除噪音可能对+5V电源线是存在的。使用相对大尺寸的电解电容,为sim800l GSM模块并使用相当多的电力传输时。

没有散热片上电压调节器的要求。

步骤2:数字输入

基于Arduino的GSM短信远程控制单元

数字输入信号都是12V的,并且必须与5V微控制器接口。为此,光电耦合器,用于从5V系统12V信号分离。

1K的输入电阻限制输入电流的光电耦合器在10ma。

由于空间的限制,没有空间可在PC板上5V的上拉电阻。微控制器的设置使输入引脚的弱上拉。

目前在无信号输入(低)的光电耦合器,没有电流流过光耦的LED。因此,光耦晶体管关闭。微控制器中的弱上拉会拉起来的收藏家几乎5V,而且会被视为逻辑高的微控制器。

带12V应用(高)的光电耦合器的输入,在10ma流过光耦的LED。因此,光耦晶体管将被打开。这将把收集到的几乎为0V,将被视为逻辑低的微控制器。

请注意,由微控制器看到输入倒比12V输入。

正常的代码读取输入引脚看起来如下:

布尔输入= //读出数字接口的值(inputpin);

正确的反转信号,使用下面的代码:

<strong>布尔输入=!//读出数字接口的值(inputpin)</strong>;//注意!在读前

现在,由微控制器看到输入对应的12V输入。

最后输入电路包括4个数字输入。每个输入终端连接到PC板上。

步骤3:数字输出

基于Arduino的GSM短信远程控制单元

通常,一个电路的驱动只有最小数量的继电器,最好的方法是使用一个晶体管驱动电路如图所示。它是简单的,低成本的,有效的。

电阻器提供下拉到地,与晶体管的基极电流限制。晶体管是用来增加电流可驱动继电器。与仅为1mA从微控制器引脚拉,晶体管可以切换负载100mA。足够用的继电器类型最多。二极管是二极管中飞回来,继电器开关保护电路从高电压尖峰。使用这种电路的附加利益,是继电器的工作电压可以不同于微控制器的电压。因此,而不是使用一个5V继电器,一个可以使用的任何直流电压48V。

引入ULN2803

一个项目需要更多的保护,更高的元件数量。这将使PCB设计更加困难,并可能使用了宝贵的电路板空间。但使用晶体管阵列,像ULN2803,必将有助于保持PCB尺寸小。
的ULN2803非常适合于微控制器3.3V和5V输入,可驱动继电器到48V直流。这ULN2803有8个人的晶体管电路,安装所需的所有组件,开关继电器电路。

最终的输出电路由一uln3803,驾驶4 12V直流输出继电器。每个继电器触点可在PC板的终端。

步骤4:微控制器振荡器

基于Arduino的GSM短信远程控制单元

振荡器电路

微控制器需要一个振荡器正常工作。让Arduino Uno的设计,电路将使用标准的16mhz振荡器。两个选项是可用的:

水晶

这种方法使用一个晶体负载电容器连接到两个。这是最常见的选择。

谐振器

基本上是一个晶体谐振器和加载电容器在一个单一的3引脚封装。这减少了零件的数量,并增加在PC板上的可用空间。

保持尽可能低的元件数量,我选择使用16MHz的谐振器。

步骤5:指示灯

基于Arduino的GSM短信远程控制单元

没有任何电路,LED将是什么?提供了对PC板3mm的发光二极管。

1k电阻用来限制电流通过LED小于5mA,当使用3mm高亮度发光二极管,亮度好。

对于状态LED容易解释,使用两种颜色。由两个LED闪烁的标志相结合,相当多的信息可以从只有两LED获得。

红色LED

红色LED用来指示故障的条件下,长时间的延迟,任何错误的命令。

绿色LED

绿色LED用来指示健康和/或正确输入命令。

步骤6:微处理器复位电路

基于Arduino的GSM短信远程控制单元

出于安全原因,一些单位的功能仅可在10分钟后供电单元。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片