使用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。
三、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
然后打开“Tools -> Board -> Board Manager”
在弹出的“ Board Manager”窗口中,下拉或搜索找到”attiny by Davis A. Mellis”,然后点击“install”安装它.
在安装之后,你就可以在”Tools->Board:”菜单中看到”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
上图,需要在arduino的REST引脚和GND引脚间跨接一个10uF电解电容,目的是为了避免Arduino在程序上传到attiny85的过程中自动重置。如果你使用的是电解电容器,请确保正极接到UNO的GND引脚。
六、上传程序ATtiny85
返回到Arduino IDE,在“ Tools -> Board”中选择ATtiny,在“Tools -> Processor”处选择ATtiny85,
在“Tools -> Clock”处选择8 MHz (internal)
最后,确认在“Tools -> Programmer”处,选择 Arduino as ISP
一定留意,在默认情况下,ATtiny85自动设置在1 MHz(internal),确保设置在8MHz状态下,选择“Tools -> Burn Bootloader”
开始烧录 Bootloader,
烧录成功程序将显示上图的信息。然后,打开arduino的Blink示例文件,将PinMode从13改为0,进行上传测试。
上传成功将显示如下信息:
现在我们已经上传了blink程序到ATtiny85,现在让我们来测试一下。
七、测试ATtiny85
现在来测试最终结果。移除Arduino与ATtiny85的连线,使用一个按钮电池作为电源来测试ATtiny85的运行。连接图如下:
正常情况下LED等将间隔 1s 点亮一次,至此使用Arduino Uno对ATtiny85编程完成。
(本文翻译至:https://create.arduino.cc,如有不当之处请联系basemu@126.com。)