4.1 Katse Temperatuuri andur

kasutatud komponendid:
- andur TMP36
- juhe 5x
kood:
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

kasutatud komponendid:
- servo motoor
- juhe 8x
kood:
// Множество библиотек доступных для применений, можно найти на http://arduino.cc/en/Reference/Libraries, #include <Servo.h> // nii teavitame Arduino IDE-t vajadusest kasutada Servo.h teeki (подключаем дополнительную библиотеку) // Как только вы "подключаете" библиотеку, так сразу получаете доступ к этим функциям. Вы можете найти список функций в библиотеке // сервопривода в: http://arduino.cc/en/Reference/Servo. Большинство библиотек доступно из меню "Файл / примеры". Servo servo1; // Peame looma servo objekti nimega servo1 (объект управления сервоприводом) void setup() { // Сейчас мы прикрепим (attach) объект servo1 к цифровому пину 9. Если вы собираетесь управлять более чем одним // сервоприводом, Вы должны прикрепить каждый новый объект серво к своему, отдельному порту, причем это порт должен быть цифровым. servo1.attach(9); //ütleme Arduinole, et infosuhtlus servo-objektiga servo käib läbi klemmi number 9. Tegu on digitaal-klemmiga--PWM digitaalne osa! Kontrollime, kas skeemil kasutame sama klemmi. } void loop() { int position; servo1.write(90); //pööramise nurk =90 delay(1000); servo1.write(180); //pööramise nurk =180 delay(1000); servo1.write(0); //pööramise nurk =0 delay(1000); // servo positsiooni muutmine väike kiirusega pärisuunas: for(position = 0; position < 180; position += 2) { servo1.write(position); // positsiooni muutmine delay(20); } // servo positsiooni muutmine väike kiirusega vastupäeva: for(position = 180; position >= 0; position -= 1) { servo1.write(position); // positsiooni muutmine delay(20); } }
Ülesanne 4 Temperatuuritundlik servolülitus

kasutatud komponendid:
- servo motoor 1x
- juhe 9x
- diood 1x
Kood:
#include <Servo.h> Servo servo1; const int temperaturePin = A0; const int ledPin = 8; void setup() { servo1.attach(13); 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 >= 24) { servo1.write(180); digitalWrite(ledPin, HIGH); } else if (degreesC <= 23) { servo1.write(0); digitalWrite(ledPin, LOW); } delay(1000); } float getVoltage(int pin) { return (analogRead(pin) * (5.0 / 1023.0)); }
Video: