亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 Arduino Uno 对 ATtiny85 进行编程

组件和用品

Arduino UNO
× 1
Microchip Technology ATtiny85
× 1
电解去耦电容器 - 10uF/25V
× 1
跳线 M/M
× 1

关于这个项目

我正在从事一个项目,该项目需要读取不同位置的多个传感器数据。这些只需要很少的 PWM 引脚,因此使用多个 Arduino Uno 既昂贵又不必要。所以我决定使用 ATtiny85 微控制器代替 Arduino Uno 开发板。当您不需要太多 PWM 引脚时,ATtiny85 是一种便宜且功能强大的替代品。由于 ATtiny85 只是一个微控制器,我们需要一个 Arduino Uno 来对其进行编程。在这个项目中,我将解释如何做到这一点。下面是 ATtiny85 的引脚配置,可以在此处找到数据表 http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf。

将 Arduino Uno 配置为 ISP(在系统编程)

要对 ATtiny85 进行编程,我们需要先将 Arduino Uno 设置为 ISP 模式。将您的 Arduino Uno 连接到 PC。打开 Arduino IDE 并打开 ArduinoISP 示例文件(文件 -> 示例 -> ArduinoISP)并上传。

为 Arduino IDE 添加 ATtiny85 支持

默认情况下,Arduino IDE 不支持 ATtiny85,因此我们应该将 ATtiny 板添加到 Arduino IDE。打开文件 -> 首选项并在附加板管理器 URL 中提供此 URL https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json。

完成后打开工具 -> 开发板 -> 开发板管理器

打开 Board Manager 后,向下滚动列表,上面写着“attiny by Davis A. Mellis”。点击它并安装它。

现在安装后,您将能够在 Board 菜单中看到一个新条目

将 ATtiny85 与 Arduino Uno 连接

现在准备好上述所有内容,我们将开始对attiny85进行编程。使用面包板将arduino uno连接到attiny85,如下所示。

Arduino Uno – ATtiny85

  • 5V – Vcc
  • 接地 - 接地
  • 引脚 13 – 引脚 2
  • 引脚 12 – 引脚 1
  • 引脚 11 – 引脚 0
  • 引脚 10 – 重置

在arduino的RESET和GND之间加一个10uF的电容。这是为了避免arduino在我们上传程序到attiny85时被自动重置。如果您使用的是电解电容,请确保阳极连接到 uno 的 GND。

上传程序到 ATtiny85

现在回到 Arduino IDE。在 Tools -> Board 下选择 ATtiny。然后在 Tools -> Processor 下选择 ATtiny85。并在工具 -> 时钟下选择 8 MHz(内部)。

然后确保在 Tools -> Programmer

下选择 Arduino as ISP

默认情况下,ATtiny85 以 1MHz 运行。要使其以 8MHz 运行,请选择 Tools -> Burn Bootloader。

如果引导加载程序成功,您将收到上述消息。

现在打开 arduino 示例中的 Blink 示例并将引脚编号从 13 更改为 0 并上传。

如果一切顺利,您可以看到上面的消息。现在我们已经将blink程序上传到ATtiny85,现在让我们测试一下。

现在是时候进行测试了。移除 Arduino 的所有连接并接通电源。在这里,我将使用纽扣电池为 ATtiny85 供电。

这是在 ATtiny85 上运行的闪烁程序,只有一个电池为其供电。您可以以低成本、低功耗和低空间完成许多项目。这里只有你的想象力,当然还有 PWM 引脚的数量。

把它变成盾

我把上面的电路改成了兼容Arduino Uno的屏蔽。

(注意:作为一名软件开发人员,这是我的第一个电子项目。请提供您的建议以帮助我做更多。)

代码

  • 闪烁程序
闪烁程序C/C++
/* 闪烁 重复打开 LED 一秒钟,然后关闭一秒钟。大多数 Arduino 都有一个可以控制的板载 LED。在 Uno 和 Leonardo 上,它连接到数字引脚 13。如果您不确定板载 LED 连接到 Arduino 模型上的哪个引脚,请查看 http://arduino.cc 上的文档此示例代码位于公共领域。 2014 年 5 月 8 日,斯科特·菲茨杰拉德 (Scott Fitzgerald) 修改 */// 当您按下复位键或为 boardvoid setup() 供电时,设置函数运行一次 { // 将数字引脚 13 初始化为输出。 pinMode(0, OUTPUT);}// 循环函数一遍遍地运行forevervoid loop() { digitalWrite(0, HIGH); // 打开 LED (HIGH 是电压电平) delay(1000); // 等待第二次 digitalWrite(0, LOW); //通过使电压低延迟(1000)关闭LED; // 等待一秒钟}

示意图


制造工艺

  1. Python - 使用 C 进行扩展编程
  2. 带有伊斯兰祈祷时间的 Arduino 时钟
  3. 使用 Arduino 控制硬币接收器
  4. Arduino 带蓝牙控制 LED!
  5. 简单的 UNO 计算器
  6. 使用 Arduino UNO 在 LCD TFT 屏幕上显示图像!
  7. 视觉的坚持
  8. 使用 Arduino Uno 控制 LED 矩阵
  9. 4x4x4 LED 立方体,带有 Arduino Uno 和 1sheeld
  10. 使用 Arduino 测量太阳辐射
  11. 使用 Arduino Uno 和蓝牙进行汽车控制
  12. 25 kHz 4 Pin PWM 风扇控制与 Arduino Uno