arduino教程(提高篇)——把arduino变成AVRISP烧写器

以下均翻译自官方,水平有限,如有错误请回帖指正。

本教程介绍如何使用Arduino作为AVR ISP(在线系统编程)。你可以使用它给其他AVR芯片烧写引导程序(bootloader)(例如使用ATmega168的或ATmega328的Arduino)。这个例子中的代码是基于Randall Bohn写的mega-isp固件。

说明
使用您的Arduino给其他AVR烧写引导程序(bootloader),步骤如下:
1.打开的ArduinoISP的固件(File>examples>ArduinoISP)
2.注意,如果是为阿尔杜伊诺1.0:你需要对ArduinoISP代码进行小的改动。查找heartbeat()函数,把其中的“delay(40);”,更改为“delay(20)”。
3.在Tools>board中,选择对应的arduino型号,(这里是选择作为编程器的板子型号,而不是你将要烧写bootloader的板子型号)使用的串行端口菜单中的项目。
4.上传ArduinoISP。
5.Arduino和你要烧写的arduino连接方法如下图所示。(注:如果是ArduinoUNO,你需要Reset和GND之间连接一个10 uF的电容)
6.在Tools>board菜单上,选择你要刻录的bootloader的板子型号(你将要烧写的板子型号)对应。看到板环境页面描述细节。
7.选择 Burn Bootloader>Arduino as ISP,开始烧写bootloader
连接示意图(针对UNO,Duemilanove,Diecimila)

arduino-avrISP

Arduino教程——LM35线性温度传感器

LM35线性温度传感器模块

174710tl4tkos8v68p4qrt

模块特点:
1、有较好的线性度和较高的灵敏度。
2、传感器的输出电压与摄氏温度呈线性关系,0℃时输出为0V,每升高1℃,输出电压增加10mv。
3、与Arduino专用传感器扩展板结合使用,可以非常容易地实现与环境温度感知相关的互动效果。
模块规格:
主要芯片:LM35
工作电压:5V
传感器类型:模拟
引脚:
out:输出
+:VCC DC4V~6V输入端
-:GND 接地端
连接示意图:

2136042vpvg286h22vlevv
参考代码示例:

int potPin = 4;                     //设置模拟口4为LM35的信号输入端口
float temperature = 0;                //设置temperature为浮点变量
long val=0;                       //设置val为长整数变量
 
void setup()
{
Serial.begin(9600);//设置波特率
}
 
void loop ()                     
{
   val=analogRead(potPin);//温度传感器LM35接到模拟PIN4上;val变量为从LM35信号口读取到的数值
  temperature = (val*0.0048828125*100);   //把读取到的val转换为温度数值,系数一:0.00488125=5/1024,0~5V对应模拟口读数1~1024,系数二:100=1000/10,1000是毫伏与伏的转换;10是每10毫伏对应一度温升。
   Serial.print("Tep=  ");
   Serial.print(temperature);
   Serial.println(" C");
    delay(500);//延时500毫秒,这里也就是刷新速度。
 
}

 

传感器扩展板的使用

QQ截图20140429120605

在面包板上接插元件固然方便,但你需要有一定的电子知识来搭建各种电路。而使用传感器扩展板,你只需要用通过连接线,把各种接插到扩展板上即可。使用传感器扩展板,你可以更快速的搭建出你自己的项目
传感器扩展板如图所示,它是最常用的Arduino外围硬件之一。

QQ截图20140429120625

在扩展板上,数字引脚和模拟输入引脚边有红黑两排排针,以“+”、“-”号标示。“+”表示VCC,“-”表示GND。在一些厂家的扩展板上,VCC和GND可能也会以“V”、“G”标示。
通常我们习惯用红色代表电源(VCC),黑色代表地(GND),其他颜色代表信号(signal)。传感器与扩展板间的连接线也是这样。

211648o3dzrqcc5am2a3ac

在使用其他模块时,你只需要对应颜色,把模块插到相应的引脚,便可使用了。