Ulesanne 4

Temperatuuritundlik servolülitus

Töökirjeldus

  • Temperatuuriandur mõõdab ümbritsevat temperatuuri.
  • Kui temperatuur on üle 28 kraadi, pöördub servomootor asendisse 0.
  • Kui temperatuur on alla 28 kraadi, pöördub servomootor asendisse 180 kraadi.

Lõplikus koodis määrab temperatuuriandur ümbritseva õhu temperatuuri. Kui temperatuur on üle 28 kraadi Celsiuse järgi, pöördub servomootor asendisse 0. Kui temperatuur on aga alla 28 kraadi Celsiuse järgi, pöördub servomootor asendisse 180 kraadi.

Kasutatud komponenid

8 juhet

1 servomootor

1 temperatuuriandur

Arduino Uno mikrokontrolleriplaat

Protoboard (katseplaat)

Kasutamine

Tänapäeval kasutatakse temperatuuriandureid laias valikus rakendustes, alates kodumasinatest kuni tööstuslikes protsessideni. Mõned levinumad temperatuuriandurite kasutuskohad on järgmised:

  • Kodumasinad: Temperatuuriandureid kasutatakse kodumasinates, näiteks ahjudes, külmkappides ja pesumasinates, et reguleerida temperatuuri.
  • Tööstuslikud protsessid: Temperatuuriandureid kasutatakse tööstuslikes protsessides, näiteks toidu- ja joogitööstuses, keemiatööstuses ja farmaatsiatööstuses, et jälgida ja reguleerida temperatuuri.
  • HVAC-süsteemid: Temperatuuriandureid kasutatakse HVAC-süsteemides, et reguleerida hoonete temperatuuri.
  • Autod: Temperatuuriandureid kasutatakse autodes mootori temperatuuri, jahutusvedeliku temperatuuri ja õhutemperatuuri jälgimiseks.
  • Meditsiiniseadmed: Temperatuuriandureid kasutatakse meditsiiniseadmetes, näiteks inkubaatorites ja termomeetrites, kehatemperatuuri mõõtmiseks.
  • Kantavad seadmed: Temperatuuriandureid kasutatakse kantavates seadmetes, näiteks nutikellades ja spordikellades, et jälgida kehatemperatuuri ja tegevuse taset.

Need on vaid mõned paljudest temperatuuriandurite kasutuskohtadest. Temperatuuriandureid kasutatakse järjest rohkemates rakendustes, kuna need muutuvad aina odavamaks ja täpsemaks.

Kood

#include <Servo.h>

Servo servo1;

const int temperaturePin = 0;

void setup()
{
 Serial.begin(9600);
 servo1.attach(10);
}

void loop()
{

 float voltage, degreesC;
  
 voltage = getVoltage(temperaturePin);
 degreesC = (voltage - 0.5) * 100.0;
 
 Serial.print(" deg C: ");
 Serial.print(degreesC);

 if (degreesC <= 22)
 {
  servo1.write(0);
 }
  
 else if(degreesC >= 35)
 {
  servo1.write(180);
 }
  
 delay(1000);
}

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

Link

Konstruktsioon Tinkercad