Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
- Алхам 2: Хараат байдал
- Алхам 3: Бэлтгэл ажил
- Алхам 4: Хэрэглээ
Видео: Бөөрөлзгөнө Pi ба OpenCV ашиглан бодит цагийн Рубик шоо нүдийг нь тагласан уусгагч: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Энэ бол нүдээ аниад шийдэхэд зориулагдсан Рубикийн шоо хэрэгслийн 2 дахь хувилбар юм. Эхний хувилбарыг javascript боловсруулсан бөгөөд та RubiksCubeBlindfolded1 төслийг харж болно
Өмнөх хувилбараас ялгаатай нь энэ хувилбар нь өнгийг илрүүлэх, оролтыг оруулахын тулд OpenCV номын санг ашигладаг бөгөөд илүү сайн дүрслэх техникийг өгдөг.
Энэхүү хамгийн сүүлийн хувилбарын хамгийн том асуудал бол гаралтын дүрслэл бөгөөд дараалсан зүйлүүдийг 1 -р зурсан куб дээр нэг дор харуулна. Шоо нь 3D хэлбэртэй тул бүх талыг зэрэг харуулахад хэцүү байдаг. Үр дүнг миний YouTube сувгийн YouTube видеоноос үзээрэй
Би наалтгүй шоо ашиглаж байгаа тул үүнийг таних шаардлагатай бөгөөд ихэнх нээлттэй эх кодыг дэмждэггүй. Би Kim Koomen -ийн боловсруулсан нээлттэй эх сурвалжийг ашигласан бөгөөд энэ нь qbr төслийн нүүрний кубын өнгийг зөв тодорхойлохын тулд камерын хүрээ дээр тогтсон хэсгийг зааж өгсөн болно.
Алхам 1: Шаардлагатай бүрэлдэхүүн хэсгүүд
- Raspberry Pi
- вэб камер
эсвэл та зөөврийн компьютерээ ашиглаж болно
Алхам 2: Хараат байдал
- Python 3
- numpy номын сан
- OpenCV номын сан
$ sudo apt-get install python3-opencv
RubiksBlindfolded багц
$ pip3 RubiksBlindfolded суулгах
Алхам 3: Бэлтгэл ажил
Өнгөний илрүүлэлтийг урьдчилсан алхам болгон тохируулах шаардлагатай. HSV өнгөний код нь гэрэлтүүлэг, камерын чанар, нарийвчлал, шоо өнгөнөөс шалтгаалан өөр өөр байдаг. Миний хувьд цагаан, шар өнгийн гэрлийг хослуулан зөв үр дүнд хүрдэг.
Colordetection.py дээрх get_color_name (hsv) функцийг шинэчлэх
Анхны эх код нь кубыг шийдвэрлэхийн тулд kociemba багцыг ашигладаг бөгөөд энэ нь аливаа хуйвалдааны урвуу алхамыг олох замаар шийддэг. Энэ хувилбарт би PyPI дээр хэвлэгдсэн RubiksBlindfolded нэртэй өөрийн шийдлийн багцыг ашигласан. Үүнийг хэрхэн ашиглах талаар тайлбарыг үзнэ үү RubiksBlindfolded
Алхам 4: Хэрэглээ
Бүх хамаарлыг суулгаж, камераа тохируулсны дараа энэ нь сохор.py скриптийг ажиллуулах цаг болжээ
Нэгдүгээрт, та кубаа зөв чиглэлд сканнердах хэрэгтэй. Энэ бол кубын бүтэц бөгөөд нүүрийг скан хийх дараалал нь чухал биш юм. Эдгээр нь куб нүүрний анхдагч өнгө гэдгийг анзаараарай, та тэдгээрийг сохор.py скрипт дээрх тэмдэглэгээний толь бичгийг шинэчлэх замаар өөрчилж болно.
Скан хийхийн тулд зайны товчлуурыг дарж, дүрсийг хадгалж дууссаны дараа ESC товчлуурыг дарна уу
Хоёрдугаарт, та консол дээрх шийдлийн дарааллыг харж, паритетын алгоритмыг ашиглах шаардлагатай эсэхийг шалгах боломжтой болно.
Гуравдугаарт, ирмэгийн дараалал болон булангийн дарааллыг харуулсан 2 зурсан кубыг харуулсан шинэ хүрээ үүснэ. Та дарааллын зүйлүүдийн хооронд шилжихийн тулд зүүн ба баруун сум, ирмэг ба булангийн хооронд шилжихийн тулд дээш, доош сумтай товчлууруудыг ашиглаж болно. цайвар саарал өнгө нь одоогийн дарааллыг илэрхийлнэ.
Та сумны товчлуураар динамикаар өөрчлөгдөж буй өнөөгийн буферын өнгийг харж болно. Саарал өнгө нь зорилтот бамбарууш, ягаан өнгө нь сольж буй нүүрийг илэрхийлдэг
Эх код
github.com/mn-banjar/blindfolded2
Зөвлөмж болгож буй:
Бодит цагийн цагийн модулийг (DS3231) хэрхэн ашиглах вэ: 5 алхам
Бодит цагийн цагны модулийг (DS3231) хэрхэн ашиглах вэ: DS3231 бол өртөг багатай, туйлын нарийвчлалтай I2C бодит цаг (RTC) бөгөөд температурыг нөхсөн болор осциллятор (TCXO), болортой. Төхөөрөмж нь батерейны оролттой бөгөөд үндсэн хүчдэлийн үед цагийг зөв хэмждэг
Унадаггүй Рубик шоо чийдэнг хялбархан хазайлгахад хялбар өнгө өөрчлөх: 10 алхам (зурагтай)
Унадаггүй Рубик шоо чийдэнг хялбархан хазайлгахад зориулсан өнгийг өөрчилж байна: Өнөөдөр бид кубик хэлбэртэй Рубик чийдэнг аль талаас нь дээш харсанаасаа хамаарч бүтээх гэж байна. Шоо нь жижиг микро-USB кабелиар цэнэглэгдсэн жижиг LiPo батерейгаар ажилладаг бөгөөд миний туршилтаар батерейны ашиглалтын хугацаа хэд хоног байна. Энэ
Цахим шоо - Arduino Die/шоо 1 -ээс 6 шоо + D4, D5, D8, D10, D12, D20, D24 ба D30: 6 алхам (зурагтай)
Цахим шоо - Arduino Die/шоо 1 -ээс 6 хүртэл шоо + D4, D5, D8, D10, D12, D20, D24 ба D30: Энэ бол электрон цутгамал хийх энгийн arduino төсөл юм. 1 -ээс 6 шоо эсвэл 8 тусгай шоо тутмын нэгийг сонгох боломжтой. Сонголт нь эргэлддэг кодлогчыг эргүүлэх замаар хийгддэг бөгөөд эдгээр нь дараах онцлог шинж чанартай: 1 үхэх: том цэгүүдийг харуулах 2-6 шоо: цэгүүдийг харуулах
Рубик шоо уусгагч Arduino Mega Stepper Shield: 4 алхам
Рубик шоо шийдэгчдэд зориулсан Arduino Mega Stepper Shield: Хэсэг хугацааны өмнө би 3x3 хэмжээтэй Rubiks Cube -ийг автоматаар шийддэг машин дээр ажиллаж байсан. Энэ талаар миний зааварчилгааг эндээс харж болно. Төсөлд полулугийн жолооч нарыг зургаан мотор жолоодоход ашигладаг байв. Эдгээрийг хооронд нь холбохын тулд хоёр
Arduino IDE ашиглан M5stick C ашиглан цаг хийх - M5stack M5stick-C-тэй RTC бодит цагийн цаг: 4 алхам
Arduino IDE ашиглан M5stick C ашиглан цаг хийх | M5stack M5stick-C-тэй RTC бодит цагийн цаг: Сайн байна уу залуусаа, энэ зааварчилгаанд бид Arduino IDE ашиглан m5stack-ийн m5stick-C хөгжүүлэлтийн самбар ашиглан хэрхэн цаг хийхийг сурах болно. Тиймээс m5stick нь огноо, цаг, цагийг харуулах болно. дэлгэц дээр сарын долоо хоног