带小白入坑之arduino

带新手入坑,很多新人入坑都不知道一些常用的东西怎么实现,比如“控制220V的电器”,或者“驱动直流电机”,再比如“步进电机怎么接线”等等,下面我就给大家讲讲这些东西的基本用法(撒花,撒花,撒花)。。。。

1.怎样控制220V或者是其他大功率电器(反正就是arduino不能直接控制的)?39b4b82397dda144ad145290b6b7d0a20cf48651

 

上图只是其中一种方案,最关键的地方,就是名叫TLP3020这个元件了,这玩意儿叫 光耦 ,是一种隔离元件,arduino引脚工作的电压是5V输出的电压也只有几十毫安,所以,功率超过这个限制的元器件或者用电器都是不能直接 接在啊人对你哦的引脚上使用的,这时就需要借助上图的电路了。光耦用起来很简单,虽然元件上有6 个脚,但是我们用4个就可以了,NC表示 Not Connect,不用连接,其他元件上标有”NC”的引脚都是这个意思。连接方式图上已经很清楚了,A、K之间有足够的电压,B、E就会导通,就这么简单。光耦这东西其实和更常见的“继电器”是差不多的,但是他在开和关之间的切换非常快(继电器很慢),因此可以使用PWM信号驱动。如果只是一个一般电压和功率的小东西,玩具马达之类的,你到此就可以直接把他当开关用了。但是如果是更大的东西,比如图上的白炽灯,就得完全按照图上来,再来一个可控硅,就是红框里三只脚的元件。一般要控制大东西都得靠他,然后看图就可以了。如果需要了解更详细的信息,就请问度娘“可控硅”。tips:可控硅就是拿来做 电 磁 gun的重要元件哦

2.怎样驱动很多个舵机?

为了照顾更白的小白,还是先从“怎样驱动舵机”说起吧。

7a2909a4462309f73930aa31760e0cf3d7cad61d

驱动舵机其实很简单,一般的舵机,只有三根线(有的是四根,那么多出来的那根应该是串口控制用的,这种舵机在高端机器人上能见到),我们现在只说三根线的这种,三根线的,也经常能看到两种规格,主要区别是三根线的颜色不同,一种是 白色,红色,黑色,一种是 橙色,褐色,黑色。除开颜色上的差别,在功能上其实没有什么差别,只是两个巨头公司无聊的把戏罢了(避免广告嫌疑,就不点名了,反正就是岛国的两大航模设备厂商),三根线中,白色/橙色是信号线,黑色/褐色是GND,红色是VCC。其实即便没接触过电子的靠猜也能猜个八九不离十吧,这些颜色都是根据人们的习惯来定义的。说道这里,必须先说一下,什么是PWM信号。这个应该数字电路最先就要接触的东西了,我们知道数字信号就是只有0和1的信号,但是,什么叫“只有0和1的信号”?那就得先说说模拟信号和数字信号了。交流电大家知道吧,他的电压不是固定的,而是随时间变化的,具体的变化规则,就是那条晃眼睛的正弦曲线了,通常这种信号我们叫做“模拟信号”,什么意思呢,就是他的每一个电压值,都会影响到电路最后的输出结果。以前的老显像管电视也许大家都还熟悉,控制图像显示的扫描信号,就是模拟信号,如果我们把水平扫描信号变大10%(就是把电压变高10%),图像就会向右移动10%的距离,变大5%,图像就移动5%。模拟信号就是这样用的。想要了解更多,就问度娘吧。数字信号不一样以5V电压的TTL标准为例,信号上的电压虽然也是变化的,但是,只要这个变化的幅度不是非常大,对结果就没啥影响,具体的,电压在0到3.4V,被识别为低电平,或者“0”(实际上也有表示为“1”的设计),电压在3.4到5V,被识别为高电平,或者“1”(当然,也可以表示“0”),tips:cpu里面就是括号里那种比反人类的设计,但是这种设计却更科学。这样,电压不断的上下变化,就得到了一串0,1,再根据相应的编码规则,信息就这样被传递了。opps,跑偏了。数字信号话说完了,再来说PWM,芯片内部的计算都是靠数字信号来完成的,但是我们有时候又需要一个模拟信号,怎么办呢?PWM诞生了,它的中文名叫“脉冲宽度调制”,就是忽高忽低的一串数字信号。也许大家还记得,家里的交流电,刚刚说了,其实他的电压是不断变化的,但是为什么又说220V交流电?擦,明明是变化的,220哪来的。这个嘛……算了,积分什么的就不扯了,这个交流电在纯欧姆电路(只有电阻)中的电功率和220V的直流电在同样的电路中是一样的,所以,这个交流电就是220V的。这个就是非常科学的定义!但是,大家注意到没有,这跟交流电的波形是没有关系的!就是说我不管你这个电信号在变化的过程中怎么变,我们只看你的电功率来确定你的电压!所以说,只用5v和0v的电压,也可以利用这个原理来模拟出0v到5v之间的电压来!这就是PWM信号常被用来模拟 模拟信号的原理(当然要想效果好再加个电容,扯远了,自己问度娘去)。当然有的地方也并不是用PWM来模拟另一个电压,比如说HR-04超声波模块,它要传达出的实际上是高电平的持续时间。扯远了扯远了,扯回来。标准舵机的驱动信号就是PWM信号,前面不是说了嘛,PWM是忽高忽低的,那么,高多长时间,低多长时间就值得考虑了。一般为了便于计算,两个高低信号加起来的时间是一定的,这就是这个PWM信号的“周期”,而高电平持续的时间占周期中的比例,叫“占空比”,而pwm模拟出来的模拟信号的电压,就是高电平电压x占空比(又扯出去了,根舵机没关系)。舵机的信号周期是20ms,高电平的持续时间是1~2ms,占空比为5%~10%,分别对应摇臂的0~180度。
嗯,原理说完了,一个字:其实在arduino上用舵机只需要使用servo库就可以了。就像上图那样连接即可。但是问题来了,我要驱动20个舵机怎么办?
正文开始,先来一个图
8个,20个也一样啦,很明87d4f9a20cf431ad2aed461a4f36acaf2edd98bd了吧,前面都说了,控制舵机的实际上就只有信号线那一根线而已,所以,把这根线接arduino就ok了,剩下的电源线全部并联,接在输出足够,电压合适的电源上。但是,注意,如果你的arduino也是用的和舵机使用的同一个电源,没有问题,但是如果你的舵机使用一个大功率电池,arduino却使用usb供电或者其他的小功率电压(就是使用了两个独立电源),那么你还需要一根线,把这两个电源的GND连在一起。更详细的信息,请问度娘“共地”,下一楼讨论怎样有效控制很多个舵机

3.怎样驱动数码管?796b47061d950a7b7fcd38e00ed162d9f3d3c9f9

一般很多小白一看到有很多引脚的器件就头晕,不知道哪接哪,数码管虽然有很多引脚,但是接线却很简单,实际上,数码管就是8个led灯而已,如上图,我们可以看到,有一条5V的引脚,说明他的结构是把这8个led灯的正极联到一起,负极分别引出来,我们把这种结构的数码管叫“共阳极”,就是说他们的正极是连在一起的,当然,也可以反过来,把负极全部连一起,正极分别引出来,就是“共阴极”数码管。到这里,大家应该知道了,以共阳极为例,这个共极应该接5V,其余的7个脚,接arduino,如果某个脚接的是高电平,那么对应的这个led两边都是5V,没有电压差,就不会亮,如果是低电平,就有5V的电压,就亮了。而哪些亮,哪些灭,就能够构成一个图案了。共阴极的高低电压则刚好反过来。或许有人要问了,有了共阳极,干嘛还要共阴极?这个就不是厂商的无聊游戏了。电流是从正极流向负极的,这个大家应该都知道,对于共阳极数码管来说,电流就只能从共极流进来,而led的亮度是跟电流有关的,电流越大,越亮,而并联会使每一条支路上的电流减小,共极进来的总电流基本不变,所以,如果用这个电流点亮两个led时就比较亮,把8个全部点亮,led就变暗了。根据这个原理,大家可以分析一下,共阴极数码管是没有这个缺点的

4.怎样驱动lcd1602?

lcd1602,应该算是比较高级一点的东西了,但是用的地方的却很多
3f25db1fbe096b63d397ab7508338744eaf8ace8

上图是最普通的那类应用,接线有两种接法,主要是数据口的不同,分为8线和4线,对于这种引脚消耗大户来说,很多人都会选择4线接法吧,按图索骥即可。接上了线,用起来也就简单了,因为官方提供有库,我要补充的是,这种方块的lcd,不止有1602哦,16表示每行可以显示16个字符,02表示可以显示2行,除了1602,还有2004,2008等等,更重要的一点,他们使用同样的库就可以了,而且价格只贵了一点点如果觉得占用太多的引脚,还有一种加上了iic模块的升级版,最多只占用2个引脚

1602经常令小白抓狂的一点可能是,明明我按照教程完全弄好了,为什么显示16个黑框!或者什么都不显示!这时候,请注意一下第15脚,仔细看,他是控制背光的,如果背光太亮,那么看不清字符了,就是白茫茫一片,太暗就是黑块了,按照图上指示,接上一个滑动变阻器,调节15脚的电压,就可以使字符变清楚了


发布了45 篇原创文章 · 获赞 46 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章