7.1 Katse Mootori kasutamine

Komponentid:
- L293D või SN754410 mootori draiver 1x
- lülitid 2x
- 10kOhm takistid 2x
- potentsiomeeter 1x
Kood:
int switchPin = 2; // lüliti 1 int motor1Pin1 = 3; // viik 2 (L293D) int motor1Pin2 = 4; // viik 7 (L293D) int enablePin = 9; // viik 1(L293D) void setup() { // sisendid pinMode(switchPin, INPUT); //väljundid pinMode(motor1Pin1, OUTPUT); pinMode(motor1Pin2, OUTPUT); pinMode(enablePin, OUTPUT); // aktiveeri mootor1 digitalWrite(enablePin, HIGH); } void loop() { // 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.1 Katse Mootori kasutamine V2

Kood:
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

Komponentid:
- Juhe 4x
- Ultraheli andur
Kood:
#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); }
7.3 Lihtne parkimissüsteem

Kood:
int motorPin1=3; int distance=1; int LedPin=13; int duration; const int buzzerPin = 9; void setup() { pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN, OUTPUT); pinMode(motorPin1,OUTPUT); pinMode(LedPin,OUTPUT); pinMode(buzzerPin, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(TRIG_PIN,LOW); delay(200); digitalWrite(TRIG_PIN,HIGH); delay(200); digitalWrite(TRIG_PIN,LOW); duration = pulseIn(ECHO_PIN, HIGH); distance=duration/58; Serial.println(distance); if (distance>50) { analogWrite(motorPin1,100); digitalWrite(LedPin,0); noTone(buzzerPin); delay(1000);} else { analogWrite(motorPin1,0); digitalWrite(LedPin,250); tone(buzzerPin, 1000); } }
Ülesanne 7.1 Rahakarp või Prügikast. Töö paarides.

1x-Ultraheli kaugusandur
1x-Servo
1x-LCD ekraan
1x-rezistoor
17x-juhtmeid
Kood:
Servo servo1; LiquidCrystal lcd(2, 3, 8, 9, 10, 11); void setup() { pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN, OUTPUT); lcd.begin(16, 2); Serial.begin(9600); servo1.attach(6); } void loop() { Serial.println(measure()); if (measure() >= 20 && measure() <= 65) { 1 2 3 4 5 6 7 8 9 lcd.clear(); lcd.setCursor(0, 0); delay(500); lcd.setCursor(0, 1); lcd.print("aitah"); delay(500); lcd.setCursor(2, 0); servo1.write(180); delay(5000); } else { lcd.clear(); lcd.setCursor(0, 0); lcd.setCursor(2, 1); servo1.write(90); } } int measure() { digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); long duration = pulseIn(ECHO_PIN, HIGH, 15000); int distance = duration * 0.034 / 2; return constrain(distance, 1, 300); }