使用Arduino Uno对ATtiny85编程

本文介绍如何使用Arduino Uno开发板来对ATtiny85微控制器进行编程。

一、元件清单

1、Arduino UNO

2、ATtiny85

3、10uF/25v电解电容

4、连接导线

二、项目介绍

我正在做一个项目,项目需要从不同的位置读取多个传感器的数据。要实现这个项目只需要用到很少的PWM针脚,如果使用多个Arduino Uno来实现是不必要的,成本也相对较高。因此,我决定使用ATtiny85微控制器来代替Arduino Uno开发板。在一些项目中当我们不需要使用太多的PWM针脚时,使用ATtiny85绝对是正确的选择,因为ATtiny85是一个廉价的微控器,我们只需要Arduino Uno来对它编程即可。在下文中,我将解释具体怎么做。下图是ATtiny85的引脚图,你也可以在这里找到它的datasheet

attiny45/85芯片的引脚定义图

三、Arduino Uno的 ISP 配置

为了能通过Arduino UNO对ATtiny85进行编程,需要对Arduino Uno进行一些配置,首先将Arduino Uno连接到PC上,然后打开Arduino IDE并打开Arduino ISP的示例文件(File -> Examples -> ArduinoISP)再上传这个文件。

四、添加Arduino IDE 对 ATtiny85 的支持

在默认情况下,Arduino IDE是不支持ATtiny85的,所以需要在Arduino IDE中加入对ATtiny的支持。打开“File -> Preferences-> Additional Boards Manager URLs ”,对用中文版应该是“文件->首选项->附加开发板管理网址”,正在输入栏添加:https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

ATtiny添加Arduino IDE支持

然后打开“Tools -> Board -> Board Manager”

ArduinoISP _ Arduino 1.6.4

在弹出的“ Board Manager”窗口中,下拉或搜索找到”attiny by Davis A. Mellis”,然后点击“install”安装它.

Boards Manager

在安装之后,你就可以在”Tools->Board:”菜单中看到”ATtiny”.

ArduinoISP _ ATtiny

五、完成ATtiny85与Arduino UNO的硬件连接

现在万事俱备,我们将开始对ATtiny85进行编程。首先将Arduino UNO与attiny85连接起来,两者间的引脚连接如下:

Arduino Uno –> ATtiny85

Arduino Uno 5V         –>  ATtiny85 Vcc
Arduino Uno Gnd      –>  ATtiny85 Gnd
Arduino Uno Pin 13   –> ATtiny85 Pin 2
Arduino Uno Pin 12   –> ATtiny85 Pin 1
Arduino Uno Pin 11   –> ATtiny85 Pin 0
Arduino Uno Pin 10  –> ATtiny85 Reset

ATtiny85-with-Arduino-Uno
上图,需要在arduino的REST引脚和GND引脚间跨接一个10uF电解电容,目的是为了避免Arduino在程序上传到attiny85的过程中自动重置。如果你使用的是电解电容器,请确保正极接到UNO的GND引脚。

六、上传程序ATtiny85

返回到Arduino IDE,在“ Tools -> Board”中选择ATtiny,在“Tools -> Processor”处选择ATtiny85,

ArduinoISP _ ATtiny85

在“Tools -> Clock”处选择8 MHz (internal)

ArduinoISP _ ATtiny85

最后,确认在“Tools -> Programmer”处,选择 Arduino as ISP

ArduinoISP _ Arduino IDE一定留意,在默认情况下,ATtiny85自动设置在1 MHz(internal),确保设置在8MHz状态下,选择“Tools -> Burn Bootloader

ArduinoISP _ Burn Bootloader

开始烧录 Bootloader,

ArduinoISP _ Burn Bootloader

烧录成功程序将显示上图的信息。然后,打开arduino的Blink示例文件,将PinMode从13改为0,进行上传测试。

Blink修改pinmode测试ATtiny

上传成功将显示如下信息:

blink上传至ATtiny85

现在我们已经上传了blink程序到ATtiny85,现在让我们来测试一下。

七、测试ATtiny85

测试ATtiny85 Blink

正常情况下LED等将间隔 1s 点亮一次,至此使用Arduino Uno对ATtiny85编程完成。

(本文翻译至:https://create.arduino.cc,如有不当之处请联系basemu@126.com。)

分享到:

标签: