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