ARDUINO从入门到创客带师第0期
利用ARDUINO制作爆闪灯
今年过年我们不放鞭炮,放爆闪灯吧
其实就是驱动继电器/开关管模块的实际应用
灵感来源是群友说要用NE555做爆闪灯……我说NE 555有现成的模块可以用,2块钱那样吧,频率之类的都有现成的调节电路三根线甩上电源调电位器就能输出
但是我还是建议10多块钱包邮买个arduino玩, 十多个PWM数字输出够玩了
至于说不会的,ARDUINO还用学?直接找现成的库往上一套就完事了
加个8266库甚至还能用手机直接遥控
首先ARDUINO之前几期已经讲过了不少了就不说了,来认识一下5V继电器模块吧
这种兼容ARDUINO的继电器模块成本非常便宜,基本上控制在了两元以内,再加上ARDUINO开发板的产量和使用量如此巨大,导致开发板+模块的整体成本基本都在15元以内。
总之这种模块其实结构非常简单,就一个继电器和驱动电路,三根线分别代表电源正负和驱动信号,信号脚输入高电平(5V)或者低电平触发继电器动作,改变继电器导通不同的触点(一般这种继电器模块都是单路双掷)
继电器线圈驱动电压是5V,输入控制电平也可以是5V以内
单路继电器模块说明:
引脚定义
1、输出驱动能力:250VAC-10A、125VAC-10A、30VDC-10A、28VDC-10A;(可以看到这里其实开关的输出能力完全取决于电流,而不在乎电压的大小,所以以前我们做电磁弹射的时候经常告诉各位的就是如果选用机械开关就可以相应的提高系统的电压从而提高效率)
2、使用方便,每组输出简单3线结构,预留输出接线柱;3、输入直接与单片机IO口或数字电路连接,输入高电平继电器吸合,输入低电平继电器释放(或者反之,但是因为这种继电器都是双掷开关,所以高电平触发还是低电平触发的区别意义不大);4、工作电压5V,吸合电流约70mA每路,带继电器状态指示灯;
5、全贴片元件,最合理驱动电路设计,采用8050三极管驱动继电器动作;
6、设有固定螺丝孔方便安装,电路板尺寸1.8cm*4.0cm*1.9cm,重15g;
简单测试说明: 模块输入与输出电气绝缘,供上对应正确电压后,只需在输入排针上接上高电平(如与VCC短路)就能让继电器吸合,不接或接低电平(如与GND短路)继电器不动作
继电器模块有两个触点:常开常闭触点分别接两路LED不就行了
简单来说这期的教程真的是异常简单,放在第一期之前写第0期都不为过,简单的利用代码驱动单片机IO输出一定频率变化的高低电平就行了
代码实现:
const int relayPin = 13;
int relayState = 0;
void setup ()
{
Serial. begin (9600);
pinMode (relayPin, OUTPUT);
}
void switchRelay ()
{
if (relayState == 0)
relayState= 1;
else
relayState = 0;
digitalWrite (relayPin, relayState);
Serial. print( "Relay status:");
Serial. println (relayState) ;
}
void loop ()
{
switchRelay();
delay (5000);
}
这样就能在ARDUINO开发板的13号输出端口上输出每5秒钟变化一次的高低电平
对于继电器来说就是每隔5s切换断开 接通状态
想要改变频率把那个DELAY改一下就行了,写多少就是多少毫秒切换一次电平。其实ARDUINO支持的PWM的频率还挺高的,最高可以到
16Mhz呢,ARDUINO还有
PWM频率库
可用。软PWM库驱动使用定时器+国产的LGT的芯片频率可以很高。
扩展:PWM的概念咱之前应该是上期还是上上期已经讲过了,至于NE555其实就是关于PWM应用很广的一种模拟电路。但是相对数字电路来说,它的可调节性和精确度都不如数字电路理想,简单来说就拿占空比来说,之前说的555模块输出占空比可以微调,占空比和频率不是分别可调的,调占空比会改变频率,而且调节范围也不宽。
占空比
是指在一个脉冲循环内,通电时间相对于总时间所占的比例。像是上述代码每隔固定时间改变通电状态,这样通电时间相对于总时间就是二分之一的关系,占空比就是50%,当然,通过修改代码理论上可以调节0-100%之间任意数值的占空比,555模块就很难实现。此外555模块正常情况下输出电流只有15mA,最大输出电流(外加最大电压)也只有35mA,是很难驱动需要70mA的继电器模块的。
所以这种模块便宜倒是真便宜,就是不太好用就是了
NE555脉冲频率占空比可调模块方波矩形波信号发生器 步进电机
一、本模块适用范围:1.用作方波信号发生器,产生方波信号供实验开发使用。2.用来产生驱动步进电机驱动器的方波信号。3.产生可调脉冲供MCU使用。4.产生可调脉冲,控制相关的电路。二、简要说明:1、尺寸:3.1CM*2.2CM
1、主要芯片:NE555;2、输入电压:5V-15VDC。5V供电时,输出电流可以在15MA左右;12V供电时,输出电流可以在35MA左右;
3、输入电流:≥100MA
4、输出幅度:4.2V V-PP至11.4V V-PP.(根据输入电压不同,输出幅度会不一样)
5、最大输出电流:≥15MA(5V供电,V-PP大于50%时),≥35MA(12V供电,V-PP大于50%时)
三 优势特点:1、输出带LED指示,有没有输出直接明了(低电平时LED量,高电平LED灭,频率比较低时LED闪烁);2、输出频率范围档次可选,使输出频率更连续可调;低频档:1Hz~50Hz
中频档:50Hz~1kHz
中高频档:1KHz~10kHz
高频档:10kHz~200kHz
3、输出占空比可以微调,占空比和频率不是分别可调的,调占空比会改变频率;
4、输出频率可调;周期T=0.7(RA+2RB)C
RA、RB为0-10K可调;
低频档时C=0.001UF;中频档时C=0.1UF;中高频档C=1UF;高频档时C=100UF
硬件接线
值得注意的是ARDUINO一旦程序上传烧写完毕之后可以脱机使用,也就是说可用直接插根电源线就能用了,不一定必须要用到电脑。所以如果手上没有电脑也可以用有arduino环境的电脑把程序烧录完了之后把开发板带回去接线
首先我们掏出ARDUINO开发板,这里咱用的是UNO官方版,前两天把之前那个改音乐盒的给我小弟送去之后又重买的,20包邮吧
板子丝印和之前不太一样了,好像又更新了
总之我们分别把13号数字引脚 5V GND引脚和继电器模块连接好就可以了
VCC就是5V正极 GND是接地 IN是信号输入,这里我们代码定义的是13号数字输出,可以通过改变代码定义修改实际具体接线
爆闪灯一般都是中功率的LED模组,和普通的单体LED不同的是模组一般都是经过串并联的LED+限流电路组成的,需要的电压也不是普通LED的3V而是随着不同串联方案变化的,像咱现在用的这个就是3串的模块,加上限流电路总共需要12V供电。也有高功率LED灯需要36V甚至48V供电的,但是这里其实对于我们这个方案来说都一样只是换个电源的事,毕竟继电器的工作电压是很高的,最高支持到250V呢,当然为了安全还是不建议在家接强电(高于安全电压可以称为强电)。尤其是家用电,非常容易死人的。
这里我们已经把LED模组通过导线和插头连接好了,正好我手头有一个已经接好线的继电器模块,直接拿过来就能用
这里如果需要自己接线的话需要把继电器串联在整个回路中的LED和电源之间。不是很难