7.1. Katse Mootori kasutamine
komponeendid:
- Arduino Uno
- Arendusplaat
- Juhtmed
- L293D või SN754410 mootori draiver
- lülitid 2tk
- 10kOhm takistid 2tk
- potentsiomeeter

Code:
int switchPin = 2; // lüliti 1 int switchPin2 = 1; // lüliti 2 int potPin = A0; // potentsiomeeter int motor1Pin1 = 3; // viik 2 (L293D) int motor1Pin2 = 4; // viik 7 (L293D) int enablePin = 9; // viik 1(L293D) void setup() { // sisendid pinMode(switchPin, INPUT); pinMode(switchPin2, INPUT); //väljundid pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT); } void loop() { //mootori kiirus int motorSpeed = analogRead(potPin); //aktiveeri mootor if (digitalRead(switchPin2) == HIGH) { analogWrite(enablePin, motorSpeed); } else { analogWrite(enablePin, 0); } // kui lüliti on HIGH, siis liiguta mootorit ühes suunas: if (digitalRead(switchPin) == HIGH) { digitalWrite(motor1Pin1, LOW); // viik 2 (L293D) LOW digitalWrite(motor1Pin2, HIGH); // viik 7 (L293D) HIGH } // kui lüliti on LOW, siis liiguta mootorit teises suunas: else { digitalWrite(motor1Pin1, HIGH); // viik 2 (L293D) HIGH digitalWrite(motor1Pin2, LOW); // viik 7 (L293D) LOW } }
7.2 Katse Kauguse mõõtmise anduri kasutamine
komponeendid:
- Arduino Uno
- Juhtmed
- HC-SR04

Code:
//variant 1 #define ECHO_PIN 8 #define TRIG_PIN 7 void setup() { pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN, OUTPUT); Serial.begin(960); } void loop() { digitalWrite(TRIG_PIN,HIGH); digitalWrite(TRIG_PIN,LOW); int distance=pulseIn(ECHO_PIN, HIGH)/50; Serial.println(distance); } -------------------------------------------------------------------------------------------------------------------- //variant 2 #define ECHO_PIN 8 #define TRIG_PIN 7 void setup() { pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN, OUTPUT); Serial.begin(960); } void loop() { Serial.println(measure()); } int measure() { digitalWrite(TRIG_PIN,HIGH); digitalWrite(TRIG_PIN,LOW); int distance=pulseIn(ECHO_PIN, HIGH,15000)/50; return constrain(distance,1,300); }
Ülesanne 1. Rahakarp
komponeendid:
- Arduino Uno
- Arendus plaat
- Juhtmed
- HC-SR04
- Potentiomeeter
- LCD ekraan 16×2
- Takisti

Sisustus:

Töö Kirjeldus:
Kui see on sisse lülitatud, ei juhtu midagi, niipea kui inimene viskab mündi või puudutab sonari sees, süttib ekraanil naeratus ja kui 5 sekundi jooksul ei tule ühtegi münti, muutub naeratus pokkeri näoks ja säästupank läheb ooterežiimi.
Code:
#include <LiquidCrystal.h> // Pins Sonar HC-SR04 jaoks const int trigPin = 7; const int echoPin = 8; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); unsigned long objectDetectedTime = 0; const unsigned long displayDuration = 5000; // Täisekraani kuvamise kestus (millisekundites) byte DOT[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; void setup() { lcd.createChar(0, DOT); // Loo kohandatud naeratuse sümbol lcd.begin(16, 2); // LCD-ekraani initsialiseerimine pinMode(trigPin, OUTPUT); // Määra viigu trigPin väljundiks pinMode(echoPin, INPUT); // Määra echoPin sisendipiniks } void loop() { // Signaali saatmine andurile digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Helisignaali viiteaja mõõtmine long duration = pulseIn(echoPin, HIGH); // Arvutage kaugus viivitusaja alusel. int distance = duration * 0.034 / 2; // Kontrollige, kas anduri ees on mingi objekt. if (distance < 200) { // video kasutab kaugust 4, kuid näide on seatud teistsugusele kaugusele if (objectDetectedTime == 0) { objectDetectedTime = millis(); // Pidage meeles, millal objekt esmakordselt avastati fillScreenWithSmiley(); } } else { if (objectDetectedTime > 0 && millis() - objectDetectedTime >= displayDuration) { objectDetectedTime = 0; // Objekti tuvastamise aja lähtestamine clearScreen(); } } delay(100); } void fillScreenWithSmiley() { lcd.setCursor(0, 0); lcd.write(byte(0)); lcd.write(byte(0)); lcd.setCursor(14, 0); lcd.write(byte(0)); lcd.write(byte(0)); lcd.setCursor(0, 1); for (int Korda = 0; Korda < 16; Korda++) { lcd.write(byte(0)); } } void clearScreen() { lcd.clear(); lcd.setCursor(2, 1); for (int Korda = 0; Korda < 12; Korda++) { lcd.write(byte(0)); } }
kus seda põhimõtet kasutatakse
- Rahakarp
- Prügikast
- Auto uksed
- Tõkkepuud
- Sorterimiskarp
Ülesanne 2. Parkimisandur
komponeendid:
- Arduino Uno
- Juhtmed
- HC-SR04
- L298N Mootori driver
- LCD ekraan 16×2
- Mootorid
- Takisti
- Lüliti
- Bluetooth moodul
