Parking
Töö kirjeldus
Koodi kirjutamine, virtuaalse skeemi loomine koodi testimiseks ja valmis tulemus päris skeemil.
Kasutatud komponeendid
- Adruino Uno R3 – 1
- Breadboard Small – 1
- Servo mootor —1
- LED — 1
- Taikisti — 2 (220 Om)
- Juhe — 20
- LCD ekraan — 1
- Potentsiomeeter — 1
- HC-SR04 — 2
Töö protsess
Auto lähenedes tõkkepuu tõuseb ja ekraanil väheneb vabade kohtade arv. Väljumisel teine andur tõstab taas tõkkepuu. Lamp põleb, kui kohti on veel saadaval.
Ühendamise skeem (www.tinkercad.com)

Programm/kood kommentaridega
#include <Servo.h>
#include <LiquidCrystal.h>
#define ECHO_PIN1 10
#define TRIG_PIN1 9
#define ECHO_PIN 8
#define TRIG_PIN 7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int LED = 6;
Servo servo;
const int total = 5;
int car = 0;
void setup() {
servo.attach(13);
Serial.begin(9600);
servo.write(0);
pinMode(LED, OUTPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Tere tulemast!");
delay(2000);
updateLCD();
pinMode(ECHO_PIN1, INPUT);
pinMode(TRIG_PIN1, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
}
long readDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
long distance = duration * 0.034 / 2;
Serial.print("Distance from pins ");
Serial.print(trigPin);
Serial.print(",");
Serial.print(echoPin);
Serial.print(": ");
Serial.println(distance);
return distance;
}
void led() {
if (car < total) {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
void servo_mootor() {
servo.write(90);
delay(3000);
servo.write(0);
}
void updateLCD() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Vabad kohad: ");
lcd.print(total - car);
}
void loop() {
long entry = readDistance(TRIG_PIN, ECHO_PIN);
long exit_ = readDistance(TRIG_PIN1, ECHO_PIN1);
if (entry > 0 && entry < 20 && car < total) {
car++;
servo_mootor();
led();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Uks koht hoivatud");
lcd.setCursor(0, 1);
lcd.print("Alles: ");
lcd.print(car);
delay(5000);
updateLCD();
}
if (exit_ > 0 && exit_ < 20 && car > 0) {
car--;
servo_mootor();
led();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Koht vabanes");
lcd.setCursor(0, 1);
lcd.print("Hoivatud: ");
lcd.print(car);
delay(5000);
updateLCD();
}
delay(300);
}
Video
https://drive.google.com/file/d/1Ny4pFWdMPakU1Lw6-mUD1bFyRa1pIx7k/view?usp=sharing
Kasutamisvõimalused tavaelus.
- Automaatuksed
- Turvasüsteemid

