(4)趣味单片机新玩法-百变可编程arduino

arduino 管方主页

我们在了解了一些基本电子电路和仪器后,总有种磨刀霍霍,准备大干一场!!对于绝大部分电子爱好者来说,编程是很难绕开的一个话题;举个例子吧,我们冥思苦想用电路搭建一个16路LED灯的流水灯,但是用arduino加上几行代码就能完成目标;再比如我们经常会用到PWM控制步进电机、舵机等这两者虽说都是用PWM控制,但是一个是控制占空比,另外一个是控制产生的脉冲个数,用电路实现起来很麻烦,但是用代码来实现那就相当easy!! 

可以这么说,代码会带给你更多想象空间,编程给你带来更多乐趣✌

简单的介绍下arduino

这玩意当时制作出来的初衷就是为了降低那些喜欢动手的学生学习单片机的门槛,但是没想到一下就这么火,因为全球太多想动手的发烧友,爱好者苦于学习单片机门槛太高;一般没烧毁几个片子,没熬几个夜,单片机入门的风都没摸着。

它的出现给很多想编程,但是不想学单片机的动手能力强的爱好者打开了大门,从此一发不可收拾

这货最初长这样,还是单层的板子,上面那个芯片倒是一直沿用至今ATMEGA328

官网:https://www.arduino.cc/

最初版arduino uno
最新版arduino uno

使用arduino编程,我们一般就不用考虑太多的什么寄存器,汇编,单片机原理等等都可以抛弃掉;可以一心一意的像开发windows APP或者安卓APP程序一样,直接调用它的接口就行了。

接 口

接口是一个很抽象的概念,我估计很多人经常会听到这个词,但是我们很多人不理解这个玩意到底是什么意思;

我举几个简单的例子来说说,比如说我要修一个房子,我房子的设计图已经有了,但是我不知道从哪儿开始干,一般的我们会找一个包头,然后你就直接跟包头说你的房子要怎么怎么修,修成什么样子,然后他就是你的直接对接人,我们可以说这就是个对接接口。


再比如说,你要开动一辆车,一般的我们就是操作方向盘,刹车,油门;然后这个车就可以开始运动了,一般很少有人会去考虑,我踩了油门,油门是怎么控制发动机,发动机是怎么运转的,同样的也不会去考虑刹车的工作原理,我们这里可以称方向盘是我们转向的接口,油门是我们加速的接口,同理刹车踏板是我们减速的接口。


那么单片机这个东西也是一样,arduino之所以很容易使用,也是因为它屏蔽了这些复杂的“零件”,我们要点亮一颗LED灯就只需要调用I/O接口就可以了;我们要跟外部设备通信,调用串口通信接口就可以了,其他的I2C接口,SPI接口以及基于接口+算法封装成的新接口舵机角度控制接口、霹雳彩灯接口等等


I/O驱动接口


串口通信接口

抛弃技术门槛玩编程

经常有人说玩单片机,玩编程;我不会C语言,不懂英语,不懂单片机原理,又不懂电路知识;这怎么玩???

其实我想说的是,你想多了,我们爱好者又不是学校里面专门学这个的,不懂很正常啊;但是不要给自己设了个门槛,我们以为的多么多么复杂的东西,但是别人给你一讲解时,经常有人会发出这样一句感慨“这东西原来是这么回事”,大家是不是有这样的经历。

我们初学者我觉得也不用太多纠结于这些细枝末节了,上来直接干就完事了;就像你看到一个人,一次不认识,多打几次交道,估计她住哪儿,多大年龄,爱好啥的都摸的一清二楚;同样的我们一开始啥都不知道,那就多拿出来认认呗!!再看上面的英文,其实就是些符号,看的多了,这些符号就都认识了,如果有一点点英语基础,那就更好理解了,delay中文意思就是延时digtalWrite的中文意思就是数字端口写入

比如说上面这个LED灯闪烁,看下总共就几样东西,再看下最右边的代码,把注释一去掉,就剩下这么点东西了,还有延时还是重复的,你说简单不简单😁;快去把这仅有的几行代码修改、修改,验证你的猜想对不对。

再来看一个比较复杂的,因为底层以及封装好了1602液晶模块的驱动接口,所以代码总共就没几行,然后就能实现又数字跳动,又输出字符串功能;小伙伴们赶紧加几个按钮给自己做个计算器吧!!!

推荐阅读更多精彩内容