2016年2月9日火曜日

アナログカウンタによる時計作成

 前回の投稿から1年以上たってしまったのですが、これからはもう少し早いペースで更新していきたいと思います。

突然ですが、ジャンク品としてアナログカウンタを入手したため、時計(ストップウォッチ)を作ってみました。外観がこのような感じです。


アナログカウンタを暇なときにカチカチといじっていた時に、なんか時計っぽいなと思い作ってみることにしました。アナログカウンタをサーボで一定間隔ごと押して数字を変えていく仕組みです。


外装は3Dプリンタを使って作っています。また、今回は細かい穴をパテで埋め、その後何回かサーフェイサーを吹いて表面を滑らかにしています。またこの動作がこちらの動画です。



このよぅに、1秒ごとにカウンタを押していく簡単な仕組みです。ただ秒から分への桁上がりに関しては、早送りさせることによって実現しています。しかし、サーボの動作速度が低速なため、60秒から次の秒数まで行くのに非常に時間がかかってしまいます。
もう少し、速いサーボが手に入ったらもっと高速な桁上げを実現したいです。
以下ソース
#include <Servo.h> 
Servo servo;

int num=0;

void setup() 
{ 
  servo.attach(6);
  Serial.begin(9600);

} 

void loop() {
  double dob_kai;
  int kai;
  for(int a=0;a<10;a++){//時
    for(int b=0;b<60;b++){//分
      while(1){
        dob_kai=millis();
        kai=dob_kai/1000+(b*40)+(c*4000);
        counter(kai);//秒表示
        if((((kai/10)%10)*10+(kai%10))>60){
          break;
        }
      }
    }
  }
}

int counter(int x) {//クロック表示用関数
  int i;
  for(i=0;i<x-num;i++){
    servo.write(80);
    delay(200);
    servo.write(20);
    delay(200);
  }
  num=num+i;      
}



参考にしたサイト
Arduinoで始めるロボット制御
http://www.vstone.co.jp/vs_wiki/main/wiki.cgi?page=Arduino%A4%C7%BB%CF%A4%E1%A4%EB%A5%ED%A5%DC%A5%C3%A5%C8%C0%A9%B8%E6

ソースの表示に関して
何かをやりたい何かになりたい bloggerでSyntaxHighlighterを表示する方法
http://trueman-developer.blogspot.jp/2015/10/bloggersyntaxhighlighter.html







0 件のコメント:

コメントを投稿