see kood loeb valguse ja temperatuuri väärtusi, juhib LED-i heledust vastavalt valguse tasemetele ja reguleerib servomootori asendit temperatuurinäitude põhjal, pakkudes samal ajal jadaside kaudu silumisinfot.

const int led = 12; //Pin LED-i juhtimiseks
const int sensorPin = A1; // Analoogsisendi viik valgusanduri jaoks
int lightLevel, high = 0, low = 1023;

const int temperaturePin = A0; // Analoogsisendi viik temperatuurianduri jaoks
Servo servo1;

void setup() {
pinMode(led, OUTPUT); // Seadista LED-i pin VÄLJUNDiks
servo1.attach(13); // Kinni pistma servo1 digitaalse tihvti 13 külge
Serial.begin(9600); // Initsialiseerima jadaühendus silumiseks
}

void loop() {
lightLevel = analogRead(sensorPin); // Andurilt valgustaseme lugemine
manualTune(); // Teha valguse tasemete käsitsi häälestamine
analogWrite(led, lightLevel); // LED-i heleduse juhtimine valguse taseme alusel

float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin); // Temperatuurianduri pinge lugemine
degreesC = (voltage – 0.5) * 100.0; // Teisenda pinge Celsiuse kraadidesse
degreesF = degreesC * (9.0/5.0) + 32.0; // Teisenda Celsiuse kraadid Fahrenheiti kraadideks

Serial.print(“voltage: “);
Serial.print(voltage);
Serial.print(” deg C: “);
Serial.print(degreesC);
Serial.print(” deg F: “);
Serial.println(degreesF);

if (degreesC <= 35 && degreesC >= 27) { // Kui temperatuur on vähem või võrdne 35°C ja temperatuur //suurem või võrdne 27
servo1.write(180); // lükkatakse servo 180 kraadi peale
delay(1000); // 1 sekund
} else {
servo1.write(0); // lükkatakse servo 0 kraadi peale
delay(1000); // 1 sekund
}
delay(2000); // 2 sekundit enne järgmist iteratsiooni
}

float getVoltage(int pin) {
return (analogRead(pin) * 0.004882814); // Analoognäidu teisendamine pingeks
}

void manualTune() {
if (lightLevel < low) { // Если текущий уровень освещенности ниже записанного минимума
low = lightLevel; // Värskendame salvestatud vähese valguse taset
}

if (lightLevel > high) { // Если текущий уровень освещенности выше записанного максимума
high = lightLevel; // Värskendame salvestatud vähese valguse taset
}
delay(100); // Wait for 0.1 seconds (100 milliseconds)
}

katset 26.9.23 Servo ja Led fotodioodiga