#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
const int i2c_addr = 0x27;
const int numRows = 2;
const int numCols = 16;
LiquidCrystal_I2C lcd(i2c_addr, numRows, numCols);
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
int temp = dht.readTemperature();
int hum = dht.readHumidity();
lcd.setCursor(0,0);
lcd.print("t=");
lcd.setCursor(2,0);
lcd.print(temp);
lcd.setCursor(0,1);
lcd.print("h=");
lcd.setCursor(2,1);
lcd.print(hum);
}
//1 вопрос
//МК может выполнять логические операции, такие как логическое сложение"И", или, исключающее или, инверсию.
//арифметические операции сложение, вычитание, умножение, деление, инкремент, декремент
//реализация на уровне аппаратуры происходит таким образом: операнды извлекаются из памяти или регистров, операция выполняется в логическом блоке,
//результат записывается в регистр или память. Эти операции являются основой всех вычислений не только в мк а во всей электронике построенной на логике
//применяется для управления, обработки сигналов, измерений, коммуникации, управления памятью.
//Вопрос 2
//Подпрограмма или функция - важный элемент который помогает разбить код на логические блоки которые можно повторно использовать это облегчает код
//Функция - именованый блок кода, который выполняет определенную задачу.
//Функция определяется с помощью ключевого слова, указывающего тип возвращаемого значения (например, void, int, float), имени функции и списка параметров, в круглых скобках.
//Функции могут принимать один или несколько параметров, что позволяет передавать данные для обработки. Функции могут возвращать значения с помощью ключевого слова return.
//В контексте работы с Arduino и управления устройствами, такими как светодиоды, функции могут значительно упростить процесс разработки.