突然ですが、ジャンク品としてアナログカウンタを入手したため、時計(ストップウォッチ)を作ってみました。外観がこのような感じです。
アナログカウンタを暇なときにカチカチといじっていた時に、なんか時計っぽいなと思い作ってみることにしました。アナログカウンタをサーボで一定間隔ごと押して数字を変えていく仕組みです。
外装は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 件のコメント:
コメントを投稿