使用KittenBot制作一个计时器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5994|回复: 3

使用KittenBot制作一个计时器

[复制链接]
发表于 2017-5-26 21:12 | 显示全部楼层 |阅读模式
通过上次的社区活动,拿到了一片KittenBot 板子,配合之前的大个头的数码管,这里就制作一个计时器。
先说说用到的硬件设备:

1.      一个纸盒,用来做成整体的外壳
2.      数码管
3.      用来将时间复位的按钮
4.      必不可少的KittenBot作为控制器

根据数码管的尺寸,在外壳上打洞
image001.jpg
认真耐心一点很块就可以打好洞,放置数码管刚刚好
image003.jpg
这种网上买到的按键挺好用的,分别是按钮本身,类似微动的开关,黑色的底座。这个按钮是带LED的这次我没有使用,因此就没有安装。
image005.jpg
在盒子右上角也开一个洞,将按钮插入
image007.jpg
前面安装好之后,把这个盒子自带的一个垫板也用上,起到隔离防止短路的作用,同时我使用充电宝给KittenBot供电。
image009.jpg
最终的样子:
image011.jpg
image013.jpg
下面是代码部分:
[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]
最终完成了一个简单的计数器。最重要的特点是足够大,距离很远也可以看得清清楚楚。



发表于 2017-6-1 10:07 | 显示全部楼层
很强大!!有试用Kittenblock软件做计数器吗?
 楼主| 发表于 2017-6-1 10:24 | 显示全部楼层
avirufus 发表于 2017-6-1 10:07
很强大!!有试用Kittenblock软件做计数器吗?

您的意思是直接用那种图形化变成的方式写代码吗?
发表于 2017-6-1 12:42 | 显示全部楼层
Zoologist 发表于 2017-6-1 10:24
您的意思是直接用那种图形化变成的方式写代码吗?

对的对的~ 我在论坛里发的【玩转机器人组件】第2章 - 4位数码管显示模块 2.5
http://www.arduino.cn/thread-46135-1-1.html
用图形编程弄的计时器
可能对想学习编程的友好一点~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 14:55 , Processed in 0.074953 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表