分享

【创客学堂】Arduino改做MakeyMakey玩

 AI科技馆 2017-09-15

    MakeyMakey,最近网上很火的一个小板子,它可以给我们眼前几乎所有的东西都增加新功能,水果也不光可以吃,还可以用来玩啦。

    MaKey MaKey是什么呢?它是一块由麻省理工学院媒体实验室的两位博士开发出的电路板。通过这块电路板,你可以让任何物件成为你实现创意的工具:本子粘上橡皮泥就成了超级玛丽游戏手柄;一家人在一起可以组建一套架子鼓;要是键盘的哪个按键掉了,找个水果便可替换;只要你愿意,石头也能变钢琴……
    前些天参与一个科技夏令营的活动,我有机会接触到了MakeyMakey,真的通过它用香蕉弹一回钢琴,只有试过后你才能知道,哈哈,果然非凡触控感觉!可是呢,毕竟只体验了那么一会儿,东西不是自己的哦,不过对于Arduino爱好者来说,这都不是事儿,咱们自己做一个!  

 

Makey Makey 用水果来玩游戏

MakeyMakey与水果 

    其实MakeyMakeyArduino是近亲,它与Arduino Leonardo用的主控芯片都是ATMega32u4。 在MakeyMakey官方网站上面,人家就说过了:“You could say this board is 2 in 1. MaKey MaKey runs on top of Arduino.” 后面还说了下MakeyMakey的工作原理及主要的电路元件:它是利用10-50兆欧姆的(比人体电阻大很多的)上拉电阻上拉端口电位,当人体或香蕉等触碰到端口引脚时,就会使端口电平为低,单片机检测到后,模拟指定的键盘鼠标动作。

    话说昨天刚刚发配了一块Arduino Leonardo,还有一个传感器扩展板,刚一到手,我马上就想到了一个词:MakeyMakey! 立马心潮澎湃啊,改MakeyMakey,必须的!

奥松机器人2013年最新推出的Leonardo 传感器扩展板v5.0

                   奥松机器人2013年最新推出的Leonardo             传感器扩展板v5.0

    看了一下网上的相关资讯,觉得Leonardo改MakeyMakey硬件上没什么说的,在模拟口上加上拉电阻,不要另改USB(因为一不小心真的会让USB口game over),而是用串口通过软件模拟成键盘。但程序上感觉不太好用,所以自己试着写了一个,用上了按键去抖动的段子,您别说,效果还不错,确实跟MakeyMakey触控有些神似了。
下面是部分主要程序,供参考:

//Leonardo to MakeyMake
int InPut0 = 0, InPut1 = 0;  //触控输入值初始化
int TouchedValue = 400; //临界比较值,此值可以在硬件连接好后用Arduino IDE里面的AnalogReadSerial程序,改成检测A0-A5口,然后在动作中实际检测,准确一些
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  InPut0 = analogRead(A0);               
  InPut1 = analogRead(A1);
  if(InPut0 <= TouchedValue ) //检测按键并去抖动
  {
    delay(20);
    if(InPut0 <=TouchedValue)
    {
     
      Serial.write('0'); //发送字符0
    }
  }
  if(InPut1 <= TouchedValue)
  {
    delay(20);
    if(InPut1 <=TouchedValue)
    {
     
      Serial.write('1'); //发送字符1
    }
  }
   
  delay(50);   //可调重复触发速度
}
//程序结束

 

Leonardo,转接板与香蕉连接图


Leonardo及转接板与香蕉连接图

    在Leonardo加八分熟"香蕉钢琴键"的条件下,改成的"MakeyMakey"还是挺好用的,不过可能你用的时候要对参数小小的修改一下,呵呵。

      未触摸到A0端口时的A0口状态        接触到A0端口时的A0口状态

测定临界值:未触摸到与触摸到A0端口时状态对比

    怎么样?看这到里你一定动心了吧?是玩心还是吃心呢?:) ,相信你自己做出的MakeyMakey特别版,一定会让你也体验到用身边的事物做触控的新奇感觉!

相关链接:
奥松机器人官方网站:http://www.
MakeyMakey官网:
http://www./
正在用的Leonardo控制器:
http://www./goods-224.html
正在用的传感器扩展板v5.0 :
http://www./goods-147.html

    编外一提:看到那生成的巨大的程序代码量,真担心哪天我的Leonardo 肚子装不下啦,在这里推荐一篇有关缩减代码的文章,挺不错的,来自奥松机器人官网前沿科技,文章地址: http://www./article-90.html
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多