Arduino刚刚出现的时候,仅仅是把她当作一个小孩的玩具,并无太多在乎,第一次见到Arduino大概是在10年先后,作的是一个爱心流水灯板子,其实看着仍是挺好玩的,可是对于正经学过51单片机的人来讲,这个真的不算什么。再次看到这个东西的时候大概是16年的7-8月份,是由于有教学任务,要交给大专的孩子们这些东西,原来是51的课程,可是由于51对基础要求太高,如今职业教育中你们更多的选择的是短平快。因此Arduino就变成了一个很好选项。并且还能够Arduino block的图形化编程来共同,彷佛让编程变得更简单了。(Arduino Block中的编程很是不习惯,也多是并无深刻的学习过)。git
学Python的时候(如今仍是只知其一;不知其二),主要是参看了一本书名叫《Learn Python the Hard Way》(求大神不嘲笑),这本书的名字让我以为其实再简单的东西都应该按照脚踏实地一步一个脚印的方式去学习,对于Arduino我以为也是。因此这个系列也被成为Learn Arduino the Hard Way。编程
下面我会开始按照顺序更新Arduino的东西,固然是从最近简单的东西开始更新。中间用到的器件,会顺路再会讲一点,可是可能不会太详细。最后再说,IDE下载、安装、配置就不过的讲解了,由于没意义,还得再装一遍程序,太麻烦了。可是会给出传送门。编程语言
好了,就酱紫。函数
说到Arduino,这个东西不是什么惊天地泣鬼神的全新技术,东西其实仍是老一套的东西。Arduino分了不少版本,中间包括UNO,Lilypad,Mega等等等等等。。。那猪脚其实仍是AVR的单片机。仍是单片机?那这个东西牛逼在什么地方呢?其实关键还在于Arduino开发了底层库,也就是说,你要用液晶,那就直接调用液晶的库,须要超声波就调用超声波库,很是简单方便。这就是他牛逼的地方。这样的库,存在得一个问题,也是被专业人员诟病的就是效率。可是对于大众来讲,这样已经很简单了,并且这样彻底足够,且要求不像51那般高。因此这是好处。oop
点亮一个led,对于单片机来讲简直就像学习编程语言时候的hello world,在开始以前仍是要基本交代一下什么是led。这里说的led实际上是指发光二极管,这个东西具体是怎么回事,请你们去Wikipedia,或者百度百科一下。这里面要注意的一点是,发光二极管是发光器件,发光的亮度取决于流过他的电流,理论上讲,电流越大亮度越高,可是每个器件都极限,超过极限以后,会损坏器件。对于发光二极管来讲,大电流会有更高的亮度,带来的问题是,过大的电流会致使LED损坏。通常状况下,普通LED的最大电流不要超过20mA,LED正向导通的时候,自身的电阻很小,因此必需要在外部电路提供一个足够大的电阻来知足。这个电阻就被成为限流电阻。学习
因而电路以下,Arduino特地分享了这么一个搭建示意图的东西,仍是挺有趣的。这个软件名叫Fritzing,开源软件,支持中文,最好去原网站下载,须要的自行百度。网站
下面就是要来解释一下Arduino单片机这个奇葩的东西了。他把原来的单片机的引脚所有抛弃,从新作了定位DIO0-13,和A0-6,还有电源和地。ui
下面就是链接的电路原理图。spa
下面这个是实物的链接图,这些都是在Fritzing中已经作好了的。直接用便可。code
下面就该最重要的内容代码了。
1 void setup() 2 { 3 pinMode( 0 , OUTPUT); //定义输出管脚 4 } 5 6 void loop() 7 { 8 digitalWrite( 0 , !(HIGH )); //给低电平,LED熄灭 9 delay( 100 ); //延迟函数一段时间,这段时间内,LED保持原来的状态 10 digitalWrite( 0 , !(LOW )); //高电平,LED点亮 11 delay( 100 ); //延迟函数一段时间,这段时间内,LED保持原来的状态 12 }
而后编译,下载。Arduino的具体应该如何来完成编译和下载在这里就不讲了。回头我会放上来PPT,你们参考就行了。