通过上次的社区活动,拿到了一片KittenBot 板子,配合之前的大个头的数码管,这里就制作一个计时器。 先说说用到的硬件设备:
1. 一个纸盒,用来做成整体的外壳
2. 数码管
3. 用来将时间复位的按钮
4. 必不可少的KittenBot作为控制器
根据数码管的尺寸,在外壳上打洞
认真耐心一点很块就可以打好洞,放置数码管刚刚好
这种网上买到的按键挺好用的,分别是按钮本身,类似微动的开关,黑色的底座。这个按钮是带LED的这次我没有使用,因此就没有安装。
在盒子右上角也开一个洞,将按钮插入
前面安装好之后,把这个盒子自带的一个垫板也用上,起到隔离防止短路的作用,同时我使用充电宝给KittenBot供电。
最终的样子:
下面是代码部分: [kenrobot_code]#include <Arduino.h>
int count=0;
void setup(){
Serial.begin(115200);
pinMode(4,INPUT_PULLUP);
}
void loop(){
//当计数大于900秒,或者有按下按钮都会重置计数器
if ((count>9000)||(digitalRead(4)==LOW)) {count=0;
}
//显示当前计时
digitalshow(count++);
delay(100);
}
void digitalshow(int value)
{
//这是数码管要求的数据头信息
Serial.write(0xff);
Serial.write(0x00);
Serial.write(0x04); //显示四位数值
//下面是四位当前值
Serial.write(value / 1000);
Serial.write((value - value /1000 * 1000) / 100);
//第三位后面有小数点,最高位为 1 表示显示小数点
Serial.write((value - value /100 * 100) / 10+ 0x80);
Serial.write(value % 10);
//最后一位是亮度
Serial.write(1);
}[/kenrobot_code] 最终完成了一个简单的计数器。最重要的特点是足够大,距离很远也可以看得清清楚楚。
|