Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the quiz-master-next domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /data01/virt105257/domeenid/www.blinov20.thkit.ee/htdocs/wp/wp-includes/functions.php on line 6131
Температурный датчик с серводвигателем и LCD ekraan – Georgi Blinov Õpimapp

Температурный датчик с серводвигателем и LCD ekraan


 нам понадобится:

24 провода

1 серводвигатель

1 резистор на 220

LSD экран

1 терморезистор

потенциометр

Экран начинает показывать температуру если потенциометр стоит на максимальном значении. Температура меньше чем 23 градуса то двигатель поворачивается на 90 градусов. При температуре больше чем 23 то двигатель поворачивается на 180 градусов.

Применение температурных датчиков:

  • Измерение температур требуемых объектов с необходимыми точностью, быстродействием и передача информационного либо управляющего сигнала далее в систему
  • Реализация обратных связей в АСУТП, предупреждение выхода из строя оборудования
  • Отдельные приборы могут служить источниками энергии (основанные на термопарах)

Применение серводвигателей: 

Серводвигатели применяются для приведения в движение устройств управляемых поворотом вала — как открытие и закрытие клапанов, переключатели и так далее. Также они успешно используются в промышленных роботах, упаковочном оборудовании, конвейерах и т.д.


КОД:

#include <LiquidCrystal.h>
#include <math.h>
#include <Servo.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Servo servo1;
const int temperaturePin = 0;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
servo1.attach(9);

}

void loop() {
float voltage, degreesC;
voltage = getVoltage(temperaturePin);
degreesC = (voltage -0.5) * 100.0;
lcd.setCursor(5, 1);
lcd.print(«C: «);
lcd.print(degreesC);
if(degreesC<23){
servo1.write(0);
delay(1000);
servo1.write(90);

}
else if(degreesC>23){
servo1.write(90);
delay(1000);
servo1.write(180);

}
}
float getVoltage(int pin){
return (analogRead(pin) * 0.004882814);
}