Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
I denne instruksen skal vi bygge en park sensor. Tanken med denne parkføleren er å vise grønt når du har god plass til å trekke bilen frem på parkeringsplassen, og deretter bli gul når du nærmer deg posisjonen helt fremover, og deretter rød når du skal stoppe. Vi skal bygge dette systemet med Raspberry Pi, og bruke noen avstander som vi enkelt kan teste.
Trinn 1: Ting du trenger
Du trenger andre komponenter enn Raspberry Pi -oppsettet.
- HC-SR04 ultralydavstandssensor
- LED (X3)
- 330Ω motstand (X3)
- 10KΩ motstand (x2)
- Stikkontakter for mann-mann / mann-kvinne
- Brødbrett
Trinn 2: Gjør ledningen
- Utløser for avstandssensoren er GPIO 4, ekko er GPIO 18, det grønne lyset er 17, det gule lyset er 27 og det røde lyset er 22.
- 330 ohm motstander er for lysdiodene, og de kobles til det positive benet til lysdiodene og deretter GPIO.
- 10K ohm motstander er for ekkopinnen på avstandssensoren og kobles til GPIO.
Trinn 3: Kode
importer RPi. GPIO som GPIOimporttid
GPIO.setwarnings (False)
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM)
TRIG = 4
ECHO = 18
GRØNN = 17
GUL = 27
RØD = 22
GPIO.setup (TRIG, GPIO. OUT)
GPIO.setup (ECHO, GPIO. IN)
GPIO.setup (GRØNN, GPIO. OUT)
GPIO.setup (GUL, GPIO. OUT)
GPIO.setup (RØD, GPIO. OUT)
def green_light ():
GPIO.output (GRØNN, GPIO. HØY)
GPIO.output (GUL, GPIO. LOW)
GPIO.output (RØD, GPIO. LOW)
def yellow_light ():
GPIO.output (GRØNN, GPIO. LOW)
GPIO.utgang (GUL, GPIO. HØY)
GPIO.output (RØD, GPIO. LOW)
def red_light (): GPIO.output (GRØNN, GPIO. LAV)
GPIO.output (GUL, GPIO. LOW)
GPIO.utgang (RØD, GPIO. HØY)
def get_distance ():
GPIO.output (TRIG, True)
time.sleep (0,00001)
GPIO.output (TRIG, False)
mens GPIO.input (ECHO) == Falsk: start = time.time ()
mens GPIO.input (ECHO) == True: end = time.time ()
signal_time = sluttstart
avstand = signaltid / 0.000058
returavstand
mens det er sant:
avstand = get_distance ()
time.sleep (0,05)
print (avstand)
hvis avstand> = 25:
grønt lys()
elif 25> avstand> 10:
gul_lys ()
elif -avstand <= 5:
rødt lys()
Hvis avstanden er større enn eller lik 25 cm, viser vi grønt lys. Hvis det er mellom 10 og 25 cm, blir vi gule, og deretter blir vi røde i mindre enn eller lik 10 cm.