Mündəricat:
- Addım 1: Parça siyahısı
- Addım 2: Raspberry Pi qurmaq
- Addım 3: Raspberry Pi və Kamera Dağı
- Addım 4: Svetofor Quraşdırması
- Addım 5: Kablolama (1 -ci hissə)
- Addım 6: Ətraf mühitin qurulması
- Addım 7: PVC Çərçivəni bitirmək
- Addım 8: Kablolama (2 -ci hissə)
- Addım 9: Bitdi
- Addım 10: Əlavələr (Şəkillər)
Video: Canlı Obyekt Algılamasından istifadə edən Trafik Nümunəsi Analizatoru: 11 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
İndiki dünyada təhlükəsiz yol üçün işıqforlar vacibdir. Ancaq bir çox hallarda işığın qırmızıya döndüyü kimi işığa yaxınlaşdığı hallarda işıqforlar sinir bozucu ola bilər. Xüsusilə işıq, yolda başqa heç kim olmadığı zaman kəsişmədən keçməyini maneə törədirsə, bu vaxt itkisinə səbəb olur. Yeniliyim, hər yoldakı avtomobillərin sayını hesablamaq üçün kameradan canlı obyekt algılamadan istifadə edən ağıllı bir işıqfordur. Bu layihə üçün istifadə edəcəyim aparat bir Raspberry Pi 3, kamera modulu və işığın özü üçün müxtəlif elektron avadanlıqlardır. Raspberry Pi -də OpenCV istifadə edərək, toplanan məlumatlar LED -ləri GPIO vasitəsilə idarə edən kod vasitəsilə işlədiləcək. Bu rəqəmlərdən asılı olaraq, işıqfor dəyişəcək və avtomobilləri ən optimal qaydada keçir. Bu vəziyyətdə, ən çox avtomobili olan zolaq buraxılacaq ki, daha az avtomobili olan zolaq boş qalacaq və hava çirkliliyini azaldacaq. Bu, bir çox avtomobilin kəsişən yolda maşın olmadığı halda dayandırılması hallarını aradan qaldıracaq. Bu, hər kəs üçün vaxta qənaət etməklə yanaşı, ətraf mühitə də qənaət edir. Mühərrikin rölantidə olması ilə insanların dayanma işarəsində dayanma müddəti hava çirkliliyinin miqdarını artırır, buna görə də ağıllı bir işıqfor yaradaraq, işıq modellərini optimallaşdıra bilirəm ki, maşınlar avtomobillərini dayandıraraq mümkün olan ən az vaxt sərf etsinlər.. Nəhayət, bu svetofor sistemi şəhərlərdə, şəhərətrafı ərazilərdə və ya hətta kənd yerlərində tətbiq oluna bilər ki, insanlar üçün daha səmərəli olsun, hava çirkliliyini azaltsın.
Addım 1: Parça siyahısı
Materiallar:
Raspberry Pi 3 Model B v1.2
Raspberry Pi Kamera v2.1
5V/1A mikro USB enerji təchizatı
HDMI monitor, klaviatura, Raspbian Jessie ilə siçan SD kartı
Raspberry Pi GPIO qırılma kabeli
Qırmızı, sarı, yaşıl LEDlər (hər rəngdən 2 ədəd)
Raspberry Pi üçün qadın konnektorlar (7 unikal rəng)
Müxtəlif rəngli 24 tel (fərqli rənglər) + istilik büzücü borular
2'x2 'taxta panel və ya platforma
Taxta vintlər
Qara səth (karton, köpük lövhəsi, afişa lövhəsi və s.)
Yol nişanları üçün ağ (və ya qara rəngdən başqa hər hansı bir rəng) lent
Qara sprey boya (PVC üçün)
½”90 dərəcə dirsək birləşmələri olan PVC boru (2), T yuva (1), dişi adapter (2)
Alətlər
Lehimleme dəmir
3D printer
Müxtəlif qazma bitləri ilə qazma
Çörək lövhəsi
İstilik silahı
Addım 2: Raspberry Pi qurmaq
SD kartı Raspberry Pi -yə yükləyin və yükləyin.
Lazım olan OpenCV kitabxanalarını quraşdırmaq üçün bu təlimatı izləyin. OpenCV kitabxanasının quraşdırılması bir neçə saat çəkə biləcəyi üçün bu addımı atmağa vaxtınız olduğundan əmin olun. Kameranızı da bura quraşdırıb qurduğunuzdan əmin olun.
Ayrıca pip quraşdırmalısınız:
pikamera
gpiozero
RPi. GPIO
İşdə son kod:
picamera.array idxalından PiRGBArray
picamera idxalından PiCamera
picamera.array idxal edin
np kimi numpy idxal edin
idxal vaxtı
idxal cv2
GPO olaraq RPi. GPIO idxal edin
idxal vaxtı
GPIO.setmode (GPIO. BCM)
i üçün (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
cam = PiCamera ()
cam.resolution = (480, 480)
cam.framerate = 30
xam = PiRGBArray (cam, ölçü = (480, 480))
vaxt.yuxu (0.1)
colorLower = np.array ([0, 100, 100])
colorUpper = np.array ([179, 255, 255])
başlanğıc = 0
inithoriz = 0
sayğac = 0
cam.capture_continuousdakı çərçivə üçün (raw, format = "bgr", use_video_port = True):
çərçivə = çərçivə.array
hsv = cv2.cvtColor (çərçivə, cv2. COLOR_BGR2HSV)
maska = cv2.inRange (hsv, colorLower, colorUpper)
maska = cv2.blur (maska, (3, 3))
maska = cv2.dilate (maska, Yox, təkrarlamalar = 5)
maska = cv2.erode (maska, Yox, təkrarlamalar = 1)
maska = cv2.dilate (maska, Yox, təkrarlamalar = 3)
me, thresh = cv2.threshold (maska, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (xırda, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
mərkəzi = Yoxdur
vert = 0
üfüq = 0
əgər len (cnts)> 0:
cnts -də c üçün:
(x, y), radius = cv2.minEnclosingCircle (c)
mərkəz = (int (x), int (y))
radius = int (radius)
cv2.dairə (çərçivə, mərkəz, radius, (0, 255, 0), 2)
x = int (x)
y = int (y)
əgər 180 <x <300:
y> 300 olarsa:
vert = vert +1
elif y <180:
vert = vert +1
başqa:
vert = vert
əgər 180 <y <300:
x> 300 olarsa:
üfüq = üfüq +1
elif x <180:
üfüq = üfüq +1
başqa:
üfüq = üfüq
əgər vert! = initvert:
çap "Şaquli zolaqdakı avtomobillər:" + str (vert)
başlanğıc = vert
çap "Avtomobillər üfüqi zolaqda:" + str (üfüqdə)
inithoriz = üfüq
çap '----------------------------'
əgər üfüq! = inithoriz:
çap "Şaquli zolaqdakı avtomobillər:" + str (vert)
başlanğıc = vert
"Üfüqi zolaqdakı avtomobillər:" + str (üfüq)
inithoriz = üfüq
çap '----------------------------'
əgər vert <horiz:
GPIO.çıxış (23, GPIO. HIGH)
GPIO.çıxış (21, GPIO. HIGH)
GPIO.çıxış (16, GPIO. LOW)
GPIO.çıxış (25, GPIO. LOW)
üfüq <vert:
GPIO.çıxış (16, GPIO. HIGH)
GPIO.çıxış (25, GPIO. HIGH)
GPIO.çıxış (23, GPIO. LOW)
GPIO.çıxış (21, GPIO. LOW)
cv2.imshow ("Çərçivə", çərçivə)
cv2.imshow ("HSV", hsv)
cv2.imshow ("Xırda", xırda)
xam.qırmaq (0)
əgər cv2.waitKey (1) & 0xFF == ord ('q'):
fasilə
cv2.destroyAllWindows ()
GPIO.cleanup ()
Addım 3: Raspberry Pi və Kamera Dağı
Çantanı və kameranı 3D çap edin və yığın.
Addım 4: Svetofor Quraşdırması
Trafik işığını çörək taxtası ilə sınayın. Hər bir LED dəsti bir anod bölüşdürür və hamısı ortaq bir katod (torpaq) bölüşür. Cəmi 7 giriş teli olmalıdır: hər cüt LED (6) + 1 torpaq tel. Trafik işıqlarını lehimləyin və yığın.
Addım 5: Kablolama (1 -ci hissə)
Dişi başlıq pinlərini təxminən 5 fut telə lehimləyin. Bu tellərin daha sonra PVC borulardan keçəcəyi tərəflərdir. Fərqli işıq dəstlərini (2 x 3 rəng və 1 torpaq) fərqləndirə bildiyinizə əmin olun. Bu vəziyyətdə, başqa bir qırmızı, sarı və mavi tellərin uclarını sharpie ilə qeyd etdim, buna görə hansının olduğunu bilirəm.
Addım 6: Ətraf mühitin qurulması
Ətraf mühitin qurulması 2 metrlik bir kvadrat taxta palet hazırlayın. Hurda taxta üstü örtüləcəyi üçün yaxşıdır. Adaptörünüzə uyğun olan bir çuxur qazın. PVC borunun yerinə sabitlənməsi üçün paletin yanlarından vintlər açın. Qara köpük lövhəsini altındakı taxta paletə uyğun olaraq kəsin. PVC borunun ətrafına uyğun bir çuxur qazın. Qarşı küncdə təkrarlayın. Yolları ağ lentlə işarələyin.
Addım 7: PVC Çərçivəni bitirmək
Üst boruda, bir dəstə telə sığa biləcək bir çuxur qazın. Boruların içərisinə girə biləcəyiniz müddətcə kobud bir çuxur yaxşıdır. Test üçün fitinqlər üçün PVC borulardan və dirsəklərdən keçin. Hər şey tamamlandıqda, əsas çərçivənin görünüşünü təmizləmək üçün PVC -ni bir az qara sprey boya ilə boyayın. PVC borulardan birində T-birləşməsinə uyğun olaraq kiçik bir boşluq kəsin. Trafik işığının asılması üçün bu t-birləşməsinə bir PVC boru əlavə edin. Diametri əsas çərçivə ilə eyni ola bilər (1/2 ), daha incə bir boru istifadə etsəniz, 7 telin keçə biləcəyinə əmin olun. Trafik işığının asılması üçün bu borudan bir delik açın.
Addım 8: Kablolama (2 -ci hissə)
Əvvəllər sınaqdan keçirildiyi kimi hər şeyi yenidən bağlayın. Bütün əlaqələrin qurulduğunu təsdiqləmək üçün trafik işığını və kabelləri bir çörək taxtası ilə iki dəfə yoxlayın. Trafik işığını T-qolu qolundan keçən tellərə lehimləyin. Açıq telləri elektrik şeridi ilə sarın ki, hər hansı bir şort yaranmasın və daha təmiz görünsün.
Addım 9: Bitdi
Kodu işə salmaq üçün mənbəyinizi ~/.profile və cd olaraq layihənizin yerinə qoyun.
Addım 10: Əlavələr (Şəkillər)
Tövsiyə:
Arduino istifadə edərək Uzaqdan Obyekt Sensoru: 7 addım
Arduino istifadə edərək Uzaqdan Obyekt Sensoru: Hal -hazırda, İstehsalçılar və Yaradıcılar, layihələrin prototiplərinin sürətli inkişafı üçün Arduinoya üstünlük verirlər. Arduino, istifadəsi asan olan hardware və proqram təminatına əsaslanan açıq mənbəli elektronika platformasıdır. Arduino çox yaxşı bir istifadəçi cəmiyyətinə malikdir. Bu işdə
IR istifadə edən obyekt sayğacı: 9 addım (şəkillərlə)
IR istifadə edən obyekt sayğacı: Bu kiçik layihədə, sadə seqmentli ekrana malik tamamilə avtomatik bir obyekt sayğacı yaradacağıq. Bu layihə olduqca sadədir və yalnız sadə elektronikadan ibarətdir. Bu dövrə obyektləri aşkar etmək, daha çox öyrənmək üçün İnfraqırmızıya əsaslanır
Arduino və Ultrasonik Sensordan istifadə edən Trafik Siqnalı: 4 addım
Arduino və Ultrasonik Sensordan istifadə edən Trafik Siqnalı: Ağıllı texnologiyalar dövründə hər şey daha ağıllı olur və ağıllı nəqliyyat sistemi həyatımıza böyük təsir göstərəcək sahələrdən biridir. Orjinal olaraq yayımlandığı yer: https://highvoltages.co/tutorial/arduino-tutorial/traffic-sig
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan - Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı - Rc Helikopteri - Arduino istifadə edərək Rc təyyarəsi: 5 addım (şəkillərlə)
Arduino ilə 2.4Ghz NRF24L01 Modulundan istifadə edən Simsiz Uzaqdan | Nrf24l01 4 Kanal / Quadcopter üçün 6 Kanal Verici Alıcısı | Rc Helikopteri | Arduino istifadə edərək Rc Plane: Rc avtomobili idarə etmək | Quadcopter | Drone | RC təyyarəsi | RC qayığı, həmişə bir alıcıya və ötürücüyə ehtiyacımız var, RC QUADCOPTER üçün 6 kanallı bir vericiyə və alıcıya ehtiyacımız olduğunu və bu tip TX və RX -in çox bahalı olduğunu düşünürük, buna görə də özümüzdə hazırlayacağıq
Qaya nümunəsi analizatoru: 4 addım
Qaya Nümunə Analizatoru: Qaya Nümunəsi Analizatoru, yumşaq çəkic titrəmə texnikasından istifadə edərək süxur nümunələrinin növlərini müəyyən etmək və təhlil etmək üçün istifadə olunur. Qaya nümunələrinin müəyyənləşdirilməsində yeni bir üsuldur. Bir meteorit və ya bilinməyən bir qaya nümunəsi varsa, təxmin edə bilərsiniz