901 字
5 分钟
Arduino Digispark(ATTINY85) 使用经历

关于Digispark(ATTINY85)12#

Digispark大小#

板子的大小基本和一元硬币差不多。

Digispark规格参数#

  1. 支持Arduino IDE 1.0+:arduino是一种开源平台,可以用官方的或者第三方的库,编程相对来说要简单很多。 
  2. 供电方式:USB供电或者外部供电,供电范围我的那款使用的78M05稳压电路,可能是因为电容的耐压值比较低,所以输入电压最大只能到16V
  3. 内置USB: digispark 可以像Arduino Nano那样用串口进行下载,不过这个串口是软件通过硬件虚拟出来的。
  4. IO口: 6个IO口(2个用于USB通信)其中包含:3个PWM接口, 4个ADC接口,支持I2C和SPI 
  5. 存储容量:8K Flash存储(2K用于Bootloader),是一款非常轻量级的单片机

吐槽:有一说一,国内这玩意的价格一个在20块左右,都快和Nano一个价了,买来也就图一乐。

我的购买地址:Attiny85微型USB接口digispark开发板扩展板V3.0编程板模块升级版

关于环境配置与程序烧录3456#

Window下的环境配置与程序烧录#

1.在 文件>>首选项>>附加开发板管理器网址 中增加如下地址:

http://digistump.com/package_digistump_index.json

2.在 工具>>开发板>>开发板管理,搜索”Digistump AVR Boards”,并完成安装:

3.在DigistumpArduino项目的tools文件夹中,下载micronucleus-2.0a4-win.zip,下载完成后解压并安装对应的驱动程序。

4.完成以上步骤后插入Digispark单片机,打开设备管理器,在“查看”中选择显示隐藏的设备,如果发现设备端口在未知设备里,就对这个设备更新一下驱动即可。

5.打开ArduinoIDE,在开发板中选择Digistump AVR Boards>>Digispark(Default - 16.5mhz),编程器选择micronucleus,无需选择端口,直接编译烧录即可。

Ubuntu下的环境配置与程序烧录:#

Ubuntu下关于Arduino IDE的配置都和上面Windows的大致相同,根据Linux Troubleshooting中描述的,可以通过指令:

Terminal window
sudo apt install libusb-1.0.0

安装驱动,安装完成后也成功识别到了,但在烧录程序时报错了:

Running Digispark Uploader… Plug in device now… (will timeout in 60 seconds) micronucleus/micronucleus_lib.c:66:micronucleus_connect ‘res >=4’ failed. Aborted (core dumped)

Linux Troubleshooting中也对这个错误进行了解析:

a result of bad permissions(权限不足)

但即使我使用了root权限也没有成功烧写,依旧报如上错误,等过些时候再看看。

确实需要在ROOT权限下进行烧录,如果发生如上错误,可以尝试拔了并重新插上再烧录(这个问题在Windows上也会出现),完成如上步骤后再进行烧录它会在65%的时候停止,并报错:

Flash erase error -71 has occured …

按照后面的步骤,需要创建并编辑 /etc/udev/rules.d/49-micronucleus.rules,内容如下:

# UDEV Rules for Micronucleus boards including the Digispark.
# This file must be placed at:
#
# /etc/udev/rules.d/49-micronucleus.rules (preferred location)
# or
# /lib/udev/rules.d/49-micronucleus.rules (req'd on some broken systems)
#
# After this file is copied, physically unplug and reconnect the board.
#
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.

完成后就可以愉快地使用Digispark ATTINY85,如果还是报错可以多烧写几次,不得不说还是DIP封装的ATTINY85+面包板好使…

Footnotes#

  1. Attiny85 芯片 digispark微型单片机介绍篇

  2. High-Voltage Serial Programmer – Rescue AVR Chips

  3. Digispark(ATTINY85) 微型开发板驱动与开发环境安装教程

  4. Connecting and Programming Your Digispark

  5. Linux Troubleshooting

  6. DigistumpArduino

Arduino Digispark(ATTINY85) 使用经历
https://fuwari.vercel.app/posts/嵌入式/arduino/arduino-digispark-attiny85-使用经历/
作者
Asuwee
发布于
2021-07-28
许可协议
CC BY-NC-SA 4.0