HOME > LEDデジタル時計

 LEDデジタル時計 

高速に往復する棒にLEDがついてて時間を表示する時計を見たことがあったので, 簡単にできないかと思ってちょっと実験.
こんな感じで・・・
CIMG4105.JPG

LEDを6個並べてアノードをArduinoのデジタル8-13ピンに接続. カソードコモンで1kΩの抵抗をはさんでGNDに接続.
(デジタル8-13ピンはPB0-PB5)
秋月さんの安いステッピングモータをFETドライバ,MP4401を介してで デジタル4-7ピン(PD4-PD7)に接続して回す.
スケッチは簡単にこれだけ.

const byte MOTOR[]={0x30, 0x60, 0xC0, 0x90, 0x00};  // モータはPORTDへ出力
volatile byte mode=1;                   // モータの加減速・正逆転のモード  
volatile byte pat=0;                     // モータの励磁パターンの位相 
volatile int cnt=0;                          // モータの回転数カウント 
 
void setup()
{
  DDRB |=B00111111;   // PB0-5 LED出力
  DDRD |=B11110000;   // PD4-7 モータ
}

void loop()
{
  if (cnt>300) mode=2;
  if (cnt<100) mode=1;
  
  delayMicroseconds(1200);
  if (mode==1) { cnt++; if (pat < 3) pat++; else pat = 0; }
  if (mode==2) { cnt--; if (pat > 0) pat--; else pat = 3; }     
    
  PORTD &=0x0f; PORTD |= MOTOR[pat];   //モータへパターンの出力
  PORTB &=0xc0; PORTB |= (cnt-100)/2;  // LEDへパターンの出力
}
結果は,シャッタースピードを落として写真を撮るとこんな感じ.
暗いところではまあまあなのですが,明るいところで見ると往復が遅くて残像が 残りません.
CIMG4088.JPG

動画で見るとこんな感じ.

もう少し棒を長くして,ぎりぎりまで速度を上げるとましになるかもしれません.

----------------------------------------
昨日の実験で作った回路を壊すのももったいないので,そのままブレッドボードに 移して,プログラムを作って時計にしました.
バーの動きに加減速を加えて脱超しにくくしましたが,5Vでは速度に限界があり, 速度をあげるには電圧を上げるしかなさそうです.
バーを長くしてなんとか時間が読める程度にはなりました.
CIMG4166.JPG

夕方から遅くまでかかってしまったので予定がまた先送り...

こちらに,LED時計の動画

< 前の記事へ次の記事へ >


ページトップに戻る



ESP32 Wifi Bluetooth開発ボード

Arduino Nano Every
​​
Raspberry Pi pico

FPGA XILINX Artix-7