玩转自制teensy实例--按钮控制

Anymous (听说集齐7枚wb能召唤神龙,兑换树莓派,点击右边感谢收集wb,召唤神龙!) | 2015-01-16 01:17

当有一个teensy时,在不同的场景下,你可能想让它执行不同的命令

而一个按钮可能就是一个非完美的廉价方案了。

因为不是最终设计,焊接的是排针,这样可以方便做实验(可以轻松拔插,而不用费劲焊接)

官方的micro的排针是向下的,我把它反是为了提高空间利用率,缺点是板上的标示符有所被遮挡

官方的micro的排针是向下

如果定型之后,可以去掉排针,把使用的小按钮和LED直接焊上就行,而不用实验所用的大家伙。

这样更容易嵌入别的设备中。

我这里是通过按按钮的时间长短来控制执行哪个命令段,我有附加一个led来作为指示灯

电路图

测试视频:VID_20150116_010026.mp4

上代码,因为是山寨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 树莓派完全可行,但那已经不是硬件上的攻防了,那只是通过硬件操作树莓派