Arduino-Parksensor

tarafından
5936
Arduino-Parksensor

Willkommen bei der Konstruktion des Parksensors mit Arduino. Zunächst einmal: “Was ist ein Parksensor” und “Wozu dient der Parksensor? Betrachten wir die Fragen wie. Was ist der Einparksensor? Warum wird er verwendet? Einparksensoren sind ein technologisches Gerät, das den Fahrer als akustische und digitale Anzeige über die Nähe des Fahrzeugs zu den umgebenden Objekten informiert und es ihm so ermöglicht, einfacher und aktueller einzuparken. Wir werden dieses Projekt mit Hilfe von Ton und digitalen Anzeigen realisieren. Wir werden lernen, wie man den 16×2 LCD und den Ultraschall-Abstandssensor HC-SR04 in einem einzigen Projekt verwendet. Beginnen wir mit den Materialien, die für das Projekt Parksensor benötigt werden.

Notwendige Materialien:

Arduino
breadboard
10K Potentiometer
buzzer
16×2 LCD
HC-SR04 Ultrasonic Distance Sensor
100R-220R resistor
Male-to-male jumper cable

LCD- und Arduino-Verbindungen

Sie können das 16×2-LCD-Datenblatt durchsuchen, das wir in unserem Projekt verwenden, oder Sie können sich eine Vorstellung von den LCD-Pins machen, indem Sie sich das folgende Diagramm ansehen. Wir haben insgesamt 16 Pins auf unserem LCD-Bildschirm. Wenn Sie sich die Leiterplatte ansehen, bin ich sicher, dass das Potentiometer Ihre Aufmerksamkeit erregt hat. Sie können den Kontrast Ihres LCD-Bildschirms einstellen, indem Sie mit dem Potentiometer spielen. Unsere Anoden- und Kathodenspitzen des 15. und 16. Pins sind mit den 5V- bzw. GND-Pins verbunden und schalten so die Hintergrundbeleuchtung unseres LCD-Bildschirms ein. Da unser Artikel etwas lang sein wird, halte ich das Thema mit einem Diagramm kurz.

Vergessen Sie nicht, die Pins Ihres LCD-Bildschirms vor Beginn des Projekts an Stiftleisten anzulöten, damit Sie Ihren 16×2-LCD-Bildschirm bequemer auf Ihrem Breadboard verwenden können, das wir im Projekt Park Sensor als Bildschirm verwenden werden. Lassen Sie mich noch hinzufügen, ohne zu vergessen, dass Sie, wenn Sie die Beleuchtung Ihres LCD-Bildschirms dimmen wollen, einen 220R-Widerstand zwischen den Kathoden-Pin (Pin 16) und Masse legen können.

Sensor- und Arduino-Verbindungen

Der Sensor, den wir im Parking-Sensor-Projekt verwenden werden, wird der Abstandssensor sein. Der Einsatz des Ultraschallsensors HC-R04 auf der Leiterplatte ist nicht so kompliziert wie sein LCD, da er nur 4 Pins hat. Das Vcc-Ende wird mit 5V am Arduino und das Gnd-Ende mit dem GND-Pin am Arduino verbunden. Sie können die Trig- und Echo-Pins mit beliebigen 2 Pins des Arduinos verbinden, in meinem Projekt habe ich die 9 und 10 Pins in diese unterteilt.

include //icluded needed library
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Parameters: (rs, enable, d4, d5, d6, d7)
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distanceCm;
int buzzer = 13;
void setup() {
lcd.begin(16, 2); //beginning lcd as 16×2
pinMode(trigPin, OUTPUT); //sends signal to sensor from arduino so it is output
pinMode(echoPin, INPUT); //sends signal to arduino from sensor so it is output
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //created signals to calculate things
duration = pulseIn(echoPin, HIGH); //measured time in created signal coming from echoPin by pulseIn
distanceCm = duration * 0.034 / 2; // convert time to distance
if ((distanceCm < 15) && (distanceCm > 10)) { //If object is between 15-10 cm
digitalWrite(buzzer, HIGH); //ring the buzzer
delay(500); //along 500ms
digitalWrite(buzzer, LOW); //stop buzzer
delay(500); //along 500ms
}
else if ((distanceCm < 10) && (distanceCm > 5)) { // If object is between 5-10 cm
digitalWrite(buzzer, HIGH); //ring the buzzer
delay(100); //along 500ms
digitalWrite(buzzer, LOW); //stop buzzer
delay(100); //along 500ms
}
else if (distanceCm < 5) { //If object is closer than 5 cm
digitalWrite(buzzer, HIGH); //ring the buzzer
lcd.setCursor(6, 1); //7. column 2. row
lcd.print(“DUR!”); //Writed “DUR!” on the screen (means STOP!)
delay(2500); //along 2500ms
lcd.clear(); //clear the screen
}
lcd.setCursor(0, 0); //1. column 1. row of LCD display
lcd.print(“UZAKLIK: “); //writed UZAKLIK: on LCD
lcd.print(distanceCm); //Writed distance
lcd.print(” cm”); //writed cm to the end
delay(10); //refresh it in each 10ms
}