Съдържание:
- Стъпка 1: Списък на частите
- Стъпка 2: Настройване на Raspberry Pi
- Стъпка 3: Raspberry Pi и монтаж на камера
- Стъпка 4: Монтаж на светофар
- Стъпка 5: Окабеляване (част 1)
- Стъпка 6: Изграждане на околната среда
- Стъпка 7: Завършване на PVC рамката
- Стъпка 8: Окабеляване (част 2)
- Стъпка 9: Готово
- Стъпка 10: Екстри (Снимки)
Видео: Анализатор на модел на трафик, използващ откриване на обекти на живо: 11 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
В днешния свят светофарите са от съществено значение за безопасен път. Въпреки това, много пъти светофарите могат да бъдат досадни в ситуации, когато някой се приближава към светлината точно когато тя става червена. Това губи време, особено ако светлината пречи на едно превозно средство да премине през кръстовището, когато няма никой друг на пътя. Моята иновация е интелигентен светофар, който използва откриване на обекти на живо от камера, за да преброи колите на всеки път. Хардуерът, който ще използвам за този проект, е Raspberry Pi 3, модул за камера и различен електронен хардуер за самата светлина. Използвайки OpenCV на Raspberry Pi, събраната информация ще се управлява чрез код, който контролира светодиодите чрез GPIO. В зависимост от тези числа, светофарът ще се промени, като пропуска автомобилите в най -оптималния ред. В този случай лентата с най -много автомобили ще бъде пропусната, така че лентата с по -малко коли да е на празен ход, намалявайки замърсяването на въздуха. Това би премахнало ситуации, когато много автомобили са спрени, докато няма автомобили на пресичащия се път. Това не само спестява време за всички, но и спестява околната среда. Времето, през което хората се спират на знак за спиране с двигател на празен ход, увеличава количеството на замърсяването на въздуха, така че чрез създаването на интелигентен светофар мога да оптимизирам моделите на светлината, така че колите да прекарват възможно най -малко време със спрян автомобил. В крайна сметка тази система за светофар може да бъде приложена в градове, предградия или дори селски райони, за да бъде по -ефективна за хората, би намалила замърсяването на въздуха.
Стъпка 1: Списък на частите
Материали:
Raspberry Pi 3 Модел B v1.2
Raspberry Pi Camera v2.1
5V/1A микро USB захранване
HDMI монитор, клавиатура, SD карта на мишката с Raspbian Jessie
Разкъсващ кабел Raspberry Pi GPIO
Червени, жълти, зелени светодиоди (по 2 от всеки цвят)
Женски конектори за Raspberry Pi (7 уникални цвята)
Разнообразие от тел от 24 габарита (различни цветове) + термосвиваеми тръби
2'x2 'дървен панел или платформа
Винтове за дърво
Черна повърхност (картон, пяна, плакат и др.)
Бяла (или всеки цвят, различен от черен) лента за пътна маркировка
Черна спрей боя (за PVC)
½”PVC тръба с 90 градусови лакътни съединения (2), Т гнездо (1), женски адаптер (2)
Инструменти
Поялник
3D принтер
Пробийте с различни свредла
Платка
Пистолет за горещ въздух
Стъпка 2: Настройване на Raspberry Pi
Заредете SD картата в Raspberry Pi и стартирайте.
Следвайте това ръководство, за да инсталирате необходимите библиотеки на OpenCV. Уверете се, че имате време да направите тази стъпка, тъй като инсталирането на библиотеката на OpenCV може да отнеме няколко часа. Не забравяйте също да инсталирате и настроите камерата си тук.
Трябва също да инсталирате pip:
пикамера
gpiozero
RPi. GPIO
Ето финализирания код:
от picamera.array внос PiRGBArray
от пикамера внос PiCamera
внос picamera.array
внос numpy като np
време за импортиране
импортиране на cv2
импортирайте RPi. GPIO като GPIO
време за импортиране
GPIO.setmode (GPIO. BCM)
за i in (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
cam = PiCamera ()
cam.resolution = (480, 480)
cam.framerate = 30
необработен = PiRGBArray (камера, размер = (480, 480))
time.sleep (0.1)
colorLower = np.array ([0, 100, 100])
colorUpper = np.array ([179, 255, 255])
initvert = 0
inithoriz = 0
брояч = 0
за рамка в cam.capture_continuous (необработен, format = "bgr", use_video_port = True):
frame = frame.array
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]
център = Няма
vert = 0
horiz = 0
ако len (cnts)> 0:
за c в cnts:
(x, y), радиус = cv2.min Затваряне на кръг (c)
център = (int (x), int (y))
радиус = int (радиус)
cv2.circle (рамка, център, радиус, (0, 255, 0), 2)
x = int (x)
y = int (y)
ако 180 <x <300:
ако y> 300:
vert = vert +1
elif y <180:
vert = vert +1
иначе:
vert = vert
ако 180 <y <300:
ако x> 300:
horiz = хоризонт +1
elif x <180:
horiz = хоризонт +1
иначе:
horiz = хоризонт
ако vert! = initvert:
отпечатайте "Автомобили във вертикална лента:" + str (vert)
initvert = vert
отпечатайте "Автомобили в хоризонтална лента:" + str (хоризонт)
inithoriz = хоризонт
отпечатайте '----------------------------'
if horiz! = inithoriz:
отпечатайте "Автомобили във вертикална лента:" + str (vert)
initvert = vert
отпечатайте "Автомобили в хоризонтална лента:" + str (хоризонт)
inithoriz = хоризонт
отпечатайте '----------------------------'
ако vert <horiz:
GPIO.изход (23, GPIO. HIGH)
GPIO.изход (21, GPIO. HIGH)
GPIO.изход (16, GPIO. LOW)
GPIO.изход (25, GPIO. LOW)
ако horiz <vert:
GPIO.изход (16, GPIO. HIGH)
GPIO.изход (25, GPIO. HIGH)
GPIO.изход (23, GPIO. LOW)
GPIO.изход (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: Raspberry Pi и монтаж на камера
3D отпечатайте корпуса и камерата, монтирайте и сглобете.
Стъпка 4: Монтаж на светофар
Тествайте светофара с макет. Всеки противоположен набор от светодиоди споделят анод и всички те споделят общ катод (маса). Трябва да има общо 7 входни проводника: 1 за всяка двойка светодиоди (6) + 1 заземяващ проводник. Запоявайте и сглобявайте светофарите.
Стъпка 5: Окабеляване (част 1)
Запоявайте щифтовете на женската заглавка към около 5 фута тел. Това са страните, по които тези проводници ще проникнат през PVC тръбите по -късно. Не забравяйте да можете да различавате различните комплекти светлини (2 x 3 цвята и 1 основа). В този случай маркирах краищата на друг комплект червени, жълти и сини проводници с острие, за да знам кое е кое.
Стъпка 6: Изграждане на околната среда
Изграждане на околната среда Направете 2 -футов квадратен дървен палет по този начин. Скрапът е добре, тъй като ще бъде покрит. Пробийте дупка, която точно пасва на вашия адаптер. Пробийте винтове през страните на палета, за да фиксирате PVC тръбата на място. Изрежете черната дъска от пяна, за да съответства на дървения палет отдолу. Пробийте дупка, която се вписва около PVC тръбата. Повторете на противоположния ъгъл. Маркирайте пътищата с някаква бяла лента.
Стъпка 7: Завършване на PVC рамката
На горната тръба пробийте дупка, която може да побере сноп жици. Грубата дупка е добре, стига да имате достъп до вътрешността на тръбите. Прокарайте проводниците през PVC тръбите и лакътните съединения за тестово напасване. След като всичко е финализирано, боядисайте PVC с някаква черна спрей боя, за да изчистите външния вид на основната рамка. Изрежете малка междина в една от PVC тръбите, за да се монтира Т-образна връзка. Добавете PVC тръба към тази t-връзка, за да може светофарът да виси. Диаметърът може да бъде същият като основната рамка (1/2 ), но ако използвате по -тънка тръба, уверете се, че 7 проводника могат да се промъкнат. Пробийте дупка през тази тръба, за да може да виси светофарът.
Стъпка 8: Окабеляване (част 2)
Свържете отново всичко, както е тествано по-рано. Проверете два пъти светофара и окабеляването с макет, за да се уверите, че всички връзки са осъществени. Припоявайте светофара към проводниците, преминаващи през рамото на Т-образно съединение. Увийте откритите проводници с електрическа лента, за да предотвратите къси панталони и за по -чист вид.
Стъпка 9: Готово
За да стартирате кода, не забравяйте да зададете своя източник като ~/.profile и cd към местоположението на вашия проект.
Стъпка 10: Екстри (Снимки)
Препоръчано:
Проследяване на обекти въз основа на откриване на цвят: 10 стъпки
Проследяване на обекти въз основа на откриване на цвят: История Направих този проект, за да науча обработката на изображения с помощта на Raspberry PI и отворена автобиография. За да направя този проект по -интересен, използвах два сервомотора SG90 и монтирам камера върху него. Един двигател, използван за хоризонтално движение, и втори двигател, използван за вертикално
Основен мобилен телефон, използващ комплект за откриване STM32F407 и модул GSM A6: 14 стъпки (със снимки)
Основен мобилен телефон, използващ комплект за откриване STM32F407 и модул GSM A6: Искали ли сте някога да създадете готин вграден проект ?. Ако да, какво ще кажете за изграждането на една от най -популярните и любими на всички притурки, т.е. мобилен телефон !!!. В тази инструкция ще ви насоча как да изградите основен мобилен телефон с помощта на STM
Трафик сигнал, използващ Arduino и ултразвуков сензор: 4 стъпки
Трафик сигнал с помощта на Arduino и ултразвуков сензор: С ерата на интелигентните технологии всичко става все по -умно и интелигентната транспортна система е едно от полетата, които ще окажат огромно влияние върху живота ни. Първоначално публикувано на: https://highvoltages.co/tutorial/arduino-tutorial/traffic-sig
Сканирайте близки обекти, за да направите 3D модел с помощта на ARDUINO: 5 стъпки (със снимки)
Сканирайте близки обекти, за да направите 3D модел с помощта на ARDUINO: Този проект е специфичен, като използва ултразвуков сензор HC-SR04 за сканиране за близки обекти. За да направите 3D модел, трябва да преместите сензора в перпендикулярна посока. Можете да програмирате Arduino да издава аларма, когато сензорът открие обект с
Въздушен трафик на живо на вашия компютър !!!!!: 3 стъпки
Въздушен трафик на живо на ВАШИЯ компютър !!!!! ** ОТГОВОРНОСТ ** Не нося отговорност за използването на информацията, съдържаща се в тази инструкция. Ако планирате някакъв терорист