Hello,大家好,上次用Arduino Leonardo仿着MakeyMakey改成了一个触摸按键的玩具,大家一定玩的(和吃的)挺happy的吧?呵呵,但是大家有没有想过能用Arduino来干点正事儿呢?这次我就带大家再次动手,把Arduino控制板升级成实用工具,并且带给大家一个神奇的发现。
从真没有到可以有
常用CAD制图的人一定都听说过CAD快速画图时用到的CAD左手键、CAD快捷键吧?在绘图中我发现,要输入一点坐标,其过程是:X坐标值 逗号 Y坐标值 回车。好的,问题来了:常规键盘上的逗号键位距离数字区太远,输入时手位移动过大,我们不得不低下头来看着键盘,或者左手横跨整个键盘,或者右手移动两个位置,才能完成一个坐标值的输入。
有木有逗号键位在数字区旁边的键盘呢?看到上面的说明,不知道你会不会这么想?反正我是想了,但现在手里这个真的没有。没有?不是问题!我们自己做一个,而且还是触摸的!
刚从奥松器人基地入手了一块2013全新的Arduino UNO R3的控制器,这回我们用它来改这个专用键盘,Arduino触摸键盘基本原理可以书接上回:Arduino当做MakeyMakey玩,这里就不再细说啦。这次用的电路连接与程序虽说都源于上次,但都有很神奇的改动。
Arduino UNO R3控制板 还用到了一块扩展板
神奇的电路连接
键盘按键制作方法是用铝箔胶带,剪2 个1cm*1cm的方块,叠双层,粘在键盘向上键位的右侧,中间引出一根杜邦线即可。Arduino UNO R3板上也so easy,但是很巧妙,只需要2根线,一根将A0与触摸铜箔胶带块相连,另一根将A1端口接到+5V,就OK! 连原本用的上拉电阻都省了。不理解这是哪门接法?看了下面的程序你会更不理解,哈哈。实话说,我现在也一样。
神奇的电路连接方法,是不是so easy?
神奇的程序语句
//program name:CAD touch key ","
int InPut0 = 0,InPut1 = 0; //触摸输入值暂存
int TouchedValue = 400; //临界比较值
void setup()
{
Serial.begin(9600);
}
void loop()
{
InPut0 = analogRead(A0);
InPut1 = analogRead(A1); //程序中最神奇的一句,其实本没有A1口什么事情的,但真的:没有你不行
if(InPut0 <= TouchedValue ) //按键检测及去抖动
{
delay(20);
if(InPut0 <=TouchedValue)
{
Serial.write(','); //发送","字符
}
}
delay(50); //调整按键重复速率
}
神真的出现了
我目前也只能这么解释给自己了,因为我和我的小伙伴们都惊呆了。
程序相比上次要简洁得多,效果挺成功,几乎没出过错,就是因为里面貌似多余的一句:InPut1 = analogRead(A1)!这是歪打正着弄出来的,也是电路接法如此简单的成因。制作成功归成功,但科学不能靠神来解释,是要求真像的,我认为这个可以有。在此留下奥松机器人前沿科技版块地址,求回复,讨论一下程序与接法,共同进步。
专用触摸式坐标输入,CAD快捷制图,那是相当快
快去动手吧,这样的“CAD快捷键”工具虽还不足以让你成为神级人物,但还是会一定程度上提高你工作效率的。而且,你不想来感受一下这神奇的程序吗?
相关链接:
奥松机器人官网 :Http://www.alsrobot.cn
奥松机器人前沿科技: http://www.alsrobot.cn/article_cat-14.html
Arduino UNO R3: http://www.alsrobot.cn/goods-141.html
Arduino Leonardo: http://www.alsrobot.cn/goods-114.html
Arduino 传感器扩展板v5.0 : http://www.alsrobot.cn/goods-147.html
近期新闻
热门新闻
奥松智能微信