2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Pagal šią instrukciją mes kursime parko jutiklį. Šio parko jutiklio idėja yra parodyti žalią spalvą, kai turite daug vietos automobiliui traukti į priekį automobilių stovėjimo aikštelėje, o paskui pagelsti artėjant visiškai į priekį, o tada raudona, kai turėtumėte sustoti. Mes ketiname sukurti šią sistemą su savo „Raspberry Pi“ir naudoti tam tikrus atstumus, kuriuos galime lengvai išbandyti.
1 žingsnis: reikalingi dalykai
Jums reikės šių komponentų, išskyrus „Raspberry Pi“sąranką.
- Ultragarsinis atstumo jutiklis HC-SR04
- LED (X3)
- 330Ω rezistorius (X3)
- 10KΩ rezistorius (x2)
- Vyriški-vyriški / vyriški-moteriški jungiamieji laidai
- Bandomoji Lenta
2 žingsnis: atlikite laidus
- Atstumo jutiklio paleidiklis yra GPIO 4, aidas yra GPIO 18, žalia lemputė - 17, geltona - 27, raudona - 22.
- 330 omų rezistoriai yra skirti šviesos diodams, jie jungiami prie teigiamos šviesos diodų kojelės, o po to - GPIO.
- 10K omų rezistoriai skirti atstumo jutiklio aido kaiščiui ir jungiami prie GPIO.
3 žingsnis: kodas
importuoti RPi. GPIO kaip GPIOimportuoti laiką
GPIO.setwarnings (klaidinga)
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM)
TRIG = 4
ECHO = 18
ŽALIA = 17
GELTONA = 27
RAUDONA = 22
GPIO nustatymas (TRIG, GPIO. OUT)
GPIO nustatymas (ECHO, GPIO. IN)
GPIO nustatymas (ŽALIA, GPIO. OUT)
GPIO.setup (GELTONA, GPIO. OUT)
GPIO nustatymas (RED, GPIO. OUT)
def green_light ():
GPIO išvestis (GREEN, GPIO. HIGH)
GPIO išvestis (GELTONA, GPIO. LOW)
GPIO išėjimas (RED, GPIO. LOW)
def geltona šviesa ():
GPIO išvestis (GREEN, GPIO. LOW)
GPIO išvestis (GELTONA, GPIO. HIGH)
GPIO išėjimas (RED, GPIO. LOW)
def red_light (): GPIO. output (GREEN, GPIO. LOW)
GPIO išvestis (GELTONA, GPIO. LOW)
GPIO išėjimas (RED, GPIO. HIGH)
def get_distance ():
GPIO išvestis (TRIG, tiesa)
laikas. miegas (0,00001)
GPIO išvestis (TRIG, klaidinga)
tuo tarpu GPIO.input (ECHO) == Klaidinga: start = time.time ()
tuo tarpu GPIO.input (ECHO) == Tiesa: pabaiga = laikas. laikas ()
signal_time = pabaiga-pradžia
atstumas = signalo laikas / 0.000058
grįžimo atstumas
nors tiesa:
atstumas = get_distance ()
laikas miegoti (0,05)
spausdinti (atstumas)
jei atstumas> = 25:
žalia šviesa()
elif 25> atstumas> 10:
geltona šviesa ()
elifo atstumas <= 5:
raudona šviesa()
Jei atstumas yra didesnis ar lygus 25 cm, rodome žalią šviesą. Jei jis yra nuo 10 iki 25 cm, mes pasidarysime geltoni, o po to - raudoni mažiau nei 10 cm.