玩转自制teensy实例--按钮控制
Anymous (听说集齐7枚wb能召唤神龙,兑换树莓派,点击右边感谢收集wb,召唤神龙!) | 2015-01-16 01:17
当有一个teensy时,在不同的场景下,你可能想让它执行不同的命令
而一个按钮可能就是一个非完美的廉价方案了。
因为不是最终设计,焊接的是排针,这样可以方便做实验(可以轻松拔插,而不用费劲焊接)
官方的micro的排针是向下的,我把它反是为了提高空间利用率,缺点是板上的标示符有所被遮挡
如果定型之后,可以去掉排针,把使用的小按钮和LED直接焊上就行,而不用实验所用的大家伙。
这样更容易嵌入别的设备中。
我这里是通过按按钮的时间长短来控制执行哪个命令段,我有附加一个led来作为指示灯
上代码,因为是山寨micro,接口略不同,使用时需要矫正pin口号
arduino ide 1.0.6
int pin = 5;//按钮接的数字口 int p2 = 15;//LED接的数字口 unsigned long time; void setup() { Keyboard.begin(); pinMode(pin, INPUT); } void light(int p,int t) { int i; for(i=0;i<3000;i=i+t)//闪烁时间限制在3s,好像长了些。。。 { digitalWrite(p,HIGH);//LED亮 delay(t); digitalWrite(p,LOW);//LED灭 delay(t); } } void key()//测试命令的共同部分 { Keyboard.press(KEY_LEFT_GUI);//按下win键 delay(500); Keyboard.press('r');//按下r键 delay(500); Keyboard.release(KEY_LEFT_GUI);//释放win键 Keyboard.release('r');//释放r键 delay(500); Keyboard.println("cmd");//输入并回车 delay(1000); Keyboard.println("notepad"); } void loop() { time = pulseIn(pin, HIGH,60000000);//脉冲计时,最高60s if(time>100000&&time<3000000)//0.1s至3s之间 { light(p2,250); key();delay(2000); Keyboard.println("This is A command!"); } else if(time>=3000000)//大于3s { light(p2,50); key();delay(2000); Keyboard.println("This is B command!"); } }
另外的方案是用millis()函数计时(估计得带块手表)比较精确的按下控制时间来执行更多的不同命令。
还可以设计成在一定时间内,根据你按下的次数(小学数学是多么重要)来执行不同命令。(今天晚了,更多代码等等再奉上)
陆续更新实例ing...
由于手中没有sd卡,GSM等模块,所暂无法更新相关实例
大牛勿喷
各种吐槽:
1#
小威 (http://www.foxck.com) | 2015-01-16 08:33
good job
2#
light (沃尔夫冈·阿玛多伊斯·莫扎特 奥地利作曲家 ,不仅是古典主义音乐的杰出大师,更是人类历史上极为罕见的音乐天才,有“音乐神童”的美誉。他短暂的一生为世人留下了极其宝贵和丰富的音乐遗产。 1756年1月27日生于奥地利(神圣罗马帝…<img src="http://zone.wooyun.org/themes/wooyun/images/v-15.png" width="12px" height="12px" style="margi) | 2015-01-16 09:57
可以再加几个按钮,实现以下功能:
↓→ + A :nmap扫描
→↓→ + A :sql注入
←↓→←↓→ + AB :DDOS攻击
3#
Anymous (听说集齐7枚wb能召唤神龙,兑换树莓派,点击右边感谢收集wb,召唤神龙!) | 2015-01-16 10:03
@light 那直接把按钮换成摇杆就行了,也不贵,不过安在这么小的东西上。。。
使用拳皇大招组合技释放技能。。。
4#
Anymous (听说集齐7枚wb能召唤神龙,兑换树莓派,点击右边感谢收集wb,召唤神龙!) | 2015-01-16 10:05
@light 不过你说的功能不适合它
5#
light (沃尔夫冈·阿玛多伊斯·莫扎特 奥地利作曲家 ,不仅是古典主义音乐的杰出大师,更是人类历史上极为罕见的音乐天才,有“音乐神童”的美誉。他短暂的一生为世人留下了极其宝贵和丰富的音乐遗产。 1756年1月27日生于奥地利(神圣罗马帝…<img src="http://zone.wooyun.org/themes/wooyun/images/v-15.png" width="12px" height="12px" style="margi) | 2015-01-16 10:05
@Anymous 好主意 可以在树莓派上试试 哈哈哈。我现在去隔壁借个树莓派先。
6#
Anymous (听说集齐7枚wb能召唤神龙,兑换树莓派,点击右边感谢收集wb,召唤神龙!) | 2015-01-16 10:09
@light 树莓派完全可行,但那已经不是硬件上的攻防了,那只是通过硬件操作树莓派