Სარჩევი:
- ნაბიჯი 1: ნაწილების სია
- ნაბიჯი 2: ჟოლოს პიის დაყენება
- ნაბიჯი 3: ჟოლო Pi და კამერის მთა
- ნაბიჯი 4: შუქნიშნის შეკრება
- ნაბიჯი 5: გაყვანილობა (ნაწილი 1)
- ნაბიჯი 6: გარემოს შექმნა
- ნაბიჯი 7: PVC ჩარჩოს დასრულება
- ნაბიჯი 8: გაყვანილობა (ნაწილი 2)
- ნაბიჯი 9: დასრულდა
- ნაბიჯი 10: დამატებითი (ფოტოები)
ვიდეო: მოძრაობის ნიმუშის ანალიზატორი ცოცხალი ობიექტის გამოვლენის გამოყენებით: 11 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
დღევანდელ მსოფლიოში შუქნიშნები აუცილებელია უსაფრთხო გზისათვის. თუმცა, ბევრჯერ, შუქნიშანი შეიძლება იყოს შემაშფოთებელი იმ სიტუაციებში, როდესაც ვიღაც უახლოვდება შუქს, როდესაც ის წითლდება. ეს კარგავს დროს, განსაკუთრებით იმ შემთხვევაში, თუ სინათლე ხელს უშლის ერთ მანქანას კვეთაზე გადასვლისას, როდესაც სხვა არავინ არის გზაზე. ჩემი ინოვაცია არის ჭკვიანი შუქნიშანი, რომელიც იყენებს კამერის ცოცხალი ობიექტის გამოვლენას თითოეული გზაზე მანქანების რაოდენობის დასათვლელად. აპარატურა, რომელსაც გამოვიყენებ ამ პროექტისთვის არის Raspberry Pi 3, კამერის მოდული და სხვადასხვა ელექტრონული ტექნიკა თავად შუქისთვის. Raspberry Pi– ზე OpenCV– ს გამოყენებით შეგროვებული ინფორმაცია გაშვებული იქნება კოდის საშუალებით, რომელიც აკონტროლებს LED– ებს GPIO– ს საშუალებით. ამ რიცხვებიდან გამომდინარე, შუქნიშანი შეიცვლება, რაც მანქანებს ყველაზე ოპტიმალურ წესრიგში გაუშვებს. ამ შემთხვევაში, ყველაზე მეტი მანქანის მქონე ბილიკი გადის ისე, რომ ნაკლები მანქანების მქონე ბილიკი იქნება უმოქმედო და შეამცირებს ჰაერის დაბინძურებას. ეს აღმოფხვრის სიტუაციებს, როდესაც ბევრი მანქანა ჩერდება, ხოლო გზაჯვარედინზე არ არის მანქანა. ეს არა მხოლოდ ზოგავს დროს ყველას, არამედ ზოგავს გარემოს. დრო, როდესაც ხალხი გაჩერებულია გაჩერების ნიშანზე ძრავის მორევით, ზრდის ჰაერის დაბინძურების რაოდენობას, ამიტომ ჭკვიანი შუქნიშნის შექმნით, მე შემიძლია გავაუმჯობესო განათების შაბლონები ისე, რომ მანქანებმა რაც შეიძლება ნაკლები დრო გაატარონ გაჩერებულ მანქანასთან რა საბოლოო ჯამში, ეს შუქნიშნის სისტემა შეიძლება განხორციელდეს ქალაქებში, გარეუბნებში ან თუნდაც სოფლად, რომ ადამიანებისთვის უფრო ეფექტური იყოს ჰაერის დაბინძურების შემცირება.
ნაბიჯი 1: ნაწილების სია
მასალები:
ჟოლო Pi 3 მოდელი B v1.2
Raspberry Pi კამერა v2.1
5V/1A მიკრო USB კვების ბლოკი
HDMI მონიტორი, კლავიატურა, თაგვის SD ბარათი Raspbian Jessie– ით
Raspberry Pi GPIO გარღვევის კაბელი
წითელი, ყვითელი, მწვანე LED (თითოეული ფერის 2)
ქალის კონექტორები ჟოლოს პიისთვის (7 უნიკალური ფერი)
ასორტიმენტი 24 ლიანდაგიანი მავთული (სხვადასხვა ფერის) + გათბობის შემცირების მილი
2’x2’ხის პანელი ან პლატფორმა
ხის ხრახნები
შავი ზედაპირი (მუყაო, ქაფის დაფა, პლაკატის დაფა და ა.
თეთრი (ან ნებისმიერი სხვა ფერის გარდა შავი) ლენტი გზის მარკირებისთვის
შავი სპრეი საღებავი (PVC– სთვის)
½”PVC მილი 90 გრადუსიანი იდაყვის სახსრებით (2), T ბუდე (1), ქალი ადაპტერი (2)
ინსტრუმენტები
გასაყიდი რკინა
3D პრინტერი
საბურღი სხვადასხვა საბურღი ბიტით
პურის დაფა
სითბოს იარაღი
ნაბიჯი 2: ჟოლოს პიის დაყენება
ჩადეთ SD ბარათი Raspberry Pi- ში და ჩატვირთეთ.
მიჰყევით ამ სახელმძღვანელოს საჭირო OpenCV ბიბლიოთეკების დასაყენებლად. დარწმუნდით, რომ გაქვთ დრო ამ ნაბიჯის გასაკეთებლად, რადგან OpenCV ბიბლიოთეკის დაყენებას შეიძლება რამდენიმე საათი დასჭირდეს. დარწმუნდით, რომ დააინსტალირეთ და დააყენეთ თქვენი კამერა აქ.
თქვენ ასევე უნდა დააინსტალიროთ პიპი:
კამერა
გპიოზერო
RPi. GPIO
აქ არის საბოლოო კოდი:
საწყისი picamera.array იმპორტი PiRGBArray
საწყისი picamera იმპორტი PiCamera
იმპორტი picamera.array
იმპორტირებული numpy როგორც np
იმპორტის დრო
იმპორტი cv2
იმპორტი RPi. GPIO როგორც GPIO
იმპორტის დრო
GPIO.setmode (GPIO. BCM)
i in (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
კამერა = PiCamera ()
cam.resolution = (480, 480)
cam.framerate = 30
ნედლეული = PiRGBArray (კამერა, ზომა = (480, 480))
დრო. ძილი (0.1)
colorLower = np.array ([0, 100, 100])
colorUpper = np.array ([179, 255, 255])
ამობრუნება = 0
ინითორიზი = 0
მრიცხველი = 0
for frame in cam.capture_continuous (raw, format = "bgr", use_video_port = True):
ჩარჩო = ჩარჩო. მასივი
hsv = cv2.cvtColor (ჩარჩო, cv2. COLOR_BGR2HSV)
ნიღაბი = cv2.inRange (hsv, colorLower, colorUpper)
ნიღაბი = cv2.blur (ნიღაბი, (3, 3))
ნიღაბი = cv2.dilate (ნიღაბი, არცერთი, გამეორება = 5)
ნიღაბი = cv2.erode (ნიღაბი, არცერთი, გამეორება = 1)
ნიღაბი = cv2.dilate (ნიღაბი, არცერთი, გამეორება = 3)
მე, thresh = cv2.threshold (ნიღაბი, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
ცენტრი = არცერთი
ვერტი = 0
ჰორიზონტი = 0
თუ len (cnts)> 0:
c cnts– ში:
(x, y), რადიუსი = cv2.min დახურვა წრე (გ)
ცენტრი = (int (x), int (y))
რადიუსი = int (რადიუსი)
cv2. წრე (ჩარჩო, ცენტრი, რადიუსი, (0, 255, 0), 2)
x = int (x)
y = int (y)
თუ 180 <x <300:
თუ y> 300:
ვერტ = ვერტ +1
elif y <180:
ვერტ = ვერტ +1
სხვა:
ვერტ = ვერტ
თუ 180 <y <300:
თუ x> 300:
ჰორიზონტი = ჰორიზონტი +1
elif x <180:
ჰორიზონტი = ჰორიზონტი +1
სხვა:
ჰორიზონტი = ჰორიზონტი
თუ vert! = initvert:
დაბეჭდე "მანქანები ვერტიკალურ ზოლში:" + ქუჩა (ვერტ)
initvert = ვერტ
დაბეჭდე "მანქანები ჰორიზონტალურ ზოლში:" + ქუჩა (ჰორიზონტი)
ინითორიზი = ჰორიზონტი
ბეჭდვა '--------------------------------'
if horiz! = inithoriz:
დაბეჭდე "მანქანები ვერტიკალურ ზოლში:" + ქუჩა (ვერტ)
initvert = ვერტ
დაბეჭდე "მანქანები ჰორიზონტალურ ზოლში:" + ქუჩა (ჰორიზონტი)
ინითორიზი = ჰორიზონტი
ბეჭდვა '--------------------------------'
თუ ვერტ <ჰორიზონტი:
GPIO.output (23, GPIO. HIGHT)
GPIO.output (21, GPIO. HIGHT)
GPIO.output (16, GPIO. LOW)
GPIO.output (25, GPIO. LOW)
if horiz <vert:
GPIO.output (16, GPIO. HIGHT)
GPIO.output (25, GPIO. HIGH)
GPIO.output (23, GPIO. LOW)
GPIO.output (21, GPIO. LOW)
cv2.imshow ("ჩარჩო", ჩარჩო)
cv2.imshow ("HSV", hsv)
cv2.imshow ("Thresh", thresh)
raw.truncate (0)
თუ cv2.waitKey (1) & 0xFF == ord ('q'):
შესვენება
cv2.destroyAllWindows ()
GPIO.cleanup ()
ნაბიჯი 3: ჟოლო Pi და კამერის მთა
3D ბეჭდვა შემთხვევაში და კამერა მთაზე და აწყობა.
ნაბიჯი 4: შუქნიშნის შეკრება
გამოსცადეთ შუქნიშანი პურის დაფით. LED- ების თითოეული საპირისპირო ნაკრები იზიარებს ანოდს და ყველა მათგანი იზიარებს საერთო კათოდს (მიწას). სულ უნდა იყოს 7 შეყვანის მავთული: 1 თითოეული წყვილი LEDS (6) + 1 დამიწების მავთულისთვის. შეაერთეთ და ააწყვეთ შუქნიშნები.
ნაბიჯი 5: გაყვანილობა (ნაწილი 1)
შეაერთეთ ქალი სათაურის ქინძისთავები დაახლოებით 5 ფუტი მავთულისკენ. ეს ის მხარეებია, რომ ეს მავთულები მოგვიანებით გველის PVC მილებით. დარწმუნდით, რომ შეძლებთ განასხვავოთ განათების სხვადასხვა ნაკრები (2 x 3 ფერი და 1 გრუნტი). ამ შემთხვევაში, მე წითელი, ყვითელი და ლურჯი მავთულის ბოლოების ბოლოები მონიშნული მაქვს მკვეთრი, ასე რომ მე ვიცი რომელი რომელია.
ნაბიჯი 6: გარემოს შექმნა
გარემოს მშენებლობა გააკეთეთ 2 ფუტიანი კვადრატული ხის პალეტი ასე. ჯართი კარგად არის დაფარული. გაბურღეთ ხვრელი, რომელიც ზუსტად შეესაბამება თქვენს ადაპტერს. საბურღი ხრახნები პლატაზე, რათა უზრუნველყოს PVC მილები თავის ადგილზე. გაჭერით შავი ქაფის დაფა, რომელიც შეესაბამება ხის პალეტას ქვემოთ. გაბურღეთ ხვრელი, რომელიც შეესაბამება PVC მილს. გაიმეორეთ საპირისპირო კუთხეში. მონიშნეთ გზები თეთრი ლენტით.
ნაბიჯი 7: PVC ჩარჩოს დასრულება
ზედა მილზე, გაბურღეთ ხვრელი, რომელიც შეიძლება მოთავსდეს მავთულხლართებს. უხეში ხვრელი ჯარიმაა მანამ, სანამ თქვენ შეგიძლიათ მიხვიდეთ მილების შიგნით. გველის მავთულები PVC მილებისა და იდაყვის სახსრების მეშვეობით სატესტო მორგებისთვის. მას შემდეგ რაც ყველაფერი დასრულდება, შეღებეთ PVC შავი სპრეის საღებავით, რათა გაასუფთაოთ ძირითადი ჩარჩოს სახე. გაჭერით პატარა უფსკრული ერთ PVC მილში, რათა მოერგოს T- სახსარს. დაამატეთ PVC მილები ამ სახსარში, რომ შუქნიშანი ჩამოიხრჩო. დიამეტრი შეიძლება იყოს იგივე, რაც ძირითადი ჩარჩო (1/2 ), თუმცა თუ იყენებთ უფრო თხელ მილს, დარწმუნდით, რომ 7 მავთულს შეუძლია გველის გავლა. ამ მილში გააღეთ ხვრელი, რომ შუქნიშანი ჩამოიხრჩო.
ნაბიჯი 8: გაყვანილობა (ნაწილი 2)
ხელახლა შეაერთეთ ყველაფერი ისე, როგორც ადრე იყო გამოცდილი. ორჯერ შეამოწმეთ შუქნიშანი და გაყვანილობა პურის დაფით, რომ დაადასტუროთ ყველა კავშირი. შეაერთეთ შუქნიშანი მავთულხლართებზე T- სახსრის მკლავიდან. გადააფარეთ მავთულები ელექტრული ლენტით, რათა თავიდან აიცილოთ ნებისმიერი შორტი და უფრო სუფთა იერისთვის.
ნაბიჯი 9: დასრულდა
კოდის გასაშვებად, დარწმუნდით, რომ მიუთითეთ თქვენი წყარო ~/.profile და cd თქვენი პროექტის ადგილას.
ნაბიჯი 10: დამატებითი (ფოტოები)
გირჩევთ:
წვრილმანი მოძრაობის გამოვლენის SMS სიგნალიზაციის სისტემა: 5 ნაბიჯი (სურათებით)
წვრილმანი მოძრაობის გამოვლენის SMS სიგნალიზაციის სისტემა: ამ პროექტში მე გავაერთიანებ იაფ PIR მოძრაობის სენსორს TC35 GSM მოდულთან, რათა ავაშენო სიგნალიზაციის სისტემა, რომელიც გამოგიგზავნით " INTRUDER ALERT " SMS როდესაც ვინმე ცდილობს თქვენი ნივთების მოპარვას. Დავიწყოთ
როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა არდუინოთი: 7 ნაბიჯი
როგორ ავაშენოთ მოძრაობის გამოვლენის სისტემა Arduino– ით: შექმენით მოძრაობა და წარმოების მრიცხველი ბუმბულის HUZZAH გამოყენებით, რომელიც დაპროგრამებულია Arduino– ით და იკვებება Ubidots– ით. სმარტ სახლებში და ჭკვიან წარმოებაში ეფექტური ფიზიკური მოძრაობისა და ყოფნის გამოვლენა შეიძლება ძალიან სასარგებლო იყოს
მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: 11 ნაბიჯი (სურათებით)
მოძრაობის გამოვლენის სიგნალიზაციის სისტემა: შენიშვნა! რეაქტიული ბლოკები ჩამოსატვირთად აღარ არის ხელმისაწვდომი. ძირითადი USB კამერა შეიძლება გამოყენებულ იქნას ოთახში მოძრაობის დასადგენად. მომდევნო ნაბიჯებში ჩვენ გაჩვენებთ, თუ როგორ შეგიძლიათ გამოიყენოთ რეაქტიული ბლოკები, რათა დააინსტალიროთ მზა Java პროგრამა, რომელიც აგზავნის SMS
როკის ნიმუშის ანალიზატორი: 4 ნაბიჯი
კლდის ნიმუშების ანალიზატორი: კლდის ნიმუშების ანალიზატორი გამოიყენება ქანების ნიმუშების ტიპების იდენტიფიცირებისა და გასაანალიზებლად რბილი ჩაქუჩის ვიბრაციის ტექნიკის გამოყენებით. ეს არის ახალი მეთოდი ქანების ნიმუშების იდენტიფიცირებისათვის. თუ მეტეორიტი ან რაიმე უცნობი კლდის ნიმუში არსებობს, შეგიძლიათ შეაფასოთ
Raspberry Pi 3 მოძრაობის გამოვლენის კამერა ცოცხალი არხით: 6 ნაბიჯი
Raspberry Pi 3 Motion Detection Camera With Live Feed: შესავალი ამ პროექტში თქვენ შეისწავლით თუ როგორ უნდა ავაშენოთ მოძრაობის ამოცნობის კამერა, რომლის გამოყენებასაც შეძლებთ როგორც კამერის ხაფანგში, შინაური ცხოველის/ბავშვის მონიტორზე, უსაფრთხოების კამერაზე და ბევრად სხვაზე. ეს პროექტი რამდენიმე ეტაპად არის ორგანიზებული: შესავალი Settin