4.1 Katse Temperatuuri andur
Датчики измерения температуры – это устройства, которые измеряют текущую температуру и отмечают разницу между требуемой и существующей температурой.


const int temperaturePin = 0; void setup() { Serial.begin(9600); } void loop() { float voltage, degreesC, degreesF; // kasutame analogRead(), mis tagastab sisendi väärtused vahemikul 0 ... 1023. // koostasime getVoltage() funktsioon, mis tagastab pingeväärtus 0 ... 5, voltage = getVoltage(temperaturePin); degreesC = (voltage - 0.5) * 100.0; // degreesC = voltage * 100.0; degreesF = degreesC * (9.0/5.0) + 32.0; Serial.print("voltage: "); Serial.print(voltage); Serial.print(" deg C: "); Serial.print(degreesC); Serial.print(" deg F: "); Serial.println(degreesF); //Ekraanil ilmub järgmine tekst: "voltage: 0.73 deg C: 22.75 deg F: 72.96" delay(1000); // ootame 1 sek } float getVoltage(int pin) { return (analogRead(pin) * 0.004882814); // teisendame pinge vahemikust 0,0 ... 5,0 V, vahemikku 0 до 1023. }
4.2. Katse Servo kasutamine
Серводвигатель – это специальный электродвигатель с отрицательной обратной связью, который предназначен для применения в станках с ЧПУ


#include <Servo.h> Servo servo1; void setup() { servo1.attach(9); } void loop() { int position; servo1.write(90); delay(1000); servo1.write(180); delay(1000); servo1.write(0); delay(1000); { servo1.write(position); // positsiooni muutmine delay(20); } { servo1.write(position); // positsiooni muutmine delay(20); } }
Ülesanne 4 Temperatuuritundlik servolülitus
В моем проекте серводвигатель двигается на 180 градусов в том случае, если на датчике измерения температуры больше 25 градусов и обратно в случае меньше 22. Так же когда на датчике температура от 25 градусов горит зеленый светодиод.
Применение в жизни: можно применять для регулирования температуры в различных местах, самое примитивное: закрытие или открытие окна с помощью серво в зависимости и для регулировки температуры
Я использовал: 9 проводов, 1 LED, 1 резистор 220v, 1 датчик TMP36, 1 cерводвигатель
ссылки:
https://drive.google.com/file/d/1k1mAfkMZ_S4xS9_Fp_DMshUMyBpWWHNd/view?usp=sharing
https://drive.google.com/file/d/1KaasfR3ocbWfWdcNQjqBDoz8KswJIiJY/view?usp=sharing

#include <Servo.h> Servo servo1; const int temperaturePin = A0; const int ledPin = 8; void setup() { servo1.attach(9); pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { float voltage, degreesC; voltage = getVoltage(temperaturePin); degreesC = (voltage - 0.5) * 100.0; Serial.print("Temperature: "); Serial.println(degreesC); if (degreesC >= 25) { servo1.write(180); digitalWrite(ledPin, HIGH); } else if (degreesC <= 22) { servo1.write(0); digitalWrite(ledPin, LOW); } delay(1000); } float getVoltage(int pin) { return (analogRead(pin) * (5.0 / 1023.0)); }