工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Adafruit 60 LED NeoPixelリングとArduinoで作るスタイリッシュな壁掛け時計

必要な部品と材料

部品数量備考
Adafruit NeoPixel 1/4 60リング460個のLEDを搭載したリング×4で全240ピクセル構成
eDOTcoreボード1内蔵RTCを持つArduino互換ボード
Arduino UNO1代替用マイコンボード
Arduino Nano R31代替用マイコンボード
Arduino Micro1代替用マイコンボード

使用ソフトウェア

プロジェクト概要

eDOTcore:内蔵RTCを備えた多機能Arduinoボード

このプロジェクトでは、Adafruitの60 LED NeoPixelリングを4つ組み合わせ、eDOTcoreボード(またはArduino UNO/Nano/Micro)で制御するアナログ風デジタル壁掛け時計を製作します。eDOTcoreにはリアルタイムクロック(RTC)が内蔵されており、外付けRTCモジュールなしで正確な時刻管理が可能です。

時計の表示は以下のように色分けされます:

3Dプリント用のケースデータはThingiverseで公開されています。

ソースコード

#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>

#define PIN 6
#define PIXEL 60

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);
RTC_DS1307 RTC;
DateTime Clock;
byte hourval, minuteval, secondval;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  RTC.begin();
  
  if (!RTC.isrunning()) {
    // RTC.adjust(DateTime(__DATE__, __TIME__)); // 初回のみ有効化
  }
  
  strip.begin();
  strip.show();
  strip.setBrightness(20);
}

void loop() {
  Clock = RTC.now();
  secondval = Clock.second();
  minuteval = Clock.minute();
  hourval = Clock.hour();
  
  if (hourval > 11) hourval -= 12; // 12時間表示に変換
  hourval = (hourval * 60 + minuteval) / 12; // 時針を分解能60にマッピング
  
  // 時針表示(中心+前後2ピクセルでグラデーション)
  strip.setPixelColor(hourval, 0x008080);
  strip.setPixelColor(hourval-1, 0x004040);
  strip.setPixelColor(hourval+1, 0x004040);
  strip.setPixelColor(hourval-2, 0x001010);
  strip.setPixelColor(hourval+2, 0x001010);
  
  // 分針表示
  strip.setPixelColor(minuteval, 0x800080);
  strip.setPixelColor(minuteval-1, 0x200020);
  strip.setPixelColor(minuteval+1, 0x200020);
  
  // 秒針表示
  strip.setPixelColor(secondval, 0x808000);
  strip.setPixelColor(secondval-1, 0x002F00);
  strip.setPixelColor(secondval+1, 0x002F00);
  
  strip.show();
  delay(25);
  
  // 表示クリア(残像防止)
  strip.setPixelColor(hourval, 0x000000);
  strip.setPixelColor(hourval-1, 0x000000);
  strip.setPixelColor(hourval+1, 0x000000);
  strip.setPixelColor(hourval-2, 0x000000);
  strip.setPixelColor(hourval+2, 0x000000);
  strip.setPixelColor(minuteval, 0x000000);
  strip.setPixelColor(minuteval-1, 0x000000);
  strip.setPixelColor(minuteval+1, 0x000000);
  strip.setPixelColor(secondval, 0x000000);
  strip.setPixelColor(secondval-1, 0x000000);
  strip.setPixelColor(secondval+1, 0x000000);
}

3Dプリントパーツ

NeoPixelリング用の壁掛け時計ケースのCADデータはThingiverseで公開されています。

製造プロセス

  1. Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
  2. Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
  3. DIY Arduinoワードクロック – 文字で時刻を表示する洗練されたリアルタイムクロック
  4. NeoPixelリングとArduinoで作るインタラクティブジャイロスコープLEDディスプレイ
  5. 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
  6. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  7. ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
  8. Arduino UNO WiFi Webサーバー:ブラウザからLEDをON/OFF制御
  9. Pixie: Arduino Pro Miniで作るNeoPixel腕時計 - アナログとデジタル融合のDIY光る時計
  10. Arduino UNOで作るシンプル電卓 - シリアルモニターで四則演算
  11. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計