katse 4.1
Katse temperatuuri mõõtmiseks temperatuurianduri abil.
Saadud tulemused kirjutame iga sekundi tagant Serial Monitori.
Komponendid:
Andur TMP36
5 traati
Skeem:

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. }
katse 4.2
180 kraadine servo mootori kasutamine
Komponendid:
Servo
8 traati
Kasutusel on 180 kraadi pöörav servo mootor. (Võtame ladususe huvides lahti näidisprogammi: File-> Examples -> Servo)
Skeem:

Kood:
#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); } }
Katse 4.3
Töö protsess:
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.
Komponendid:
Arduino UNO plaat (1tk)
Arendusplaat (1tk)
LED (1tk)
15 traati
2 takisti
Fotoresistor (1tk)
Micro Servo (1tk)
temperatuuriandur (1tk)
Termomeetri protsess:
päevavalguses lülitub valgusandur välja ja öösel lülitub see automaatselt sisse.
Kui temperatuur on 25 ja 20 kraadi vahel, pööratakse servo 180 kraadi.
kui temperatuur on alla 20 kraadi, pööratakse servo 0 kraadile.
Reaalse elu rakendused:
Servoajamid: Kasutatakse täpseks liikumisjuhtimiseks robootikas ja automaatikas.
Temperatuuriandurid: kasutatakse temperatuuri reguleerimiseks kütte-, jahutus- ja kliimaseadmete rakendustes.
Fotoresistorid: kasutatakse valguse kontrollimiseks automaatsetes valgustussüsteemides ja valgusandurites.
Skeem:

kood:
const int led = 12; const int sensorPin = A1; int lightLevel, high = 0, low = 1023; const int temperaturePin = A0; Servo servo1; void setup() { pinMode(led, OUTPUT); servo1.attach(13); Serial.begin(9600); } void loop() { float voltage, degreesC, degreesF; voltage = getVoltage(temperaturePin); degreesC = (voltage - 0.5) * 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); if (degreesC <= 25 && degreesC >= 20) { servo1.write(180); delay(1000); } else { servo1.write(0); delay(1000); } delay(2000); float getVoltage(int pin) { return (analogRead(pin) * 0.004882814); }
Uued funktsioonid:.
servo1.attach(13): See rida initsialiseerib objekti servo1, et juhtida servot, mis on ühendatud digitaalviiguga 13.
servo1.write(): Seda funktsiooni kasutatakse servo pöördenurga määramiseks. Koodis kutsutakse seda üles, et pöörata servo teatud nurga võrra sõltuvalt temperatuuri väärtusest.
Serial.begin(9600): See funktsioon initsialiseerib jadakommunikatsiooni vigade kõrvaldamise sõnumite jaoks. See seab baudikiiruseks 9600 bitti sekundis.
getVoltage: loeb analoogsignaali määratud viigult ja teisendab selle koefitsiendi abil pingeks.
Serial.print() on Arduino IDE (integreeritud arenduskeskkonna) funktsioon, mida kasutatakse andmete saatmiseks jadapordi (tavaliselt USB) kaudu silumiseks ja jälgimiseks.