自制Digispark: 最小USB Arduino
本帖最后由 smching 于 2013-6-2 11:58 编辑相信很多人已经知道什么是Digispark。Digispark是一个基于ATTINY85微控制器的USB开发板,体积小且价钱便宜,功能方面则没有Arduino般强大。代码与Arduino大同小異,更可贵的是使用Arduino IDE来开发。所以说呀,懂得Arduino的朋友,却不认识Digispark,将是一损失。
这里教你怎样制造属于自己的Digispark,当然你也可以去Digispark的官方网站买现成的产品,一个Digispark要价美金8.95。
Digispark是Digistump LLC (digistump.com)版权所有,请使用者仔细阅读Digispark使用协议和版权声明
Digispark与Arduino一样,使用前必须把Bootloader烧录至ATTIN85微控制器。此 Bootloader将占用2KB快闪记忆体(Flash memory),使仅有8KB快闪记忆体的 ATTIN85,最后只剩下6KB可以使用。
Digispark规格说明:
[*]支持Arduino的IDE 1.0 +(现在是1.04)
[*]内置USB
[*]6个I / O引脚
[*]8K快闪记忆体(Bootloader占用了2KB。剩下约6KB)
[*]I2C和SPI
[*]3个PWM
[*]4个ADC
天呀,连Reset引脚也动用了,使之变成IO。
下载与烧录Bootloader
下载micronucleus tiny85 bootloader,把micronucleus-t85-masterirmwareeleasesmicronucleus-1.06.hex烧录至ATTINY85微控制器。
必须使用以下fuses设定,我是使用AVRISP MKII配置AVR Studio。
[*]Extended: 0xFE
[*]High: 0xDD
[*]Low: 0xE1
安装Digispark USB驱动
[*]下载用于Digispark的Arduino 1.0.4,文件里带有Digispark USB驱动
[*]运行DigisparkArduino-Win32DigisparkWindowsDriverInstallDriver.exe
Digispark电路图
下面电路图来方Digispark官方网站,另一张电路图则是用于测试,5V电源由电脑的USB通信口供给,少了一些组件。
建议使用外部USB Hub连接Digispark,以免电路出现问题而损坏电脑的USB通信口。
连接与测试Digispark
[*]把Digispark插入电脑的USB通信口
[*]第一次使用时,将会侦察到新的USB设备,同时显示安装Digispark Bootloader,单击Next直至完成USB设备安装
[*]运行DigisparkArduino-Win32Digispark-Arduino-1.0.4arduino.exe以便打开Arduino IDE
[*]单击Tools>Board>Digispark (Tiny Core)
[*]单击Tools>;Programmer>Digispark
[*]测试一个代码。单击File>Examples>Digispark_Example>Start
[*]把此代码上载至ATTINY85微控制器
上载代码有一点点麻烦,那就是每次上载前,Digispark必须与电脑断开,直至电脑显示插入Digispark时,才将之插回电脑。
大功告成
将ATTINY85引脚5(Digital 0)和引脚6(Digital 1)各连接一个330欧姆电阻器及LED 。开电测试,你会看到二粒LED间隔一秒的闪着。
http://ediy.com.my/images/Blog/Digispark/Digispark_with_2_LED.jpg
Digispark能做些什么呢?
打开Examples,一目了然。麻雀虽小,五脏俱全。
http://ediy.com.my/images/Blog/Digispark/Arduino_for_Digispark_Examples.jpg
更多图片
http://ediy.com.my/index.php/201 ... /item/71-digispark-最小usb-arduino
更新 23/05/13 11.34AM
使用Frizting画了一张面包板电路图 哈哈哈长得好可爱啊 Digispark 记下来了... 这个不错哦.. 灰常mini,就是不知道下了bootloader还有多少空间了 呵呵 smfox10 发表于 2013-5-22 21:34 static/image/common/back.gif
灰常mini,就是不知道下了bootloader还有多少空间了 呵呵
看帖子不认真,打pp zcbzjx 发表于 2013-5-22 21:46 static/image/common/back.gif
看帖子不认真,打pp
:D看到了6K的空间真的很考验编程能力了呵呵,我觉得板子不是最小就最好,板子不占空间但是电源也会占空间吧。所以综合起来,我觉得制作最好用张老师的Micro板子:lol 本帖最后由 smching 于 2013-5-23 09:28 编辑
smfox10 发表于 2013-5-22 22:01 static/image/common/back.gif
看到了6K的空间真的很考验编程能力了呵呵,我觉得板子不是最小就最好,板子不占空间但是电源也会占空间 ...
张老师的microduino很不错,我也很喜欢。不过需要使用USB至串行模块与电脑沟通。
Digispark则自带了USB接口,直接插入电脑沟通。上载以下代码(sketch)至Digispark,使Digispark形成HID(就是一个虚拟USB键盘),用于设计数据记录仪(Data Logger),非常方便。
#include "DigiKeyboard.h"
void setup() {
// don't need to set anything up to use DigiKeyboard
}
void loop() {
// this is generally not necessary but with some older systems it seems to
// prevent missing the first character after a delay:
DigiKeyboard.sendKeyStroke(0);
// Type out this string letter by letter on the computer (assumes US-style
// keyboard)
DigiKeyboard.println("Hello Digispark!");
// It's better to use DigiKeyboard.delay() over the regular Arduino delay()
// if doing keyboard stuff because it keeps talking to the computer to make
// sure the computer knows the keyboard is alive and connected
DigiKeyboard.delay(5000);
}
以上代码占用了3207Byte 你太厉害啦,刚出来你就做出来了?有没有板子出售啊?PCB空板有没有? philhoo 发表于 2013-5-23 17:06 static/image/common/back.gif
你太厉害啦,刚出来你就做出来了?有没有板子出售啊?PCB空板有没有?
我没有出售板子,PCB空板也没有,纯是让大家分享一下Digispark。已经很简单了,自己动手做吧:D 好东西!顶一下! 悲剧呀,先写入熔丝位,竟然芯片不能读写了,怎么回事呀,伤不起呀 研究一下熔丝位配置先 pgf017979 发表于 2013-5-26 12:59 static/image/common/back.gif
悲剧呀,先写入熔丝位,竟然芯片不能读写了,怎么回事呀,伤不起呀
你是使用什么烧录器?怎样写入熔丝位?遇到什么问题? 终于搞懂啦,虽然牺牲了两个芯片
我是按照官方给的熔丝位烧写的,原来烧写了之后复位脚变成pin5脚,一定要先下载bootloder后烧写熔丝位。楼主给的熔丝位,复位脚不能做pin5的。好处是可以随时改变熔丝位,坏处是,本来只有6个pin口,少了一个更不好,不够管脚。玩了一下这个,好佩服呀,真强大。很多库都是现成的。建议坛友玩一下。