网上其实有很多入门的教程,我写这个教程的原因两点,一是记录下我的学习经历,二是把我的学习历程让大家看到,借鉴学习交流。

##认识我们的工具
作为一个coder,深刻的明白,工欲善其事必先利其器的道理,让我们来熟悉一下我们的工具吧。

硬件部分:

  • ardunio开发板uno
  • ardunio电脑连接线

软件部分

  • Windows 7
  • ardunio驱动程序
  • ardunio IDE

##硬件部分
下面上一ardunio的张高清无码大图

图中标出了板子上几个主要接口,根据需要依次为:

  1. 微处理器:ATmega328,8位的处理器,片内含32kB 闪存(0.5k由bootloader使用),2kb SRAM,1kb EEPROM,时钟频率为16HZ。(有没有一种卧槽的感觉,树莓派配置比这个高多了,其实这个和树莓派是两个不同的东西,不知道的人经常搞混,树莓派称得上是一个小型主机了,而这个只是一个单片机)。

  2. USB接口,与电脑相连,用于从电脑中下载程序,同时也可以给班子供电。(网上有一些改造的板子是标准的MICRO-USB接口,也就是手机通用的数据线接口,效果一样的)。

  3. 外接电源,当电脑没有通过usb供电又要让板子跑起来,就可以通过这个口供电,一般使用9v电源供电即可。

  4. 有没有发现这里有两个GND。这里通过外接电池到VIN和GND管脚也能实现给板子供电。

  5. 模拟输入,有6个模拟输入管脚,提供2^6的解析度。后面我们代码里面使用的analogRead()这个方法就是从这些管脚读取数据。

  6. 数字输入/输出。总共有14个IO口,看起来挺多的,其实也不多,你想象下,光是一个8x8的led矩阵就需要用16个口(一般不会这么干,会通过额外的芯片转换(后面会讲到),从而只需要3个IO口就能做到8x8的矩阵显示)。程序可以自定义输入或者输出,其中0(RX<-0)和1(TX->1)是串口复用管脚。其中3,5,6,9,10,11六个管脚可提供8位(0-255)的PWM输出; 13管脚与板上LED相连,当输出高电平时,LED点亮(后面的程序会提到)。

##软件部分
从http://www.arduino/网站上可以免费下载到其开发环境,有Windows/Mac/Linux版本,大家可根据自己的需要选择。工具安装运行后界面见图2。由于是单板和PC相连是通过串口转USB,所以PC上通常需要安装一下驱动,驱动就在Arduino软件目录下的driver目录,例如:f:\arduino-1.6.4\drivers\。安装驱动后,可以看到当前的端口,如图3所示(不同PC端口号一般都不相同,例如此处是COM3,具体请打开设备管理器查看COM口,增加的那个就是Ardunio对应的COM口)。

来看下我们的IDE界面,现在我新建一个文件。

编辑窗口中有两个函数,一个是setup,这个函数将在程序运行一开始就调用,通常是进行一些管脚的初值设置;而loop就是程序运行的主函数,系统会不断循环调用loop,我们将软件逻辑写在loop函数中就可以了。

##常用的函数

  • pinMode(pin, mode)
    --定义数字管脚的输入/输出,pin可以取0-13,对应14个数字管脚;mode为INPUT/OUTPUT之一,表明该管脚是用于输入还是输出。

  • digitalWrite(pin, val)
    --设置数字管脚输出电平,val取值为HIGH/LOW之一

  • digitalRead(pin)
    --读取数字输入管脚的电平,函数返回值为HIGH/LOW之一,通常根据返回值为高或者低从而进行不同的处理

  • analogRead(pin)
    --读取模拟输入管脚的值,pin取值为A0 – A5;返回0-1023之间的

  • analogWrite(pin, val)
    --设置数字管脚中的PWM管脚的输出值,val取值为0-255

  • Serial.begin(speed)
    --初始化串口并设置串口速率,如Serial.begin(9600); 即将串口速率设置为9600bps

  • Serial.print()/Serial.println()
    --串口输出函数

  • delay(val)
    延时函数,单位为ms,如delay(1000)为延时1s

下一节我们来编写第一个程序,helloword。

更多推荐

Ardunio菜鸟入门教程(一)