4.1 Katse Temperatuuri andur

Skeem:

Andur tuvastab temperatuuri tõusud ja langused

Kasutatud komponenid:

Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Temperature Sensor (1tk)

Juhtmed (4tk)

Programm:

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

Skeem:

Mootor hakkab liikuma, kui saab energiat

Kasutatud komponenid:

Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Micro Servo (1tk)
Juhtmed (8tk)

Programm:

Servo servo1; // Peame looma servo objekti nimega 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);


for(position = 0; position < 180; position += 2)
{
servo1.write(position);
delay(20);
}


for(position = 180; position >= 0; position -= 1)
{
servo1.write(position); 
delay(20);
}
}

Katse 4 Temperatuuritundlik servolülitus(Kasvuhoone temperatuuri reguleegimine)

Kasutatud komponenid:

Arduino UNO plaat (1tk)
Arendusplaat (1tk)
Micro Servo (1tk)
Termoandur (1tk)
Photoresistor (1tk)

Juhtmed (12tk)
Takisti (220Ω 2tk)
LED (1tk: Punane)

Töö protsess:

Mootor hakkab tööle, kui temperatuuriandur soojeneb ja jahtub,
Tuli süttib, kui tuli kustub, ja kustub, kui tuli uuesti süttib.

Rakendus Temperatuuritundlik servolülitus:

Ma arvan, et see sobib suurepäraselt kasvuhoonetesse. kui läheb pimedaks ja külmaks, sulgub taimedega kaas ja lülitub tuli sisse ning hommikul, kui läheb soojemaks, avaneb kaas ja valgus kustub.

Skeem:

Programm:

#include <Servo.h>
const int temperaturePin = 0;
const int lightPin = A1;
const int ledPin = 13;
Servo servo1;

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


void loop()
{
float voltage, lightVal, degreesC, degreesF;

voltage = getVoltage(temperaturePin);
lightVal = getLightValue(lightPin);

degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0 / 5.0) + 32.0;

if (lightVal < 500) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}

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

delay(1000);
}

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

int getLightValue(int pin)
{
return analogRead(pin);
}

Video:

Uued funktsioonid:

#include <Servo.h>
Вводим библиотеку Servo.h, которая позволяет управлять сервоприводами.

Servo servo1; - Создаем объект для управления сервоприводом servo1.

servo1.attach(11); - связывает сервопривода с пином 

voltage = getVoltage(temperaturePin);
lightVal = getLightValue(lightPin);
Считывают значение напряжения с датчика температуры 
и фоторезистора в переменные, используя функцию getVoltage() и getLightValue().