V tomto projektu si uděláme arduino teploměr s LCD displejem a LED diodami.

Budeme potřebovat: Arduino MEGA 2560 REV 3, LCD shield, led diody, rezistory, kabely, teploměr a vlhkoměr AM2320

Sketch:

#include "Adafruit_Sensor.h"
#include "Adafruit_AM2320.h"
#include <LiquidCrystal.h>

Adafruit_AM2320 sensor = Adafruit_AM2320();
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  Serial.begin(9600);
  pinMode(50, OUTPUT);
  pinMode(48, OUTPUT);
  pinMode(46, OUTPUT);
  sensor.begin();
  lcd.begin(16, 2);
  Serial.println("Program spuštěn.");
}

void loop() {
  float tempC = sensor.readTemperature();
  float humidity = sensor.readHumidity();

  Serial.print("Teplota:");
  Serial.println(tempC);
  Serial.print("Vlhkost:");
  Serial.println(humidity);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Teplota: ");
  lcd.print(tempC);
  lcd.print(" C");
  lcd.setCursor(0, 1);
  lcd.print("Vlhkost: ");
  lcd.print(humidity);
  lcd.print(" %");
  if (tempC > 25) {
    digitalWrite(50, HIGH);
    Serial.println("Přehřátí, pin spuštěn.");
  } else {
    digitalWrite(50, LOW);
  }
  if (tempC < 25) {
    digitalWrite(48, HIGH);
    Serial.println("Vše je v pořádku.");
  } else {
    digitalWrite(48, LOW);
  }
  if (isnan(tempC) || isnan(humidity)) {
    digitalWrite(46, HIGH);
    Serial.println("Někde nastal problém.");
  } else {
    digitalWrite(46, LOW);
  }
  delay(2000);
}

Zapojení:

LCD a zapojeníNepájivé pole zapojeníNepájivé pole a arduino zapojení

Zapojte teploměr a ledky podle obrázků a nahrajte do arduina kód. Funguje to tak že pokud je teplota pod 25° tak svítí modrá ledka a pokud je teplota nad 25° tak svítí ledka červená. Žlutá ledka se rozsvítí pouze v moment kdy se něco děje a teploměr neměří a vyhazuje error. Na displeji jde vidět aktuální teplota a vlhkost.

Autor: Mr. Capy
Kontakt: https://t.me/Legend_of_Pr0xyArmy

FB tw

Další podobné články