尝试用ATTINY88开发板做虚拟键盘
本人小白一枚,本职工作跟理工不沾边……作为一个垃圾佬平时闲暇就玩玩LED、小电机啥的模拟威廉希尔官方网站
,一周前翻出来一个超市收银机用的键盘,板载芯片被打磨了,看样子像是51单片机,决定拿出来玩玩,经过一个星期的尝试和学习,不算是经验,就是借助贵宝地做个简单的笔记。
当初,认为最简单的模拟键盘就是ATTINY85的板子digispark,所以撸了一片开始研究和学习arduino基本用法,看看示例啥的,但无奈85的接口太少,8pin中u***占用了4个,无意中发现ATTINY88开发板(mh-et)DIO很多,绝对够用。
计划实现简单的复制剪切粘贴等快捷功能,代码其实很简单,按照DigiKeyboard示例写就好,只不过我加上了一颗ws2812小led。下边代码不全,不含loop。
#include 《DigiKeyboard.h》//按键库
#include 《Adafruit_NeoPixel.h》//ws2812支持库
const int ledpin = 3;//led引脚
const int key1 = 4;//按键1
int showtime = 150;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, ledpin, NEO_RGB + NEO_KHZ800);
void setup() {
pinMode(key1, INPUT_PULLUP);
pixels.begin();
}
重要的是DigiKeyboard.h库的配置,库中调用的u***config.h必须修改
#if defined (__AVR_ATtiny44__) || defined (__AVR_ATtiny84__)
#define USB_CFG_IOPORTNAME B
#define USB_CFG_DMINUS_BIT 1
#define USB_CFG_DPLUS_BIT 2
…………………………………………
#else
/* ATtiny2313, ATmega8/48/88/168 */
#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 1
#define USB_CFG_DPLUS_BIT 2
中间省略号是我自己敲的,因为罗列的型号比较多,唯独没有t88对应的D+D-设置,所以修改最下边的2312、mega等通用配置就行,D- 对应D1pin D+对应D2pin。这个问题卡住我很久……因为我最早关注的是这块板子的BootLoader信息,里边描述的正好相反,直到git上有人试验u***midi成功。
尝试用ATTINY88开发板做虚拟键盘
本人小白一枚,本职工作跟理工不沾边……作为一个垃圾佬平时闲暇就玩玩LED、小电机啥的模拟威廉希尔官方网站
,一周前翻出来一个超市收银机用的键盘,板载芯片被打磨了,看样子像是51单片机,决定拿出来玩玩,经过一个星期的尝试和学习,不算是经验,就是借助贵宝地做个简单的笔记。
当初,认为最简单的模拟键盘就是ATTINY85的板子digispark,所以撸了一片开始研究和学习arduino基本用法,看看示例啥的,但无奈85的接口太少,8pin中u***占用了4个,无意中发现ATTINY88开发板(mh-et)DIO很多,绝对够用。
计划实现简单的复制剪切粘贴等快捷功能,代码其实很简单,按照DigiKeyboard示例写就好,只不过我加上了一颗ws2812小led。下边代码不全,不含loop。
#include 《DigiKeyboard.h》//按键库
#include 《Adafruit_NeoPixel.h》//ws2812支持库
const int ledpin = 3;//led引脚
const int key1 = 4;//按键1
int showtime = 150;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, ledpin, NEO_RGB + NEO_KHZ800);
void setup() {
pinMode(key1, INPUT_PULLUP);
pixels.begin();
}
重要的是DigiKeyboard.h库的配置,库中调用的u***config.h必须修改
#if defined (__AVR_ATtiny44__) || defined (__AVR_ATtiny84__)
#define USB_CFG_IOPORTNAME B
#define USB_CFG_DMINUS_BIT 1
#define USB_CFG_DPLUS_BIT 2
…………………………………………
#else
/* ATtiny2313, ATmega8/48/88/168 */
#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 1
#define USB_CFG_DPLUS_BIT 2
中间省略号是我自己敲的,因为罗列的型号比较多,唯独没有t88对应的D+D-设置,所以修改最下边的2312、mega等通用配置就行,D- 对应D1pin D+对应D2pin。这个问题卡住我很久……因为我最早关注的是这块板子的BootLoader信息,里边描述的正好相反,直到git上有人试验u***midi成功。
举报