विषयसूची:
- चरण 1: भागों की सूची
- चरण 2: रास्पबेरी पाई की स्थापना
- चरण 3: रास्पबेरी पाई और कैमरा माउंट
- चरण 4: ट्रैफिक लाइट असेंबली
- चरण 5: वायरिंग (भाग 1)
- चरण 6: पर्यावरण का निर्माण
- चरण 7: पीवीसी फ्रेम को अंतिम रूप देना
- चरण 8: वायरिंग (भाग 2)
- चरण 9: समाप्त
- चरण 10: अतिरिक्त (तस्वीरें)
वीडियो: लाइव ऑब्जेक्ट डिटेक्शन का उपयोग करते हुए ट्रैफ़िक पैटर्न एनालाइज़र: 11 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
आज की दुनिया में एक सुरक्षित सड़क के लिए ट्रैफिक लाइट जरूरी है। हालांकि, कई बार, ट्रैफिक लाइट उन स्थितियों में कष्टप्रद हो सकती है जहां कोई व्यक्ति प्रकाश के पास आ रहा है जैसे कि वह लाल हो रहा है। यह समय बर्बाद करता है, खासकर अगर प्रकाश एक वाहन को चौराहे से गुजरने से रोक रहा हो, जब सड़क पर कोई और न हो। मेरा नवाचार एक स्मार्ट ट्रैफिक लाइट है जो प्रत्येक सड़क पर कारों की संख्या की गणना करने के लिए कैमरे से लाइव ऑब्जेक्ट डिटेक्शन का उपयोग करता है। इस परियोजना के लिए मैं जिस हार्डवेयर का उपयोग करूंगा वह रास्पबेरी पाई 3, एक कैमरा मॉड्यूल और स्वयं प्रकाश के लिए विभिन्न इलेक्ट्रॉनिक हार्डवेयर है। रास्पबेरी पाई पर ओपनसीवी का उपयोग करते हुए, एकत्रित जानकारी को कोड के माध्यम से चलाया जाएगा जो जीपीआईओ के माध्यम से एल ई डी को नियंत्रित करता है। इन नंबरों के आधार पर, ट्रैफिक लाइट बदल जाएगी, कारों को सबसे इष्टतम क्रम में चलने देगी। इस मामले में, सबसे अधिक कारों वाली लेन को जाने दिया जाएगा ताकि कम कारों वाली लेन निष्क्रिय रहे, जिससे वायु प्रदूषण कम हो। यह उन स्थितियों को समाप्त कर देगा जब कई कारों को रोका जाता है जबकि चौराहे पर कोई कार नहीं होती है। इससे न केवल सबके लिए समय की बचत होती है, बल्कि पर्यावरण की भी बचत होती है। लोगों को अपने इंजन के निष्क्रिय होने के साथ स्टॉप साइन पर जितना समय रोका जाता है, वायु प्रदूषण की मात्रा बढ़ जाती है, इसलिए एक स्मार्ट ट्रैफिक लाइट बनाकर, मैं प्रकाश पैटर्न को अनुकूलित करने में सक्षम हूं ताकि कारें अपने वाहन के रुकने में कम से कम समय बिता सकें।. अंततः, इस ट्रैफिक लाइट सिस्टम को शहरों, उपनगरों, या यहां तक कि ग्रामीण क्षेत्रों में लागू किया जा सकता है ताकि लोगों के लिए वायु प्रदूषण कम हो सके।
चरण 1: भागों की सूची
सामग्री:
रास्पबेरी पाई 3 मॉडल बी v1.2
रास्पबेरी पाई कैमरा v2.1
5V/1A माइक्रो यूएसबी बिजली की आपूर्ति
रास्पियन जेसी के साथ एचडीएमआई मॉनिटर, कीबोर्ड, माउस एसडी कार्ड
रास्पबेरी पाई GPIO ब्रेकआउट केबल
लाल, पीले, हरे एल ई डी (प्रत्येक रंग के 2)
रास्पबेरी पाई के लिए महिला कनेक्टर (7 अद्वितीय रंग)
मिश्रित 24 गेज तार (अलग-अलग रंग) + गर्मी हटना टयूबिंग
2'x2 'लकड़ी का पैनल या प्लेटफॉर्म
लकड़ी के पेंच
काली सतह (कार्डबोर्ड, फोम बोर्ड, पोस्टर बोर्ड, आदि)
सड़क चिह्नों के लिए सफेद (या काले रंग के अलावा कोई भी रंग) टेप
ब्लैक स्प्रे पेंट (पीवीसी के लिए)
½”पीवीसी पाइप 90 डिग्री कोहनी जोड़ों (2), टी सॉकेट (1), महिला एडाप्टर (2) के साथ
उपकरण
सोल्डरिंग आयरन
थ्री डी प्रिण्टर
विभिन्न ड्रिल बिट्स के साथ ड्रिल
ब्रेड बोर्ड
हीट गन
चरण 2: रास्पबेरी पाई की स्थापना
एसडी कार्ड को रास्पबेरी पाई में लोड करें और बूट करें।
आवश्यक ओपनसीवी पुस्तकालयों को स्थापित करने के लिए इस गाइड का पालन करें। सुनिश्चित करें कि आपके पास इस चरण को करने का समय है, क्योंकि OpenCV लाइब्रेरी को स्थापित करने में कुछ घंटे लग सकते हैं। यहां अपना कैमरा इंस्टॉल और सेट अप करना भी सुनिश्चित करें।
आपको पाइप इंस्टॉल भी करना चाहिए:
पिकामेरा
जीपीओजेरो
आरपीआई.जीपीआईओ
यहाँ अंतिम कोड है:
picamera.array से PiRGBArray आयात करें
Picamera से PiCamera आयात करें
पिकामेरा आयात करें.सरणी
np. के रूप में numpy आयात करें
आयात समय
आयात cv2
RPI. GPIO को GPIO के रूप में आयात करें
आयात समय
GPIO.सेटमोड (GPIO. BCM)
मैं में (23, 25, 16, 21) के लिए:
GPIO.setup(i, GPIO. OUT)
कैम = पाइकैमरा ()
कैम.रिज़ॉल्यूशन=(480, 480)
कैम.फ्रेमरेट=30
कच्चा = PiRGBArray (कैम, आकार = (480, 480))
समय सो जाओ (0.1)
colorLower = np.array([0, १००, १००])
colorUpper = np.array([179, 255, 255])
initvert = 0
इनिथोरिज़ = 0
काउंटर = 0
कैम में फ्रेम के लिए।capture_continuous(कच्चा, प्रारूप = "बीजीआर", use_video_port = सच):
फ्रेम = फ्रेम.सरणी
एचएसवी = cv2.cvtColor (फ्रेम, cv2. COLOR_BGR2HSV)
मास्क = cv2.inRange (hsv, colorLower, colorUpper)
मुखौटा = cv2.blur (मुखौटा, (3, 3))
मुखौटा = cv2.dilate (मुखौटा, कोई नहीं, पुनरावृत्तियों = 5)
मुखौटा = cv2.erode (मुखौटा, कोई नहीं, पुनरावृत्तियों = 1)
मुखौटा = cv2.dilate (मुखौटा, कोई नहीं, पुनरावृत्तियों = 3)
मैं, थ्रेश = cv2. दहलीज (मुखौटा, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (थ्रेश, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
केंद्र = कोई नहीं
लंबवत = 0
क्षितिज = 0
अगर लेन (सीएनटी)> 0:
सीएनटी में सी के लिए:
(एक्स, वाई), त्रिज्या = cv2.minएनक्लोजिंगसर्कल (सी)
केंद्र = (इंट (एक्स), इंट (वाई))
त्रिज्या = इंट (त्रिज्या)
cv2.circle (फ्रेम, केंद्र, त्रिज्या, (0, 255, 0)), 2)
एक्स = इंट (एक्स)
वाई = इंट (वाई)
अगर 180 <x <300:
अगर वाई> 300:
लंबवत = लंबवत +1
एलिफ वाई <180:
लंबवत = लंबवत +1
अन्यथा:
वर्ट = वर्ट
अगर 180 <y <300:
अगर एक्स> 300:
होरिज़ = क्षितिज +1
एलिफ एक्स <180:
होरिज़ = होरिज़ +1
अन्यथा:
होरिज़ = क्षितिज
अगर लंबवत!= initvert:
प्रिंट करें"ऊर्ध्वाधर लेन में कारें:" + str(vert)
initvert = vert
प्रिंट करें"क्षैतिज लेन में कारें:" + str(horiz)
इनिथोरिज़ = क्षितिज
प्रिंट '----------------------------'
अगर क्षितिज != inithoriz:
प्रिंट करें"ऊर्ध्वाधर लेन में कारें:" + str(vert)
initvert = vert
प्रिंट करें"क्षैतिज लेन में कारें:" + str(horiz)
इनिथोरिज़ = क्षितिज
प्रिंट '----------------------------'
अगर लंबवत <क्षितिज:
GPIO.output(23, GPIO.high)
GPIO.output(21, GPIO.high)
GPIO.output(16, GPIO. LOW)
GPIO.output (25, GPIO. LOW)
अगर क्षितिज <लंबवत:
GPIO.output (16, GPIO. HIGH)
GPIO.output (25, GPIO. HIGH)
GPIO.output(23, GPIO. LOW)
GPIO.output(21, GPIO. LOW)
cv2.imshow ("फ़्रेम", फ़्रेम)
cv2.imshow ("एचएसवी", एचएसवी)
cv2.imshow ("थ्रेश", थ्रेश)
रॉ.ट्रंकेट(0)
अगर cv2.waitKey(1) और 0xFF == ord('q'):
टूटना
cv2.destroyAllWindows ()
जीपीआईओ.क्लीनअप ()
चरण 3: रास्पबेरी पाई और कैमरा माउंट
3डी प्रिंट केस और कैमरा माउंट और असेंबल।
चरण 4: ट्रैफिक लाइट असेंबली
ब्रेडबोर्ड के साथ ट्रैफिक लाइट का परीक्षण करें। एल ई डी के प्रत्येक विरोधी सेट एक एनोड साझा करते हैं, और उनमें से सभी एक सामान्य कैथोड (जमीन) साझा करते हैं। कुल 7 इनपुट वायर होने चाहिए: 1 LEDS (6) + 1 ग्राउंड वायर की प्रत्येक जोड़ी के लिए। ट्रैफिक लाइट को मिलाएं और इकट्ठा करें।
चरण 5: वायरिंग (भाग 1)
महिला हेडर पिन को लगभग 5 फीट तार से मिलाएं। ये वे पक्ष हैं जो बाद में पीवीसी पाइपों के माध्यम से ये तार सांपों से टकराएंगे। रोशनी के विभिन्न सेटों (2 x 3 रंग और 1 ग्राउंड) को अलग करने में सक्षम होना सुनिश्चित करें। इस मामले में, मैंने शार्प के साथ लाल, पीले और नीले तारों के एक और सेट के सिरों को चिह्नित किया ताकि मुझे पता चल सके कि कौन सा है।
चरण 6: पर्यावरण का निर्माण
पर्यावरण का निर्माण इस तरह 2 फीट चौकोर लकड़ी का फूस बनाएं। स्क्रैप लकड़ी ठीक है क्योंकि इसे ढक दिया जाएगा। एक छेद ड्रिल करें जो आपके एडॉप्टर पर फिट बैठता है। पीवीसी पाइप को जगह में सुरक्षित करने के लिए फूस के किनारों के माध्यम से शिकंजा ड्रिल करें। नीचे लकड़ी के फूस से मेल खाने के लिए ब्लैक फोम बोर्ड को काटें। एक छेद ड्रिल करें जो पीवीसी पाइप के चारों ओर फिट हो। विपरीत कोने पर दोहराएं। कुछ सफेद टेप के साथ सड़कों को चिह्नित करें।
चरण 7: पीवीसी फ्रेम को अंतिम रूप देना
शीर्ष पाइप पर, एक छेद ड्रिल करें जो तारों के एक बंडल को फिट कर सके। जब तक आप पाइप के अंदर तक पहुंच सकते हैं तब तक एक मोटा छेद ठीक है। एक परीक्षण फिट के लिए पीवीसी पाइप और कोहनी के जोड़ों के माध्यम से तारों को सांप करें। एक बार सब कुछ फाइनल हो जाने के बाद, मुख्य फ्रेम के लुक को साफ करने के लिए पीवीसी को कुछ ब्लैक स्प्रे पेंट से पेंट करें। टी-संयुक्त फिट करने के लिए पीवीसी पाइपों में से एक में एक छोटा सा अंतर काटें। ट्रैफिक लाइट से नीचे लटकने के लिए इस टी-संयुक्त में एक पीवीसी पाइप जोड़ें। व्यास मुख्य फ्रेम (1/2 ) के समान हो सकता है, हालांकि यदि आप एक पतले पाइप का उपयोग करते हैं, तो सुनिश्चित करें कि 7 तार आपस में टकरा सकते हैं। ट्रैफिक लाइट से लटकने के लिए इस पाइप के माध्यम से एक छेद ड्रिल करें।
चरण 8: वायरिंग (भाग 2)
जैसा कि पहले परीक्षण किया गया था, सब कुछ फिर से तार करें। सभी कनेक्शन किए जाने की पुष्टि करने के लिए ब्रेडबोर्ड के साथ ट्रैफिक लाइट और वायरिंग को दोबारा जांचें। ट्रैफिक लाइट को टी-जॉइंट आर्म से आने वाले तारों से मिलाएं। किसी भी शॉर्ट्स को रोकने और क्लीनर लुक के लिए उजागर तारों को बिजली के टेप से लपेटें।
चरण 9: समाप्त
कोड चलाने के लिए, अपने स्रोत को ~/.profile और cd के रूप में अपने प्रोजेक्ट स्थान पर सेट करना सुनिश्चित करें।
चरण 10: अतिरिक्त (तस्वीरें)
सिफारिश की:
IR का उपयोग करते हुए ऑब्जेक्ट काउंटर: 9 चरण (चित्रों के साथ)
IR का उपयोग करके ऑब्जेक्ट काउंटर: इस छोटे से प्रोजेक्ट में, हम एक साधारण सेगमेंट डिस्प्ले के साथ पूरी तरह से स्वचालित ऑब्जेक्ट काउंटर बनाएंगे। यह परियोजना अपेक्षाकृत सरल है और इसमें केवल साधारण इलेक्ट्रॉनिक्स शामिल हैं। यह सर्किट वस्तुओं का पता लगाने के लिए इन्फ्रारेड पर आधारित है, और अधिक जानने के लिए
ऑब्जेक्ट डिटेक्शन W/ड्रैगनबोर्ड 410c या 820c OpenCV और Tensorflow का उपयोग करना।: 4 चरण
ऑब्जेक्ट डिटेक्शन W / Dragonboard 410c या 820c OpenCV और Tensorflow का उपयोग करना: यह निर्देश बताता है कि ऑब्जेक्ट डिटेक्शन एप्लिकेशन को चलाने के लिए Python 3.5 के लिए OpenCV, Tensorflow और मशीन लर्निंग फ्रेमवर्क कैसे स्थापित करें।
Arduino के साथ 2.4Ghz NRF24L01 मॉड्यूल का उपयोग कर वायरलेस रिमोट - क्वाडकॉप्टर के लिए Nrf24l01 4 चैनल / 6 चैनल ट्रांसमीटर रिसीवर - आरसी हेलीकाप्टर - Arduino का उपयोग करते हुए Rc प्लेन: 5 कदम (चित्रों के साथ)
Arduino के साथ 2.4Ghz NRF24L01 मॉड्यूल का उपयोग कर वायरलेस रिमोट | क्वाडकॉप्टर के लिए Nrf24l01 4 चैनल / 6 चैनल ट्रांसमीटर रिसीवर | आरसी हेलीकाप्टर | Arduino का उपयोग करते हुए Rc प्लेन: Rc कार चलाने के लिए | क्वाडकॉप्टर | ड्रोन | आरसी विमान | RC नाव, हमें हमेशा एक रिसीवर और ट्रांसमीटर की आवश्यकता होती है, मान लीजिए कि RC QUADCOPTER के लिए हमें एक 6 चैनल ट्रांसमीटर और रिसीवर की आवश्यकता है और उस प्रकार का TX और RX बहुत महंगा है, इसलिए हम अपने
SSD1306 I2C OLED 128x64 डिस्प्ले पर सर्किटपाइथन के साथ ग्राफिक्स एक इटिबिट्सी M4 एक्सप्रेस का उपयोग करते हुए: 13 चरण (चित्रों के साथ)
एसएसडी१३०६ आई२सी ओएलईडी १२८x६४ डिस्प्ले पर सर्किटपाइथन के साथ ग्राफिक्स एक इटसिबिट्सी एम४ एक्सप्रेस का उपयोग करते हुए: एसएसडी१३०६ ओएलईडी डिस्प्ले एक छोटा (०.९६"), सस्ता, व्यापक रूप से उपलब्ध, आई२सी, 128x64 पिक्सल के साथ मोनोक्रोम ग्राफिकल डिस्प्ले है, जो आसानी से इंटरफेस किया जाता है (केवल ४) तार) माइक्रोप्रोसेसर विकास बोर्डों जैसे रास्पबेरी पाई, अरुडिनो या
DMD का उपयोग करते हुए P10 LED डिस्प्ले के साथ स्कोर बोर्ड प्रोजेक्ट: 6 चरण (चित्रों के साथ)
DMD का उपयोग करके P10 LED डिस्प्ले के साथ स्कोर बोर्ड प्रोजेक्ट: अक्सर हम एक सॉकर स्टेडियम में मिलते हैं; एक विशाल एलईडी बोर्ड है जो स्कोरबोर्ड के रूप में कार्य करता है। तो अन्य खेल क्षेत्र में भी, अक्सर हम एलईडी से बने डिस्प्ले स्क्रीन के स्कोरबोर्ड को जानते हैं। हालांकि यह संभव नहीं है, लेकिन एक क्षेत्र ऐसा भी है जो अभी भी हमें