KATSE 4.1
Katse temperatuuri mõõtmiseks temperatuurianduri abil.
Saadud tulemused kirjutame iga sekundi tagant Serial Monitori.
Komponeendid:
Ühendus TÄHTIS

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. }
KATSE 4.2
Projekti koostamiseks läheb vaja:
Kasutusel on 180 kraadi pöörav servo mootor. (Võtame ladususe huvides lahti näidisprogammi: File-> Examples -> Servo)
Servo mootori ühendamine:

Множество библиотек доступных для применений, можно найти на 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(Kasvuhoone temperatuuri reguleegimine)
Kasvuhoone loomiseks pidime võtma:
12 juhet,
servo mootor,
temperatuuriandur
TÖÖ SKEEM:

Tegime oma «Kasvuhoone» tööst ka video :
Programmi kood:
#include <Servo.h> Servo servo1; const int temperaturePin = 0; const int redPin = 8; void setup() { servo1.attach(9); Serial.begin(9600); pinMode(temperaturePin, INPUT); pinMode(redPin, OUTPUT); } void loop() { float voltage, degreesC, degreesF; int position; voltage = getVoltage(temperaturePin); degreesC = (voltage - 0.5) * 100.0; delay(1000); Serial.print("Voltage: "); Serial.print(voltage); Serial.print(" deg C: "); Serial.println(degreesC); /* if (degreesC = 21) { position = 0; servo1.write(position); digitalWrite(redPin, HIGH); } else if (degreesC = 35) { position = 180; servo1.write(position); delay(20); } */ if (degreesC <= 25) { servo1.write(180); } else if (degreesC > 25){ servo1.write(0); } delay(1000); } float getVoltage(int pin) { return (analogRead(pin) * 0.004882814); }
Новые взятые функции:
getVoltage -Эта функция, вероятно, возвращает значение напряжения, возможно, считывая его из какого-то аппаратного устройства (Например: для измерения цельсий мы вводим формулу degreesC = (voltage — 0.5) * 100.0;! Где нужно узнать напряжение)
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}
Библиотека <Servo.h>
Предназначена для взаимодействия с серводвигателем
#include <Servo.h> — прописание библиотеки
Servo(номер серводвигателя).write(*градусы *) — Предназначена для прокрутки двигателя! Допустим, возьмем Servo(номер серводвигателя).write(180), то он будет прокручен на 180 градусов
Servo servo1; — Объект управления сервоприводом