Kazalo:
- 1. korak: Seznam delov
- 2. korak: Nastavitev Raspberry Pi
- 3. korak: Raspberry Pi in nosilec za kamero
- 4. korak: Montaža semaforja
- 5. korak: Ožičenje (1. del)
- Korak 6: Gradnja okolja
- 7. korak: Dokončanje PVC okvirja
- 8. korak: Ožičenje (2. del)
- 9. korak: Končano
- 10. korak: Dodatki (fotografije)
Video: Analizator prometnih vzorcev z zaznavanjem objektov v živo: 11 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
V današnjem svetu so semaforji bistveni za varno cesto. Velikokrat pa so lahko semaforji moteči v situacijah, ko se nekdo približuje luči, ko ta postane rdeča. To zapravlja čas, še posebej, če svetloba preprečuje, da bi eno vozilo prišlo skozi križišče, ko na cesti ni nikogar drugega. Moja inovacija je pameten semafor, ki uporablja zaznavanje predmetov v živo s kamere za štetje števila avtomobilov na vsaki cesti. Strojna oprema, ki jo bom uporabil za ta projekt, je Raspberry Pi 3, modul kamere in različna elektronska strojna oprema za samo svetlobo. Z uporabo OpenCV na Raspberry Pi bodo zbrani podatki potekali skozi kodo, ki nadzoruje LED diode prek GPIO. Odvisno od teh številk se bo semafor spremenil in pustil avtomobile skozi v najbolj optimalnem vrstnem redu. V tem primeru bi prevozili pas z največ avtomobili, tako da bi bil pas z manj avtomobili v prostem teku, kar bi zmanjšalo onesnaženje zraka. To bi odpravilo situacije, ko se veliko avtomobilov ustavi, medtem ko na križišču ni avtomobilov. To ne samo, da prihrani čas za vse, ampak tudi reši okolje. Čas, ko se ljudje ustavijo pri znaku za zaustavitev z motorjem v prostem teku, poveča onesnaženost zraka, zato lahko z ustvarjanjem pametnega semaforja optimiziram svetlobne vzorce, tako da avtomobili čim manj časa preživijo pri ustavljenem vozilu. Konec koncev bi lahko ta sistem semaforjev uvedli v mestih, predmestjih ali celo na podeželju, da bi bili ljudje učinkovitejši in bi zmanjšali onesnaženje zraka.
1. korak: Seznam delov
Materiali:
Raspberry Pi 3 Model B v1.2
Raspberry Pi Camera v2.1
5V/1A mikro USB napajalnik
HDMI monitor, tipkovnica, miška SD kartica z Raspbian Jessie
Prekinitveni kabel Raspberry Pi GPIO
Rdeče, rumene, zelene LED diode (po 2 v vsaki barvi)
Ženski priključki za Raspberry Pi (7 edinstvenih barv)
Različna žica s premerom 24 (različne barve) + toplotno skrčljiva cev
2'x2 'lesena plošča ali ploščad
Vijaki za les
Črna površina (karton, penasta plošča, plakat itd.)
Beli (ali katera koli druga barva, razen črnega) trak za cestne oznake
Črna barva v spreju (za PVC)
½”PVC cev s komolčnimi spoji 90 stopinj (2), T -vtičnica (1), ženski adapter (2)
Orodja
Spajkalnik
3D tiskalnik
Vrtajte z različnimi svedri
Ogledna plošča
Toplotna pištola
2. korak: Nastavitev Raspberry Pi
Kartico SD naložite v Raspberry Pi in zaženite.
Sledite tem navodilom za namestitev potrebnih knjižnic OpenCV. Poskrbite, da boste imeli čas za ta korak, saj lahko namestitev knjižnice OpenCV traja nekaj ur. Tukaj ne pozabite namestiti in nastaviti kamere.
Prav tako morate namestiti pip:
pikamera
gpiozero
RPi. GPIO
Tu je dokončana koda:
iz picamera.array uvoz PiRGBArray
iz picamere uvoz PiCamera
uvoz picamera.array
uvoz numpy kot np
čas uvoza
uvoz cv2
uvozite RPi. GPIO kot GPIO
čas uvoza
Način GPIO.set (GPIO. BCM)
za i in (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
cam = PiCamera ()
cam.resolution = (480, 480)
cam.framerate = 30
surovo = PiRGBArray (odmik, velikost = (480, 480))
time.sleep (0,1)
colorLower = np.array
colorUpper = matrika np ([179, 255, 255])
initvert = 0
inithoriz = 0
števec = 0
za okvir v cam.capture_continuous (surovo, format = "bgr", use_video_port = True):
okvir = okvir.masa
hsv = cv2.cvtColor (okvir, cv2. COLOR_BGR2HSV)
mask = cv2.inRange (hsv, colorLower, colorUpper)
mask = cv2.blur (maska, (3, 3))
mask = cv2.dilate (maska, nič, ponovitve = 5)
mask = cv2.erode (maska, nič, ponovitve = 1)
mask = cv2.dilate (maska, nič, ponovitve = 3)
jaz, thresh = cv2.threshold (maska, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
center = Brez
vert = 0
horiz = 0
če je len (cnts)> 0:
za c v cnts:
(x, y), polmer = cv2.min Zaključni krog (c)
center = (int (x), int (y))
polmer = int (polmer)
cv2.circle (okvir, sredina, polmer, (0, 255, 0), 2)
x = int (x)
y = int (y)
če je 180 <x <300:
če y> 300:
vert = vert +1
elif y <180:
vert = vert +1
drugače:
vert = vert
če je 180 <y <300:
če je x> 300:
horiz = horiz +1
elif x <180:
horiz = horiz +1
drugače:
horiz = horiz
če vert! = initvert:
natisni "Avtomobili v navpičnem pasu:" + str (vert)
initvert = vert
natisni "Avtomobili v vodoravnem pasu:" + str (horiz)
inithoriz = horiz
natisni '----------------------------'
če horiz! = inithoriz:
natisni "Avtomobili v navpičnem pasu:" + str (vert)
initvert = vert
natisni "Avtomobili v vodoravnem pasu:" + str (horiz)
inithoriz = horiz
natisni '----------------------------'
če vert <horiz:
GPIO.izhod (23, GPIO. HIGH)
GPIO.izhod (21, GPIO. HIGH)
Izhod GPIO (16, GPIO. LOW)
GPIO.izhod (25, GPIO. LOW)
če horiz <vert:
GPIO.izhod (16, GPIO. HIGH)
GPIO.izhod (25, GPIO. HIGH)
GPIO.izhod (23, GPIO. LOW)
Izhod GPIO. (21, GPIO. LOW)
cv2.imshow ("Okvir", okvir)
cv2.imshow ("HSV", hsv)
cv2.imshow ("Thresh", thresh)
raw.truncate (0)
če cv2.waitKey (1) & 0xFF == ord ('q'):
prekiniti
cv2.destroyAllWindows ()
GPIO.cleanup ()
3. korak: Raspberry Pi in nosilec za kamero
3D -tiskanje ohišja in fotoaparata za montažo in montažo.
4. korak: Montaža semaforja
Preizkusite semafor s ploščico. Vsak nasprotni niz LED diod ima anodo in vsi imajo skupno katodo (ozemljitev). Skupaj mora biti 7 vhodnih žic: 1 za vsak par LEDS (6) + 1 ozemljitvena žica. Spajkajte in sestavite semaforje.
5. korak: Ožičenje (1. del)
Spajajte zatiče ženske glave na približno 5 čevljev žice. To so stranice, na katerih se bodo te žice kasneje prelevile skozi PVC cevi. Bodite prepričani, da lahko ločite različne sklope luči (2 x 3 barve in 1 podlago). V tem primeru sem z ostrino označil konce drugega niza rdečih, rumenih in modrih žic, da vem, kateri je kateri.
Korak 6: Gradnja okolja
Gradnja okolja Naredite takole 2 -metrsko leseno paleto. Odpadni les je v redu, saj bo pokrit. Izvrtajte luknjo, ki ustreza vašemu adapterju. Skozi stranice palete izvrtajte vijake, da pritrdite PVC cev na svoje mesto. Odrežite črno penasto ploščo, da se ujema z leseno paleto pod njo. Izvrtajte luknjo, ki se prilega okoli PVC cevi. Ponovite na nasprotnem vogalu. Ceste označite z belim trakom.
7. korak: Dokončanje PVC okvirja
Na zgornji cevi izvrtajte luknjo, v katero se lahko prilega snop žic. Groba luknja je v redu, dokler lahko dostopate do notranjosti cevi. Za preizkus prilegajte žice skozi PVC cevi in komolčne spoje. Ko je vse dokončano, pobarvajte PVC s črno barvo, da očistite videz glavnega okvirja. Odrežite majhno vrzel v eni od PVC cevi, da se prilega T-spoju. Temu t-spoju dodajte PVC cev, s katere lahko semafor visi. Premer je lahko enak glavnemu okvirju (1/2 ), če pa uporabljate tanjšo cev, se prepričajte, da se lahko 7 žic prebije skozi to luknjo.
8. korak: Ožičenje (2. del)
Ponovno ožičite vse, kot je bilo prej preizkušeno. Dvakrat preverite semafor in ožičenje s ploščico, da preverite, ali so vse povezave vzpostavljene. Spajajte semafor na žice, ki prihajajo skozi roko T-spoja. Odkrijte žice z električnim trakom, da preprečite kratke hlače in čistejši videz.
9. korak: Končano
Če želite zagnati kodo, izvorno nastavite kot ~/.profile in cd na mesto projekta.
10. korak: Dodatki (fotografije)
Priporočena:
Samodejna postelja z zaznavanjem gibanja LED nočna luč: 6 korakov (s slikami)
LED -nočna lučka z avtomatskim zaznavanjem gibanja LED: Pozdravljeni, fantje, dobrodošli v še enem navodilu, ki vam bo vedno pomagalo pri vsakodnevnem življenju in vam bo olajšalo življenje. To je lahko včasih rešitelj življenja v primeru starejših ljudi, ki se morajo mučiti pri vstajanju v posteljo
1024 vzorcev FFT analizatorja spektra z uporabo Atmega1284: 9 korakov
1024 vzorcev FFT analizatorja spektra z uporabo Atmega1284: Ta razmeroma enostavna vadnica (glede na kompleksnost te teme) vam bo pokazala, kako lahko naredite zelo preprost analizator spektra 1024 vzorcev z uporabo plošče tipa Arduino (1284 Narrow) in serijskega ploterja. Kakršen koli primer Arduina
Pogovorni klobuk z zaznavanjem tresenja s Circuit Playground Express: 12 korakov (s slikami)
Shake Detecting Talking Hat with Circuit Playground Express: Ta preprosta in hitra vadnica vas nauči, kako narediti govorilni klobuk! Ko bi 'zastavili' vprašanje, bi odgovoril s skrbno obdelanim odgovorom, morda pa bi vam lahko pomagal pri odločitvi, ali imate kakršne koli skrbi ali težave. V razredu nosljive tehnologije sem
D4E1 - Umetniki: izdelovalec vzorcev papirja: 8 korakov
D4E1 - Umetniki: izdelovalec vzorcev papirja: Smo 4 študentje industrijskega oblikovanja izdelkov iz Howesta in to je naš umetnik. Kaj je ustvarjalec umetnosti in zakaj. Umetnik je preprost stroj, ki otrokom s kognitivnimi motnjami omogoča zabavno izdelavo materialov ali izdelavo preproste naloge, ki
Analizator vzorcev kamnin: 4 koraki
Analizator vzorcev kamnin: Analizator vzorcev kamna se uporablja za identifikacijo in analizo vrst vzorcev kamnin z uporabo tehnike vibracij mehkega udarjanja. To je nova metoda pri prepoznavanju vzorcev kamnin. Če obstaja meteorit ali kakšen neznani vzorec kamnine, je mogoče oceniti