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

高精度LEDマトリクスクロック:DS3231 RTC・BME280環境センサー・BH1750光センサー・ESP-01 NTP同期搭載

必要な部品と材料

部品 数量 備考
Arduino Nano R3 1
DS3231M RTCモジュール 1 安価なものでOK。充電抵抗除去推奨
BME280環境センサー(温湿度・気圧) 1
BH1750光センサー 1 自動輝度調整用
MAX7219 32x8 LEDマトリクス 1
10µFコンデンサー 2
ESP8266 ESP-01 1 NTP時刻同期用(オプション)
LM3940IT-3.3(3.3V LDO) 1 ESP-01用電源
レベルシフターボード 1 ESP-01用(5V⇔3.3V変換)

プロジェクト概要

Nick氏のLED Word Clockに触発されて制作。彼のコードをベースに、複数センサー追加、ボタン操作、ESP-01によるNTP同期機能を実装しました。

主な機能:

コードリポジトリ: https://github.com/Ratti3/miniclock

ESP-01 NTP同期の動作ログ例


Arduino : Sent NTP request to ESP01
ESP01   : NTP request received from Arduino [attempt 1 of 3]
Connecting to SSID: TheInternets....connected
SSID: TheInternets, IP Address: 192.168.0.135
Signal Strength (RSSI): -42 dBm
Sending NTP packet to: 195.195.221.100 [attempt 1]
Sending NTP packet to: 195.195.221.100 [attempt 2]
UNIX1562848457
Disabling WiFi....ok

ケース制作中。光センサーの閾値はご自身の環境に合わせて調整してください(開発時は窓際の明るい環境で調整)。

高精度LEDマトリクスクロック:DS3231 RTC・BME280環境センサー・BH1750光センサー・ESP-01 NTP同期搭載
高精度LEDマトリクスクロック:DS3231 RTC・BME280環境センサー・BH1750光センサー・ESP-01 NTP同期搭載
高精度LEDマトリクスクロック:DS3231 RTC・BME280環境センサー・BH1750光センサー・ESP-01 NTP同期搭載
...(多数の製作過程写真)...

配線まとめ


DS3231, BH1750, BME280: SCL = A5, SDA = A4, VCC = 3.3V
LEDマトリクス: CLK = D11, CS = D10, DIN = D12, VCC = 5V
スイッチ: D2=メニュー, D3=日付/+, D4=温度/-, D5=表示オプション
ESP-01(オプション): D7=ESP_TX, D6=ESP_RX

主な設定パラメータ(EEPROM保存対応)


// 時計設定
byte intensity = 2;          // [200] 初期輝度 0-15
byte clock_mode = 0;         // [201] 表示モード
bool random_mode = 0;        // [206] ランダム表示モード
bool random_font_mode = 0;   // [207] ランダムフォント
bool ampm = 0;               // [208] 12/24時間制

// 光センサー設定
byte display_mode = 5;       // [202] 表示ON/OFFモード
bool auto_intensity = 1;     // [209] 自動輝度調整
byte hour_off_1 = 21;        // 消灯判定時刻1
byte hour_off_2 = 22;        // 消灯判定時刻2
byte hour_off_3 = 23;        // 消灯判定時刻3

// フォント設定
byte font_style = 2;         // [203] 大きいフォントスタイル
byte font_offset = 1;        // [204] フォントオフセット
byte font_cols = 6;          // [205] フォント列数

// DST/NTP/UTC設定
bool dst_mode = 1;           // [210] DST有効
bool ntp_mode = 1;           // [211] NTP有効
byte ntp_adjust = 1;         // NTP取得後の調整秒数
int8_t utc_offset = 0;       // [213] UTCオフセット(時間)
byte ntp_dst_hour = 2;       // 日次同期実行時刻(DST使用時は2時推奨)
byte ntp_max_retry = 3;      // NTPリトライ回数
byte ntp_timeout = 45;       // タイムアウト秒数(×リトライ回数)

// WiFi設定(ESP-01にシリアルで渡す)
const byte ssid_len = 8;
const char ssid[] = "YourSSID";
const byte pass_len = 12;
const char pass[] = "YourPassword";
// SSID+パスワード合計72文字以内

製造プロセス

  1. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  2. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  3. アナログ風LED POVクロック – Arduino Nanoで作る残像時計
  4. ホットグルー棒で作るLEDマトリックスランプ - カラフルなディスプレイを自作
  5. Windows 10 CortanaでBluetooth経由でArduinoのLEDを制御
  6. Arduino Nanoで作る8×8 LEDマトリックスのフリップクロック - 自作リアルタイムクロック
  7. Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
  8. GPS搭載高精度クロック - 安価で信頼性の高い時計製作
  9. Bluetooth対応8×8 LEDマトリックス スクロール文字表示 Arduinoプロジェクト
  10. Arduino MegaとMAX72XX LEDマトリックスで作るクラシック「アステロイド」ゲーム
  11. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計