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

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

特徴

必要な部品

基本構成(ブレッドボード版)

部品数量備考
Arduino Uno1スタンドアロン化時はATmega328P-DIP + 16MHz水晶 + 22pF×2 + 7805 + コンデンサ類
16x2 キャラクタLCD (白文字/青背景)1HD44780互換、ピンヘッダー実装済み推奨
DS1302 RTCモジュール132.768kHz水晶付き
コインセルホルダー + CR20321PCB版ではCR1220
TMP36またはDHT211温度のみならTMP36、温湿度ならDHT21
水銀傾きスイッチ1アラーム停止用(カプセル化タイプ推奨)
パッシブブザー1アラーム音用(10µFでDCカット)
10kΩトリマーポテンショメータ1LCDコントラスト調整
10kΩ抵抗4ボタンプルアップ用(内部プルアップ使用時は不要)
470Ω抵抗1ブザー電流制限
10µFコンデンサ1ブザーDCカット用
タクトスイッチ 6×6mm (13mm軸)3SETUP, INCREMENT, DECREMENT

PCB版追加部品(スタンドアロン化)

ケース製作用

回路図とPCB

ブレッドボード版は比較的シンプル。LCDは4ビットモードでD4〜D7、RS、Eを接続。RTCは3線式(CE, IO, SCLK)。ボタンはアナログピンA0〜A3に接続し、内部プルアップを使用する場合は外付け抵抗不要。

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

注意:LCDを右角ピンヘッダーでPCBに直付けする場合、ケースへの組み込みが非常に困難です。スルーホールめっき済み両面基板なら、LCDを後から基板上でハンダ付け可能で組み立てやすくなります。

操作方法

3つのボタン(SETUP, INCREMENT, DECREMENT)と傾きスイッチで操作。

バックライト

ボタン機能(バックライト点灯時)

ボタン通常時設定モード時
SETUP設定モード突入カーソル移動:時→分→日→月→年→誕生日→誕生月→誕生年→アラーム時→アラーム分→時計モード戻り
INCREMENT表示スタイル切替(10種類を循環)カーソル位置の値を増加
DECREMENTアラームON/OFF切替カーソル位置の値を減少
傾きスイッチ−アラーム鳴動時のみ:傾ける/ボタン押下で停止

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

表示スタイル詳細

1. 標準 (STANDARD)

上段:時:分:秒 | アラーム時:分

下段:日/月/年 | ALARM点滅表示

2. デュアル太字 (DUAL_THICK)

2行×3文字幅のカスタム文字で太い大型数字表示。12/24時間切替定義対応。

3. デュアルベベル (DUAL_BEVEL)

立体的なベベル(斜面)エッジを持つ大型数字。12/24時間切替定義対応。

4. デュアルTrek (DUAL_TREK)

秒表示含む3セグメント風大型数字。コロンもカスタム文字で点滅。

5. デュアル細字 (DUAL_THIN)

1文字幅1ピクセルの細い大型数字。アラーム時刻を右端に常時表示。12/24時間切替定義対応。

6. ワードクロック (WORD)

時刻を英単語で表現("TWELVE THIRTY"等)。右上に砂時計アニメーション(8フレーム)。

7. バイオリズム (BIO)

誕生日から計算した3サイクルをバーグラフ表示:

上バー=プラス期、下バー=マイナス期、バー長=振幅。誕生日設定必須。

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

8. 温湿度計 (THERMO)

DHT21センサーで読み取った温度(℃)と湿度(%)を大型数字で表示。カスタム文字で温度計/水滴アイコン表示。

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

スタンドアロン版(PCB)の製作

  1. EagleファイルからPCB発注またはトナー転写法で自作
  2. 部品実装:ATmega328P、水晶、レギュレータ、RTC、LCDコネクタ、ボタン、ブザー等
  3. LCDは右角ピンヘッダーで基板実装(スルーホールめっき推奨)
  4. 3Dプリントケース(2パーツ)に基板をM3ネジで固定(穴位置調整用に4mm拡大推奨)
  5. DHT21をケース背面の3ピンコネクタに接続

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

マルチディスプレイLCD目覚まし時計:カスタマイズ可能な10種類の表示フェイス

ソースコードの構成ポイント

単一スケッチ(DigitalClockAlarmV7.ino)で全機能実装。主な構成:

ライブラリ

カスタム文字定義(PROGMEM配置)

主要な状態管理

EEPROMマップ

アドレス内容
0アラーム時 (0-23)
1アラーム分 (0-59)
2アラームON/OFF
3現在の表示スタイル
4-5誕生年 (16bit)
6誕生月 (1-12)
7誕生日 (1-31)

PME/機械学習は不使用

このプロジェクトではArduino 101のPMEは使用せず、純粋な時刻・センサー処理とカスタム文字描画に特化しています。Uno/ATmega328でも動作します。

アップデート履歴

クレジット(ベースとなったプロジェクト)

改善・拡張アイデア

まとめ

このプロジェクトは、単なる目覚まし時計を超え、「表示表現のバリエーション」「ユーザー設定の永続化」「環境センシング」「機械的インタラクション(傾きスイッチ)」をコンパクトなLCDデバイスに凝縮した優れた学習・実用プロジェクトです。コードはモジュール化されており、各表示スタイルの描画関数が独立しているため、新しいフェイスの追加や既存フェイスの改造が容易です。PCB版への移行で実用的なガジェットとして完成度が高まり、3Dプリントケースで見栄えも良く仕上がります。

製造プロセス

  1. Adafruit T-Cobbler PlusでヘッドレスRaspberry Pi 2水漏れアラームを構築
  2. Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
  3. スマートモーションアラームクロック:二度寝を防ぐ動作検知型目覚まし時計
  4. Arduinoで作るレトロNumitron管時計:シンプル、信頼性高く、省エネ
  5. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  6. 高精度ワードクロック:分単位で時刻を文字表示
  7. Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック
  8. TM1637デジタル時計:時刻設定・アラーム機能付き Arduino Nano試作版
  9. Arduino UNOで1.17インチTFT LCDに画像を表示する方法
  10. Arduinoリアルタイム気象時計 - OLEDに時刻/日付/温度を表示
  11. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計