Përmbajtje:
- Hapi 1: Lista e Pjesëve
- Hapi 2: Vendosja e Raspberry Pi
- Hapi 3: Raspberry Pi dhe Mount Camera
- Hapi 4: Montimi i semaforit
- Hapi 5: Tela (Pjesa 1)
- Hapi 6: Ndërtimi i Mjedisit
- Hapi 7: Përfundimi i Kornizës PVC
- Hapi 8: Instalime (Pjesa 2)
- Hapi 9: Përfundoi
- Hapi 10: Shtesa (Fotografi)
Video: Analizues i modeleve të trafikut duke përdorur zbulimin e objekteve të gjalla: 11 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Në botën e sotme, semaforët janë thelbësorë për një rrugë të sigurt. Sidoqoftë, shumë herë, semaforët mund të jenë të bezdisshëm në situatat kur dikush po i afrohet dritës ashtu siç po kthehet në të kuqe. Kjo humb kohë, veçanërisht nëse drita po pengon një automjet të vetëm të kalojë nëpër kryqëzim kur nuk ka askënd tjetër në rrugë. Risia ime është një semafor i zgjuar që përdor zbulimin e objekteve të drejtpërdrejta nga një aparat fotografik për të numëruar numrin e makinave në secilën rrugë. Pajisja që do të përdor për këtë projekt është një Raspberry Pi 3, një modul kamera dhe pajisje të ndryshme elektronike për vetë dritën. Duke përdorur OpenCV në Raspberry Pi, informacioni i mbledhur do të drejtohet përmes kodit që kontrollon LED -të përmes GPIO. Në varësi të këtyre numrave, semafori do të ndryshojë, duke lejuar që makinat të kalojnë në rendin më optimal. Në këtë rast, korsia me më shumë makina do të kalonte në mënyrë që korsia me më pak makina të ishte në punë, duke zvogëluar ndotjen e ajrit. Kjo do të eliminonte situatat kur shumë makina janë ndalur ndërsa nuk ka makina në rrugën kryqëzuese. Kjo jo vetëm që kursen kohë për të gjithë, por gjithashtu kursen mjedisin. Koha kur njerëzit ndalen në një shenjë ndalese me motorin në punë, rrit sasinë e ndotjes së ajrit, kështu që duke krijuar një semafor të zgjuar, unë jam në gjendje të zgjedh modelet e dritës në mënyrë që makinat të kalojnë sa më pak kohë të jetë e mundur me automjetin e tyre të ndaluar Me Në fund të fundit, ky sistem i semaforëve mund të zbatohet në qytete, periferi, apo edhe në zonat rurale për të qenë më efikas për njerëzit do të zvogëlonte ndotjen e ajrit.
Hapi 1: Lista e Pjesëve
Materiale:
Raspberry Pi 3 Model B v1.2
Kamera Raspberry Pi v2.1
Furnizimi me energji mikro USB 5V/1A
Monitor HDMI, tastierë, kartë SD miu me Raspbian Jessie
Kabllo Raspberry Pi GPIO Breakout
LED të kuq, të verdhë, jeshil (2 nga secila ngjyrë)
Lidhëset femra për Raspberry Pi (7 ngjyra unike)
Tel i përzgjedhur me 24 matës (ngjyra të ndryshme) + tuba për tkurrjen e nxehtësisë
Panel ose platformë druri 2’x2’
Vida druri
Sipërfaqe e zezë (karton, pllakë shkumë, tabelë posteri, etj.)
Shirit i bardhë (ose çdo ngjyrë tjetër përveç të zezë) për shënimet e rrugëve
Bojë me llak të zi (për PVC)
Pipe”tub PVC me nyje bërryli 90 gradë (2), prizë T (1), përshtatës femër (2)
Mjetet
Makine per ngjitjen e metalit
Printer 3D
Stërvitje me copa stërvitje të ndryshme
Breadboard
Armë e nxehtë
Hapi 2: Vendosja e Raspberry Pi
Ngarkoni kartën SD në Raspberry Pi dhe filloni.
Ndiqni këtë udhëzues për të instaluar bibliotekat e kërkuara OpenCV. Sigurohuni që keni kohë për ta bërë këtë hap, pasi instalimi i bibliotekës OpenCV mund të zgjasë disa orë. Sigurohuni që gjithashtu të instaloni dhe konfiguroni kamerën tuaj këtu.
Ju gjithashtu duhet të instaloni pip:
kamera
gpiozero
RPi. GPIO
Këtu është kodi i përfunduar:
nga picamera.array import PiRGBArray
nga picamera import PiCamera
import picamera.rray
importoni numpy si np
koha e importit
import cv2
importoni RPi. GPIO si GPIO
koha e importit
GPIO.setmode (GPIO. BCM)
për i në (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
kamera = PiCamera ()
cam.rezoluta = (480, 480)
kamera.framerate = 30
i papërpunuar = PiRGBArray (kamera, madhësia = (480, 480))
koha. gjumi (0.1)
colorLower = np.array ([0, 100, 100])
colorUpper = np. array ([179, 255, 255])
nisja = 0
inithoriz = 0
numërues = 0
për kuadrin në cam.capture_continuous (raw, format = "bgr", use_video_port = True):
kuadër = kornizë.rray
hsv = cv2.cvtColor (kornizë, cv2. COLOR_BGR2HSV)
maskë = cv2.inRange (hsv, colorLower, colorUpper)
maskë = cv2.blur (maskë, (3, 3))
maskë = cv2.dilate (maskë, Asnjë, përsëritje = 5)
maskë = cv2.erode (maskë, Asnjë, përsëritje = 1)
maskë = cv2.dilate (maskë, Asnjë, përsëritje = 3)
mua, thresh = cv2. pragu (maskë, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
qendra = Asnjë
vert = 0
horizont = 0
nëse len (cnts)> 0:
për c në cnts:
(x, y), rrezja = cv2.minMbyllja Rrethi (c)
qendra = (int (x), int (y))
rreze = int (rreze)
cv2. rreth (kornizë, qendër, rreze, (0, 255, 0), 2)
x = int (x)
y = int (y)
nëse 180 <x <300:
nëse jeni> 300:
vert = vert +1
elif y <180:
vert = vert +1
tjeter:
vert = vert
nëse 180 <y <300:
nëse x> 300:
horizont = horizont +1
elif x <180:
horizont = horizont +1
tjeter:
horizont = horizont
nëse vert! = initvert:
print "Makina në korsi vertikale:" + str (vert)
initvert = vert
print "Makina në korsi horizontale:" + str (horizont)
inithoriz = horizont
print '----------------------------'
nëse horizont! = inithoriz:
print "Makina në korsi vertikale:" + str (vert)
initvert = vert
print "Makina në korsi horizontale:" + str (horizont)
inithoriz = horizont
print '----------------------------'
nëse vert <horizont:
GPIO.putput (23, GPIO. HIGHT)
GPIO.putput (21, GPIO. HIGHT)
GPIO.putput (16, GPIO. LOW)
GPIO.putput (25, GPIO. LOW)
nëse horizont <vert:
GPIO.putput (16, GPIO. HIGHT)
GPIO.putput (25, GPIO. HIGHT)
GPIO.putput (23, GPIO. LOW)
GPIO.putput (21, GPIO. LOW)
cv2.imshow ("Frame", frame)
cv2.imshow ("HSV", hsv)
cv2.imshow ("Thresh", thresh)
i papërpunuar. cungoj (0)
nëse cv2.waitKey (1) & 0xFF == ord ('q'):
pushim
cv2.destroyAllWindows ()
GPIO.cleanup ()
Hapi 3: Raspberry Pi dhe Mount Camera
Printoni kasën dhe montoni dhe montoni kasën dhe kamerën.
Hapi 4: Montimi i semaforit
Provoni semaforin me një dërrasë buke. Çdo grup i kundërt i LED -ve ndajnë një anodë, dhe të gjithë ndajnë një katodë (tokë) të përbashkët. Duhet të ketë gjithsej 7 tela hyrës: 1 për secilën palë LEDS (6) + 1 tel tokëzimi. Saldoni dhe montoni semaforët.
Hapi 5: Tela (Pjesa 1)
Ngjitni kunjat e kokës së femrës në rreth 5 metra tela. Këto janë anët që këto tela do të kapen më vonë përmes tubave të PVC. Sigurohuni që të jeni në gjendje të dalloni grupet e ndryshme të dritave (2 x 3 ngjyra dhe 1 tokë). Në këtë rast, unë shënova skajet e një grupi tjetër të telave të kuq, të verdhë dhe blu me mprehtë, kështu që e di se cila është cila.
Hapi 6: Ndërtimi i Mjedisit
Ndërtimi i mjedisit Bëni një paletë druri 2 metra katrore si kjo. Druri i mbeturinave është i mirë pasi do të mbulohet. Shponi një vrimë që i përshtatet përshtatësit tuaj. Stërvitni vida nëpër anët e paletës për të siguruar tubin PVC në vend. Pritini tabelën e zezë të shkumës që të përputhet me paletën e drurit nën të. Stërvitni një vrimë që përshtatet rreth tubit PVC. Përsëriteni në këndin e kundërt. Shënoni rrugët me ndonjë shirit të bardhë.
Hapi 7: Përfundimi i Kornizës PVC
Në tubin e sipërm, shponi një vrimë që mund të përshtatet me një pako telash. Një vrimë e përafërt është e mirë për sa kohë që ju mund të hyni në brendësi të tubave. Gjarpëroni telat përmes tubave PVC dhe nyjeve të bërrylit për një përshtatje provë. Pasi të jetë përfunduar gjithçka, lyeni PVC -në me bojë llak të zezë për të pastruar pamjen e kornizës kryesore. Pritini një hendek të vogël në njërin prej tubave PVC për të përshtatur një bashkim T. Shtoni një tub PVC në këtë bashkim t për të cilin do të varet semafori. Diametri mund të jetë i njëjtë me kornizën kryesore (1/2 ), megjithëse nëse përdorni një tub më të hollë, sigurohuni që telat 7 të kalojnë përmes gjarpërit. Shponi një vrimë përmes këtij tubi që të varet semafori.
Hapi 8: Instalime (Pjesa 2)
Rilidhni gjithçka siç është testuar më parë. Kontrolloni dy herë semaforin dhe instalimet elektrike me një dërrasë buke për të konfirmuar që të gjitha lidhjet janë bërë. Ngjitni semaforin telat që vijnë përmes krahut T-joint. Mbështillni telat e ekspozuar me shirit elektrik për të parandaluar çdo pantallona të shkurtra dhe për një pamje më të pastër.
Hapi 9: Përfundoi
Për të ekzekutuar kodin, sigurohuni që të vendosni burimin tuaj si pr/.profile dhe cd në vendndodhjen e projektit tuaj.
Hapi 10: Shtesa (Fotografi)
Recommended:
Kontrolluesi i dritave të trafikut Arduino duke përdorur RBG Led - 4-drejtimëshe: 3 hapa
Kontrolluesi i dritave të trafikut Arduino duke përdorur RBG Led | 4-Way: Në këtë postim, ju do të mësoni se si të bëni një kontrollues të semaforit Arduino. Ky kontrollues semafor do të përdoret për të kontrolluar rrjedhën e trafikut. Këto mund të aplikohen në zona me trafik të lartë për të shmangur bllokimet e trafikut ose aksidentet. Th
Programimi i orientuar drejt objekteve: Krijimi i metodave të mësimit/mësimdhënies/teknikës së objekteve duke përdorur formuesin e formës: 5 hapa
Programimi i orientuar drejt objekteve: Krijimi i metodave të mësimit/mësimdhënies/teknikës së objekteve duke përdorur Shape Puncher: Metoda e të mësuarit/mësimdhënies për studentët e rinj në programimin e orientuar drejt objekteve. Kjo është një mënyrë për t'i lejuar ata të vizualizojnë dhe të shohin procesin e krijimit të objekteve nga klasat.Pjesët:1. EkTools grusht i madh 2 inç; format e ngurta janë më të mirat.2. Copë letre ose c
Numëruesi i objekteve duke përdorur IR: 9 hapa (me fotografi)
Numëruesi i objekteve duke përdorur IR: Në këtë projekt të vogël, ne do të krijojmë një numërues objekti plotësisht automatik me një ekran të thjeshtë segmenti. Ky projekt është mjaft i thjeshtë dhe përfshin vetëm elektronikë të thjeshtë. Ky qark bazohet në Infrared për të zbuluar objekte, për të mësuar më shumë
Programim i orientuar drejt objekteve: Krijimi i metodave të mësimit/mësimdhënies/teknikës së objekteve duke përdorur gërshërë: 5 hapa
Programim i orientuar drejt objekteve: Krijimi i metodave të të mësuarit/mësimdhënies/teknikës së përdorimit të gërshërëve: Metoda e të mësuarit/mësimdhënies për studentët e rinj në programimin e orientuar drejt objekteve. Kjo është një mënyrë për t'i lejuar ata të vizualizojnë dhe të shohin procesin e krijimit të objekteve nga klasat. Pjesë: 1. Gërshërë (çdo lloj do të bëjë). 2. Copë letre ose karton. 3. Shënuesi.
FoldTronics: Krijimi i objekteve 3D me elektronikë të integruar duke përdorur mjaltë të palosshme Strukturat e kombinuara: 11 hapa
FoldTronics: Krijimi i objekteve 3D me elektronikë të integruar duke përdorur strukturat e palosshme të HoneyComb: Në këtë tutorial, ne paraqesim FoldTronics, një teknikë fabrikimi të bazuar në prerjen 2D për të integruar elektronikën në objektet e palosura 3D. Ideja kryesore është prerja dhe shpimi i një çarçafi 2D duke përdorur një komplot prerës për ta bërë atë të palosshme në një strukturë 3D të huallit