// TMP36の出力ピンを接続したアナログピンの定義
const int sensorPin = A0;
void setup() {
// シリアル通信の初期化
Serial.begin(9600);
}
void loop() {
// アナログ入力を読み取る
int sensorValue = analogRead(sensorPin);
// 読み取った値を電圧(mV)に変換
float voltage = sensorValue * (5000.0 / 1023.0);
// 電圧を温度(摂氏)に変換
float temperatureC = (voltage - 600) / 10;
// 温度をシリアルモニタに出力
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" C");
// 1秒待機
delay(1000);
}
// リレーの制御ピンを定義
const int relayPin = 7;
void setup() {
// リレーの制御ピンを出力モードに設定
pinMode(relayPin, OUTPUT);
// 初期状態としてリレーをオフにする
digitalWrite(relayPin, LOW);
}
void loop() {
// リレーをオンにする
digitalWrite(relayPin, HIGH);
// 5秒待つ
delay(5000);
// リレーをオフにする
digitalWrite(relayPin, LOW);
// 5秒待つ
delay(5000);
}
// リレーの制御ピンを定義 const int relayPin = 7; // 温度センサーの入力ピンを定義 const int tempSensorPin = A0; // 温度の閾値を定義(摂氏温度) const float thresholdTemp = 27.0; void setup() { // リレーの制御ピンを出力モードに設定 pinMode(relayPin, OUTPUT); // 初期状態としてリレーをオフにする digitalWrite(relayPin, LOW); // シリアル通信を開始 Serial.begin(9600); } void loop() { // 温度センサーの値を読み取る int sensorValue = analogRead(tempSensorPin); // 電圧に変換(Arduinoの3.3V基準で) float voltage = sensorValue * (5000.0 / 1023.0); // 温度に変換(LM35は10mV/°C) float temperature = (voltage-600)/10; // シリアルモニタに温度を出力 Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" °C"); // 温度が閾値を超えたらリレーをオンにする if (temperature > thresholdTemp) { digitalWrite(relayPin, HIGH); } else { // 温度が閾値以下ならリレーをオフにする digitalWrite(relayPin, LOW); } // 1秒待つ delay(1000); }