Агуулгын хүснэгт:

Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: 11 алхам (зурагтай)
Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: 11 алхам (зурагтай)

Видео: Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: 11 алхам (зурагтай)

Видео: Замын объектын илрүүлэлтийг ашигладаг замын хөдөлгөөний анализатор: 11 алхам (зурагтай)
Видео: SCP-093 Красное море Объект (Все тесты и вторичного сырья Журналы) 2024, Долдугаар сарын
Anonim
Image
Image
Замын объект илрүүлэлтийг ашиглан замын хөдөлгөөний анализатор
Замын объект илрүүлэлтийг ашиглан замын хөдөлгөөний анализатор

Өнөөгийн ертөнцөд гэрлэн дохио нь аюулгүй замд зайлшгүй шаардлагатай. Гэсэн хэдий ч улаан гэрэл асахтай зэрэгцэн хэн нэгэн гэрэл рүү ойртоход гэрлэн дохио олон удаа бухимдуулдаг. Энэ нь цагийг дэмий үрдэг, ялангуяа гэрэл нь ганц машин зам дээр өөр хэн ч байхгүй байхад уулзвараар гарахаас сэргийлдэг. Миний шинэлэг санаа бол гэрэл туссан гэрэл юм. Миний энэ төсөлд ашиглах техник хэрэгсэл бол Raspberry Pi 3, камерын модуль, гэрэл өөрөө хийх янз бүрийн электрон тоног төхөөрөмж юм. Raspberry Pi дээрх OpenCV -ийг ашиглан цуглуулсан мэдээллийг GPIO -ээр дамжуулан LED -ийг хянадаг кодоор ажиллуулах болно. Эдгээр тооноос хамаарч гэрлэн дохио өөрчлөгдөж, машинуудыг хамгийн оновчтой дарааллаар явуулах боломжтой болно. Энэ тохиолдолд хамгийн олон машинтай эгнээ нэвтрэх тул цөөн машинтай эгнээ сул зогсох бөгөөд ингэснээр агаарын бохирдлыг бууруулна. Энэ нь огтлолцох замд машин байхгүй байхад олон машин зогсох нөхцөл байдлыг арилгах болно. Энэ нь хүн бүрийн цагийг хэмнээд зогсохгүй хүрээлэн буй орчныг хэмнэдэг. Хөдөлгүүр сул зогсолт хийх үед хүмүүс зогсох хугацаа нь агаарын бохирдлын хэмжээг ихэсгэдэг тул ухаалаг гэрлэн дохио бий болгосноор би гэрлийн загварыг оновчтой болгож, машинууд машинаа зогсоогоод аль болох бага цаг зарцуулдаг.. Эцсийн дүндээ энэхүү гэрлэн дохионы системийг хот, захын хороолол, тэр ч байтугай хөдөө орон нутагт хэрэгжүүлж, хүмүүст илүү үр ашигтай байлгахын тулд агаарын бохирдлыг бууруулах боломжтой юм.

Алхам 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 'хэмжээтэй модон самбар эсвэл тавцан

Модон эрэг

Хар гадаргуу (картон, хөөс хавтан, зурагт хуудас гэх мэт)

Замын тэмдэглэгээ хийх зориулалттай цагаан (эсвэл хараас өөр өнгө) соронзон хальс

Хар шүршигч будаг (PVC -ийн хувьд)

½”90 градус тохой холболттой PVC хоолой (2), Т залгуур (1), эмэгтэй адаптер (2)

Багаж хэрэгсэл

Гагнуурын төмөр

3D хэвлэгч

Янз бүрийн өрөмдлөгийн тусламжтайгаар өрөмдөх

Талхны самбар

Дулааны буу

Алхам 2: Raspberry Pi -ийг тохируулах

SD картыг Raspberry Pi руу ачаалж, ачаална уу.

Шаардлагатай OpenCV номын санг суулгахын тулд энэ гарын авлагыг дагана уу. OpenCV номын санг суулгахад хэдхэн цаг шаардагдах тул энэ алхамыг хийх цаг байгаа эсэхийг шалгаарай. Энд камераа суулгаж, тохируулахаа мартуузай.

Та мөн pip суулгах ёстой:

пикамера

gpiozero

RPi. GPIO

Энд дууссан код байна:

picamera.array импортоос PiRGBArray

пикамераас PiCamera импортлох

picamera.array импортлох

np гэж numpy импортлох

импортлох хугацаа

cv2 импортлох

RPi. GPIO -г GPIO болгон импортлох

импортлох хугацаа

GPIO.setmode (GPIO. BCM)

i -ийн хувьд (23, 25, 16, 21):

GPIO. тохиргоо (i, GPIO. OUT)

cam = PiCamera ()

cam.resolution = (480, 480)

камерын хүрээ = 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 дахь хүрээний хувьд (түүхий, формат = "bgr", use_video_port = Үнэн):

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)

me, thres = cv2.threshold (маск, 127, 255, cv2. THRESH_BINARY)

cnts = cv2.findContours (thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE) [-2]

төв = Үгүй

vert = 0

давхрага = 0

хэрэв len (cnts)> 0:

cnts -ийн хувьд:

(x, y), радиус = cv2.minEnclosingCircle (c)

төв = (int (x), int (y))

радиус = int (радиус)

cv2. тойрог (хүрээ, төв, радиус, (0, 255, 0), 2)

x = int (x)

y = int (y)

хэрэв 180 <x <300:

хэрэв y> 300 бол:

vert = vert +1

elif y <180:

vert = vert +1

өөр:

орой = орой

хэрэв 180 <y <300:

хэрэв x> 300:

horiz = horiz +1

elif x <180:

horiz = horiz +1

өөр:

horiz = horiz

хэрэв vert! = initvert:

"Босоо эгнээтэй машинууд:" + str (vert) хэвлэх

initvert = vert

"Хэвтээ эгнээтэй машинууд:" + str (давхрага) хэвлэх

inithoriz = horiz

хэвлэх '----------------------------'

хэрэв horiz! = inithoriz:

"Босоо эгнээтэй машинууд:" + str (орой) хэвлэх

initvert = vert

"Хэвтээ эгнээнд байгаа машинууд:" + str (horiz) хэвлэх

inithoriz = horiz

хэвлэх '----------------------------'

хэрэв vert <horiz:

GPIO. гаралт (23, GPIO. HIGH)

GPIO. гаралт (21, GPIO. HIGH)

GPIO.output (16, GPIO. LOW)

GPIO.output (25, GPIO. LOW)

хэрэв horiz <vert:

GPIO. гаралт (16, GPIO. HIGH)

GPIO. гаралт (25, GPIO. HIGH)

GPIO.output (23, GPIO. LOW)

GPIO.output (21, GPIO. LOW)

cv2.imshow ("Хүрээ", хүрээ)

cv2.imshow ("HSV", hsv)

cv2.imshow ("Тариа", шарх)

түүхий. таслах (0)

хэрэв cv2.waitKey (1) & 0xFF == ord ('q'):

завсарлага

cv2.destroyAllWindows ()

GPIO.cleanup ()

Алхам 3: Raspberry Pi ба камерын холболт

Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт
Raspberry Pi ба камерын холболт

Кейс, камерыг 3D хэвлэж угсарч угсарна.

Алхам 4: Гэрлэн дохионы угсралт

Гэрлэн дохионы угсралт
Гэрлэн дохионы угсралт
Гэрлэн дохионы угсралт
Гэрлэн дохионы угсралт
Гэрлэн дохионы угсралт
Гэрлэн дохионы угсралт

Талхны самбар ашиглан гэрлэн дохиог туршиж үзээрэй. LED -ийн эсрэг багц бүр нь анодыг хуваалцдаг бөгөөд бүгдээрээ нийтлэг катод (газар) хуваалцдаг. Нийт 7 оролтын утас байх ёстой: LED хос (6) + 1 газардуулгын утас тус бүрт 1. Гэрлэн дохиог гагнах, угсрах.

Алхам 5: Цахилгааны утас (1 -р хэсэг)

Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)
Цахилгааны утас (1 -р хэсэг)

Эмэгтэй толгойн голыг 5 фут орчим утсаар гагнана. Эдгээр утаснууд нь дараа нь PVC хоолойгоор дамжин өнгөрөх талууд юм. Гэрлийн янз бүрийн багцыг (2 x 3 өнгө, 1 газар) ялгаж чаддаг байхаа мартуузай. Энэ тохиолдолд би өөр нэг улаан, шар, цэнхэр өнгийн утаснуудын үзүүрийг хурц үзүүрээр тэмдэглэсэн тул аль нь болохыг мэдэх болно.

Алхам 6: Байгаль орчныг бүрдүүлэх

Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх
Байгаль орчныг бүрдүүлэх

Байгаль орчныг бүрдүүлэх 2 метр квадрат хэмжээтэй модон тавиурыг ингэж хий. Хаягдал мод нь бүрэх тул зүгээр юм. Таны адаптерт тохирсон цооног өрөмдөх. PVC хоолойг бэхлэхийн тулд тавиурын хажуугаар шураг өрөмдөнө. Доорх модон тавиуртай тааруулахын тулд хар хөөс хавтанг хайчилж ав. PVC хоолойн эргэн тойронд тохирох нүхийг өрөмдөх. Эсрэг буланд давтана уу. Замуудыг цагаан туузаар тэмдэглээрэй.

Алхам 7: PVC хүрээг дуусгах

PVC хүрээг дуусгах
PVC хүрээг дуусгах
PVC хүрээг дуусгах
PVC хүрээг дуусгах
PVC хүрээг дуусгах
PVC хүрээг дуусгах

Дээд хоолой дээр боодолтой утас багтах нүх өрөмдөх хэрэгтэй. Хоолойн дотор талд нэвтэрч чаддаг бол барзгар нүх нь зүгээр юм. Туршилтанд тохирохын тулд утаснуудыг PVC хоолой ба тохойн үеээр дамжуулж могойлоорой. Бүх зүйл дууссаны дараа үндсэн хүрээний төрхийг цэвэрлэхийн тулд PVC -ийг хар шүршигч будгаар будна. PVC хоолойн аль нэгэнд T-холболтыг тааруулахын тулд жижиг цоорхойг хайчилж ав. Гэрлэн дохио унтрахын тулд энэ t-холболт дээр PVC хоолой нэмнэ үү. Диаметр нь гол хүрээтэй (1/2 инч) ижил байж болно, гэхдээ хэрэв та илүү нимгэн хоолой ашигладаг бол 7 утас нь нэвт нэвтэрч байгаа эсэхийг шалгаарай.

Алхам 8: Цахилгааны утас (2 -р хэсэг)

Цахилгааны утас (2 -р хэсэг)
Цахилгааны утас (2 -р хэсэг)
Цахилгааны утас (2 -р хэсэг)
Цахилгааны утас (2 -р хэсэг)
Цахилгааны утас (2 -р хэсэг)
Цахилгааны утас (2 -р хэсэг)

Өмнө нь туршиж үзсэн шиг бүгдийг дахин утсаар холбоно уу. Бүх холболт хийгдсэн эсэхийг баталгаажуулахын тулд талхны хавтангаар гэрлэн дохио, утсыг дахин шалгана уу. Т-үений гараар дамжин өнгөрөх утаснуудад гэрлэн дохиог гагнана. Ил гарсан утсыг цахилгаан соронзон хальсаар боож богиносгохгүй байхын тулд илүү цэвэрхэн харагдуулна.

Алхам 9: Дууссан

Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!

Кодыг ажиллуулахын тулд эх сурвалжаа төслийн байршилдаа ~/.profile болон cd болгож тохируулаарай.

Алхам 10: Нэмэлтүүд (Зураг)

Зөвлөмж болгож буй: