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

Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック

プロジェクト概要

educ8s.tvのNickによるチュートリアル。Arduino Due、3.2インチカラーTFTディスプレイ(HX8357C/Bコントローラー)、DS3231 RTCモジュールを使用して、現在時刻・日付・温度・最高/最低温度を記録表示するデバイスを作ります。プロジェクト費用は約24ドル(Due約14ドル、ディスプレイ約8ドル、RTC約2ドル)と低コストです。

主要コンポーネント

接続方法

DS3231はI2Cで接続:VCC→3.3V、GND→GND、SDA→SDA、SCL→SCL。TFTディスプレイはArduino Dueのピンヘッダーに直接装着(2ピンは未接続で浮かせる)。

ライブラリ設定

コードのポイント

  1. 初回セットアップ時のみ setRTCTime() で現在日時をRTCに書き込み(年月日時分秒曜日を指定)。書き込み後は関数呼び出しをコメントアウトして再アップロード。
  2. メインループ:1秒ごとにRTCから温度取得、時刻取得・表示、温度表示、最高/最低温度更新・表示。
  3. UI描画関数printUI()で基本レイアウトを描画し、更新部分のみ書き換え。

主要コード抜粋

// 初回のみ実行してRTCに時刻設定
void setRTCTime() {
  DateTime dt(2016, 4, 4, 13, 56, 30, 1);
  rtc.setDateTime(dt);
}

void setup() {
  rtc.begin();
  tft.init();
  tft.setRotation(1);
  tft.fillScreen(0xC618);
  delay(100);
  printUI();
  // setRTCTime(); // 初回のみアンコメントして実行、その後再度コメントアウト
}

void loop() {
  float temperature = rtc.getTemperature();
  getAndPrintTime();
  printTemperature(temperature);
  if (temperature > maxTemperature) {
    maxTemperature = temperature;
    updateMaxTemperature();
  }
  if (temperature < minTemperature) {
    minTemperature = temperature;
    updateMinTemperature();
  }
  delay(1000);
}

今後の展望

このプロジェクトをベースに、より多くのセンサー、グラフ表示、Wi-Fi機能を追加した高機能気象ステーションへ発展させる予定です。Arduino Dueの高速処理と大容量メモリがこの用途に最適です。

コードダウンロード

最新版コード: educ8s.tv プロジェクトページ

製造プロセス

  1. Satellite CCRMAキットでセンサー駆動オーディオエフェクトを構築
  2. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  3. 高精度ワードクロック:分単位で時刻を文字表示
  4. Arduino MegaとNextion HMIで作る高機能ウェザーステーション
  5. TM1637デジタル時計:時刻設定・アラーム機能付き Arduino Nano試作版
  6. ArduinoとNokia 5110ディスプレイで自作電圧計:ステップバイステップガイド
  7. BME280 温湿度・気圧データを Nextion タッチスクリーンに表示
  8. Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
  9. u-blox LEA-6H 02 GPSモジュール: Arduino & Python 統合ガイド
  10. Arduino Dueでマスターする音声認識と音声合成
  11. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計