Мазмуну:
- 1 -кадам: Бөлүктөрдүн тизмеси
- 2 -кадам: Raspberry Pi орнотуу
- 3 -кадам: Raspberry Pi жана Camera Mount
- 4 -кадам: Светофордун чогулушу
- 5 -кадам: Зымдоо (1 -бөлүк)
- 6 -кадам: Айлана -чөйрөнү куруу
- 7 -кадам: PVC алкакты бүтүрүү
- 8 -кадам: Зым тартуу (2 -бөлүк)
- 9 -кадам: Бүттү
- 10 -кадам: Кошумчалар (Сүрөттөр)
Video: Трафиктин анализатору Live Object Detection колдонуп: 11 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Азыркы дүйнөдө жол чырактары коопсуз жол үчүн абдан маанилүү. Бирок, көп учурда, светофор кимдир бирөө кызылга айланып баратканда жарыкка жакындап калганда кыжырды келтирет. Бул убакытты текке кетирет, айрыкча, жарык жолдо башка эч ким жок болгондо кесилиштен өтүүгө бир унаа тоскоол болсо. Менин жаңылыгым - бул ар бир жолдогу машиналардын санын эсептөө үчүн камерадан жандуу объектилерди аныктоону колдонгон акылдуу светофор. Мен бул долбоор үчүн колдоно турган жабдык - бул Raspberry Pi 3, камера модулу жана жарыктын өзү үчүн ар кандай электрондук жабдыктар. Raspberry Piде OpenCVди колдонуп, чогултулган маалымат LEDди GPIO аркылуу башкарган код аркылуу иштетилет. Бул сандарга жараша светофор өзгөрүп, унааларды эң оптималдуу тартипте өткөрөт. Бул учурда, эң көп автоунаасы бар тилке өткөрүлмөк, андыктан азыраак унаасы бар тилке бош туруп, абанын булганышын азайтат. Бул кесилиш жолдо машиналар жок, ал эми көптөгөн унаалар токтоп калган учурларды жок кылат. Бул ар бир адамдын убактысын үнөмдөп эле койбостон, айлана -чөйрөнү да үнөмдөйт. Адамдар мотору бош турганда токтоочу белгиге токтоп турган убактысы абанын булганышын көбөйтөт, андыктан акылдуу светофор түзүү менен, мен машиналардын токтоп турган убактысын эң аз өткөрүш үчүн жарык үлгүлөрүн оптималдаштыра алам.. Акыр -аягы, бул светофор системасы шаарларда, шаар четинде, ал тургай айыл жергесинде колдонулушу мүмкүн, анткени адамдар абанын булганышын азайтышат.
1 -кадам: Бөлүктөрдүн тизмеси
Материалдар:
Raspberry Pi 3 Model B v1.2
Raspberry Pi Camera v2.1
5V/1A микро USB энергия булагы
HDMI монитор, клавиатура, чычкан SD картасы Raspbian Jessie менен
Raspberry Pi GPIO кабели
Кызыл, сары, жашыл LED (ар бир түстөн 2)
Raspberry Pi үчүн аял коннекторлору (7 уникалдуу түстөр)
Ассорти 24 өлчөөчү зым (ар кандай түстөр) + жылуулукту кысуучу түтүк
2'x2 'жыгач панели же платформа
Жыгач бурамалары
Кара бети (картон, көбүк, плакат, ж.
Жол белгилери үчүн ак (же кара түстөн башка түстөгү) тасма
Кара спрей боек (ПВХ үчүн)
½”90 градус чыканак муундары бар PVC түтүк (2), T розеткасы (1), аял адаптери (2)
Куралдар
Кандооч
3D принтер
Ар кандай бургучтар менен бургулаңыз
Breadboard
Жылуулук курал
2 -кадам: Raspberry Pi орнотуу
SD картаны Raspberry Piге жүктөп, жүктөңүз.
OpenCVге керектүү китепканаларды орнотуу үчүн бул көрсөтмөнү аткарыңыз. Бул кадамды жасоого убактыңыз бар экенин тактаңыз, анткени OpenCV китепканасын орнотуу бир нече саатка созулушу мүмкүн. Камераңызды бул жерге орнотуп, орнотууну унутпаңыз.
Сиз ошондой эле пип орнотушуңуз керек:
пикамера
gpiozero
RPi. GPIO
Бул жерде такталган код:
picamera.array импортунан PiRGBArray
пикамерадан PiCamera импорттоо
picamera.array импорттоо
np катары numpy импорттоо
импорттоо убактысы
cv2 импорттоо
GPO катары RPi. GPIO импорттоо
импорттоо убактысы
GPIO.setmode (GPIO. BCM)
i үчүн (23, 25, 16, 21):
GPIO.setup (i, GPIO. OUT)
cam = 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])
initvert = 0
inithoriz = 0
эсептегич = 0
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)
мен, эгин = cv2. босого (маска, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours (кырман, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]
борбору = Жок
vert = 0
горизонт = 0
if len (cnts)> 0:
cnts үчүн c үчүн:
(x, y), радиус = cv2.minEnclosingCircle (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:
эгер х> 300:
горизонт = горизонт +1
elif x <180:
горизонт = горизонт +1
башка:
горизонт = горизонт
эгер vert! = initvert:
басып чыгаруу "Машиналар вертикалдуу тилкеде:" + str (vert)
initvert = vert
басып чыгаруу "Унаалар горизонталдык тилкеде:" + str (горизонт)
inithoriz = горизонт
басып чыгаруу '----------------------------'
if horiz! = inithoriz:
басып чыгаруу "Автоунаалар вертикалдуу тилкеде:" + str (vert)
initvert = vert
басып чыгаруу "Унаалар горизонталдык тилкеде:" + str (горизонт)
inithoriz = горизонт
басып чыгаруу '----------------------------'
эгер вер <горизонт:
GPIO.output (23, GPIO. HIGH)
GPIO.output (21, GPIO. HIGH)
GPIO.output (16, GPIO. LOW)
GPIO.output (25, GPIO. LOW)
эгер горизонт <vert:
GPIO.output (16, GPIO. HIGH)
GPIO.output (25, GPIO. HIGH)
GPIO.output (23, GPIO. LOW)
GPIO.output (21, GPIO. LOW)
cv2.imshow ("Frame", frame)
cv2.imshow ("HSV", hsv)
cv2.imshow ("Кыркуу", бастыруу)
raw.truncate (0)
эгер cv2.waitKey (1) & 0xFF == ord ('q'):
тыныгуу
cv2.destroyAllWindows ()
GPIO.cleanup ()
3 -кадам: Raspberry Pi жана Camera Mount
Корпусту жана камераны 3D басып чыгаруу жана чогултуу.
4 -кадам: Светофордун чогулушу
Жол чыракты нан тактасы менен сынап көрүңүз. Светодиоддордун ар бир каршы топтому анодду бөлүшөт, жана алардын бардыгы жалпы катодду (жерди) бөлүшөт. Жалпысынан 7 киргизүү зымы болушу керек: 1 ар бир жуп LEDS үчүн (6) + 1 жерге зым. Светофорлорду эритип, кураштырыңыз.
5 -кадам: Зымдоо (1 -бөлүк)
Ургаачынын башын 5 футка жакын зымга туташтырыңыз. Бул зымдар кийинчерээк ПВХ түтүктөрү аркылуу жыла турган тараптар. Жарыктардын ар кандай топтомдорун айырмалай билиңиз (2 x 3 түс жана 1 жер). Бул учурда, мен дагы бир кызыл, сары жана көк зымдардын учтарын курч менен белгилеп койгом, ошондуктан кайсынысы экенин билем.
6 -кадам: Айлана -чөйрөнү куруу
Айлана -чөйрөнү куруу 2 фут чарчы жыгач палетасын ушундай кылыңыз. Жыгачтын сыныгы жакшы, анткени ал жабылат. Адаптериңизге туура келген тешикти бургулаңыз. Пластикалык түтүктү паллеттин капталынан бурап, бургулаңыз. Кара көбүк тактайын астындагы жыгач палетке дал келтирүү үчүн кесип алыңыз. ПВХ түтүгүнүн тегерегине туура келген тешикти бургулаңыз. Каршы бурчта кайталаңыз. Жолдорду ак тасма менен белгилеңиз.
7 -кадам: PVC алкакты бүтүрүү
Үстүнкү түтүктө бир тутам зымга бата турган тешикти бургула. Түтүктөрдүн ичине кире алганча, орой тешик жакшы. Зымдарды сыноо үчүн PVC түтүктөр жана чыканак муундары аркылуу жылан. Баары аяктагандан кийин, негизги фреймдин көрүнүшүн тазалоо үчүн ПВХны кара боёк менен боёп коюңуз. ПВХ түтүктөрүнүн бириндеги кичинекей боштукту кесип, Т-муунга ылайыкташтырыңыз. Светофордун илинип турушу үчүн бул т-ге ПВХ түтүгүн кошуңуз. Диаметри негизги фреймге окшош болушу мүмкүн (1/2 ), бирок сиз жука түтүктү колдонсоңуз, 7 зым жылып өтөрүн текшериңиз. Бул трубадан светофор илинип турушу үчүн тешик жасаңыз.
8 -кадам: Зым тартуу (2 -бөлүк)
Баарын мурун сыналгандай кайра өткөрүңүз. Светофорду жана зымдарды панель менен эки жолу текшерип, бардык байланыштар жасалганын ырастаңыз. Жол чыракты Т-муунунун колу аркылуу келген зымдарга кошуп коюңуз. Ачык зымдарды электр лента менен ороп, кандайдыр бир шорты болбошу үчүн жана таза көрүнүшү үчүн.
9 -кадам: Бүттү
Кодду иштетүү үчүн, булагыңызды ~/.profile жана cd катары долбооруңузга коюуну унутпаңыз.
10 -кадам: Кошумчалар (Сүрөттөр)
Сунушталууда:
Dual Band WiFi анализатору: 6 кадам (сүрөттөр менен)
Dual Band WiFi анализатору: Бул көрсөтмөлөр Seeedstudio Wio терминалын 2.4 ГГц жана 5 ГГц кош диапазондуу WiFi анализаторун кантип колдонууну көрсөтөт
Акрил спектринин анализатору: 7 кадам (сүрөттөр менен)
Супер өлчөмдүү акрил спектр анализатору: Эмне үчүн сиз кичинекей LED дисплейлерге же кичинекей ЖКга карагыңыз келет, эгерде сиз муну чоң кыла алсаңыз? бөлмө толтуруучу чырак курууга алып келген тилкелер
Күн бөлүкчөлөрүнүн анализатору: 5 кадам (сүрөттөр менен)
Күн бөлүкчөлөрүнүн анализатору: Мен жакында Фербенкс шаарында (Аляска) болгон конференцияда болдум, анда жергиликтүү көмүр компаниясы (Usibelli Coal Mine) новаторлорго абанын сапатын жакшыртуунун жолдорун ойлоп, демөөрчүлүк кылды. Албетте, күлкүлүү, бирок чынында эле сонун. Бул изилдөө эмес окшойт
HF антенна анализатору Arduino жана DDS модулу менен: 6 кадам (сүрөттөр менен)
HF Antenna Analyzer with Arduino and DDS Module: HiIn this Instructable мен сизге антеннаны өлчөөчү жана HS жыштык тилкелеринин баарында же анын VSWRин көрсөтө ала турган арзан антенна анализаторун кантип курганымды көрсөтөм. Ал минималдуу VSWRди жана ар бир диапазонго тиешелүү жыштыкту табат, бирок
TicTac Super Wifi анализатору, ESP-12, ESP8266: 5 кадам (сүрөттөр менен)
TicTac Super Wifi анализатору, ESP-12, ESP8266: Бул долбоор айдын майрамынын баштапкы кодуна жана корпус катары TicTac кутусун колдонуу түшүнүгүнө негизделген. TFT SPI дисплейи. Код болду