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

Arduino UNOとLM35/36で作るLCD温度計 - 初心者向け10分プロジェクト

部品と材料

部品 数量 備考
Arduino UNO 1
ブレッドボード 1
16x2 LCDディスプレイ (白文字/青背景等) 1 HD44780互換
LM35 または LM36 アナログ温度センサー 1 LM35: 10mV/°C, LM36: 異なるスケール(データシート確認)
10kΩ ポテンショメーター 1 LCDコントラスト調整用(50kΩでも代用可)
ジャンパーワイヤー 約19本

これら全ては Arduino公式スターターキット に含まれています(Arduino公式ストア で購入可能)。単品購入ならAdafruit、SparkFun、AliExpress、Banggood等でも入手できます。

プロジェクト概要

Arduino UNOとLM35/36で作るLCD温度計 - 初心者向け10分プロジェクト

Arduino UNOとLM35/36アナログ温度センサー、16x2 LCDを使ったシンプルな温度計の作り方を紹介します。特別な工学知識やプログラミングスキルは不要で、パーツが揃っていれば10分程度で完成します。初心者の最初のプロジェクトに最適です。

ステップ1: パーツの準備

Arduino UNOとLM35/36で作るLCD温度計 - 初心者向け10分プロジェクト

ステップ2: 組み立て(配線)

Arduino UNOとLM35/36で作るLCD温度計 - 初心者向け10分プロジェクト
  1. LCDをブレッドボードに挿し、Arduinoとジャンパーワイヤーで接続
  2. ポテンショメーターを挿し、両端をGNDと5V、中央端子をLCDのVoピン(コントラスト調整端子、通常pin 3)に接続
  3. 温度センサーを挿し、VCCを5V、GNDをGND、出力ピンをArduinoアナログ入力A0に接続
    注意: センサーのVCC/GNDを逆に接続すると、センサーが発熱(280°C以上)して破損する恐れがあります。ピン配置をデータシートで必ず確認してください。

ステップ3: プログラミング

Arduino UNOとLM35/36で作るLCD温度計 - 初心者向け10分プロジェクト

Arduino IDE(公式サイトからダウンロード)で以下のいずれかのスケッチを書き込みます。書き込み後、LCDに何も表示されない、または黒い長方形だけ表示される場合は、ポテンショメーターを回してコントラストを調整してください。

スケッチ 1: Gaige Kerns氏による版(LM35/LM36両対応、華氏表示)

#include <LiquidCrystal.h>

// LCD接続ピン: RS=12, E=11, D4=5, D5=4, D6=3, D7=2
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int sensorPin = 0; // A0
int tempC, tempF;

void setup() {
  lcd.begin(16, 2);
}

void loop() {
  tempC = get_temperature(sensorPin);
  tempF = celsius_to_fahrenheit(tempC);
  lcd.setCursor(0, 0);
  lcd.print(tempF);
  lcd.print(" ");
  lcd.print((char)223); // 度記号
  lcd.print("F");
  delay(200);
}

int get_temperature(int pin) {
  int reading = analogRead(pin);
  float voltage = reading * 5.0 / 1024.0;
  return (voltage - 0.5) * 100; // LM35/LM36共通式(オフセット0.5V前提)
}

int celsius_to_fahrenheit(int temp) {
  return (temp * 9 / 5) + 32;
}

スケッチ 2: シンプル版(摂氏・華氏両方表示、1秒更新)

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int inPin = 0; // A0

void setup() {
  lcd.begin(16, 2);
}

void loop() {
  int value = analogRead(inPin);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = millivolts / 10; // LM35: 10mV/°C
  
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(celsius);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print((celsius * 9) / 5 + 32);
  lcd.print("F");
  delay(1000);
}

動作確認

コードスニペット

上記の2つのスケッチはCodeセクションでも個別にダウンロード可能です。

発展のヒント

製造プロセス

  1. Samsung SAMI、Arduino UNO、Raspberry Piで高速・信頼性の高い火災検知システムを構築
  2. Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
  3. Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
  4. Arduino UNOで作るLCDアニメーション&ゲーム入門
  5. Arduino UNOで1.17インチTFT LCDに画像を表示する方法
  6. Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
  7. u-blox LEA-6H 02 GPSモジュール: Arduino & Python 統合ガイド
  8. Arduino Dueでマスターする音声認識と音声合成
  9. Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
  10. DS1302 RTCとArduino UNOで作る信頼性の高い目覚まし時計
  11. Arduino Unoで25kHz 4ピンPWMファンを制御 – 製作・コード・テスト