Mundarija:
- 1 -qadam: asboblar va materiallar
- 2 -qadam: Uni yarating
- 3 -qadam: Dasturiy ta'minotni tayyorlang
- 4 -qadam: Rubik kubini eching
- 5 -qadam: Manba kodi
Video: BricKuber loyihasi - Rubiks kubini hal qiladigan malina Pi: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
BricKuber Rubik kubigini taxminan 2 daqiqada hal qila oladi.
BricKuber - bu Rubik kubiklarini hal qilish uchun ochiq manba, siz o'zingiz qurishingiz mumkin
Biz Raspberry Pi bilan Rubiks kubini hal qiladigan robot yaratmoqchi edik. Tezlikka bormasdan, biz oddiylik bilan bordik: agar sizda Raspberry Pi, BrickPi to'plami va standart LEGO Mindstorms EV3 yoki NXT to'plami bo'lsa, siz bizning izimizdan osongina yurishingiz kerak. Dastur Python dasturlash tilida yozilgan. Github-dagi barcha manba kodini bu erda ko'rishingiz mumkin.
Ma'lumot Rubik kubigi yaqinda qaytishni boshladi. 1974 yilda ixtiro qilingan, bu dunyodagi eng ko'p sotiladigan o'yinchoq. Ammo ularni hal qilish uchun fikr, harakat va mahorat kerak… Xo'sh, nega robot buni qilishga ruxsat bermaydi? Ushbu loyihada biz Raspberry Pi, BrickPi va LEGO Mindstorms to'plamini olamiz va Rubik kubiklarini hal qiladigan robot yaratamiz. Faqat hal qilinmagan Rubik kubini echgichga qo'ying, python dasturini ishga tushiring va sizning Rubik kubingiz hal qilindi! Loyihada Rubik kubini to'g'ridan -to'g'ri hal qilish uchun Pi ishlatiladi. BrickPi3 hal qilinmagan Rubik kubini oladi va Raspberry Pi Raspberry Pi kamerasi bilan kubikning har bir tomonini suratga oladi. Pi rangli kvadratlarning matnli xaritasini yaratadi, ular kubda qaerda joylashganligini ko'rsatadi. Kubni to'liq xaritaga kiritgandan so'ng, Pi "kociemba" python kutubxonasidan foydalanib, Rubik kubini yechish uchun zarur bo'lgan harakatlarni xaritada ko'rsatadi. Bu ma'lumotlar Pi va BrickPi3 tomonidan Rubik kubigini LEGO dvigatellari yordamida hal qilish uchun olingan. Natija: hal qilingan Rubik kubigi.
1 -qadam: asboblar va materiallar
- BrickPi3 - Biz BrickPi -dan Rubik kublarini hal qiluvchi LEGO dvigatellarini boshqarish uchun foydalanamiz.
- Raspberry Pi - Pi ishlov beradi, rasmga oladi va BrickPi -ga buyruq beradi.
- Raspberry Pi kamerasi - Pi Camera hal qilinmagan Rubik kubini suratga oladi.
- Ethernet kabeli - kompyuteringizga Internetga ulanish kerak. Agar siz buni Wi -Fi orqali qilishni xohlasangiz, bu ham yaxshi!
- Raspbian for robots SD Card - Raspberry Pi bilan ishlaydigan dastur. Bu darslik uchun zarur bo'lgan dasturiy ta'minotning ko'p qismi bilan birga keladi. Bundan tashqari, dasturiy ta'minotni bepul yuklab olishingiz mumkin.
- LEGO Mindstorms EV3 to'plami (31313) - Sizga LEGO va ikkita katta dvigatel, bitta servo dvigatel va ultratovush sensori kerak bo'ladi.
- Rubik kubigi - biz bu erda juda erkin aylanadigan kishini topdik. Siz 9x9x9 o'lchamdagi Rubik kubidan foydalanishingiz mumkin.
2 -qadam: Uni yarating
Yechuvchini qurish
Ushbu dizayn LEGO EV3 uchun MindCub3r dizaynidan ilhomlangan. BricKuber -ni yaratish uchun MindCub3r -ni yaratish bilan boshlang. LEGO -ni yaratish bo'yicha to'liq ko'rsatmalarni bu erda topishingiz mumkin.
Rubiks kublarini hal qiluvchi dizayni uchta asosiy harakatlanuvchi qismdan iborat. Birinchisi, Rubik kubigini ushlab turadigan beshik. Ikkinchisi - bu shuffler, bu qo'l Rubik kubigini ag'darish uchun ishlatiladi.
Nihoyat, biz kamera qo'lini qo'shamiz. MindCubrning original dizaynida, bu Rubik kubigidagi EV3 rang sensori. Bizning o'zgartirilgan dizaynimizda u Rubik kubogi ustida Raspberry Pi kamerasini ushlab turadi. Biz kubni boshqarish uchun ikkita LEGO Mindstorms dvigatelidan foydalanamiz: birinchisi, kubni aylantirish uchun beshik ostida, ikkinchisi esa shuffler qo'lini siljitib, kubni teskari o'qda aylantiradi.
BrickPi3 ni yig'ing
BrickPi3 uchun montaj ko'rsatmalarini bu erda topishingiz mumkin. Biz korpusni yig'ishimiz, BrickPi3, Raspberry Pi, Raspberry Pi kamerasini ulashimiz, SD -kartani qo'shishimiz va batareyalarni qo'shishimiz kerak bo'ladi. Dasturiy ta'minotni sozlashni osonlashtirish uchun Raspbian for Robots sizga kerakli dasturiy ta'minotning ko'p qismi bilan birga keladi. Sizga kamida 8 gigabaytlik SD -karta kerak bo'ladi va siz diskni SD -kartaning to'liq hajmiga mos ravishda kengaytirishni xohlaysiz.
BrickPi3 -ni ulang
Biz BrickPi3 ni LEGO yig'ilishiga qo'shamiz. Biz BrickPi3 -ni qo'llab -quvvatlash va uni BricKuber tanasi bilan tekislash uchun LEGO EV3 "qanotlarini" ishlatardik. Bu 8XAA batareyalarini quvvat to'plamiga qo'shish va BrickPi3 quvvat paketini LEGO yig'ilishiga ulash uchun yaxshi qadam. Dasturlash uchun siz BrickPi3 -ni USB orqali Raspberry Pi -ga ulashingiz mumkin, lekin dvigatellarni harakatlantirish uchun siz Power Pack -dan quvvat olishingiz kerak bo'ladi.
Motorlarni BrickPi3 ga ulang
Shuffler motorini "MD" motor portiga ulang. Beshik motorini BrickPi3 -dagi "MA" portiga ulang. Kamera sensori motorini "MC" portiga ulang (bu servoga o'xshash kichikroq dvigatel). Biz kamerani qimirlatmasak ham, siz dvigatellar yordamida kameraning joylashishini sozlashni xohlashingiz mumkin.
Raspberry Pi kamerasini ulang
LEGO Camera yordamidan foydalanib, kamerani ulang. Kameraning kichik qora linzalari ikkita LEGO nurlari tayanchlari orasiga to'g'ri kelishi kerak. Kamerani elektr tasmasi bilan LEGO tayanchlariga mahkamlang. Bu kamera Rubik kubigini to'liq tortib oladigan holatda ekanligiga ishonch hosil qilish uchun yaxshi vaqt. Raspistill buyrug'i bilan siz test rasmini olishingiz mumkin
raspistill -o cam.jpg
Rasm o'rtasida kub yaxshi markazlashtirilganligini tekshiring.
3 -qadam: Dasturiy ta'minotni tayyorlang
Siz Raspbian yoki Robot uchun Raspbian -ning istalgan versiyasidan foydalanishingiz mumkin, bu bizning o'rnatilgan rasmimiz, BrickPi3 bilan birga keladi. Agar siz Raspbian standart versiyasidan foydalansangiz, buyruq yordamida BrickPi3 kutubxonalarini o'rnatishingiz mumkin
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Bu qadam BrickPi3 -ni Raspbian Image -da ishlatish uchun zarur bo'lgan barcha kutubxonalarni o'rnatadi. Agar siz robotlar uchun Raspbian -dan foydalanayotgan bo'lsangiz, bu bosqichni o'tkazib yuboring: BrickPi3 allaqachon o'rnatilgan.
Nihoyat, buyruq yordamida barcha loyiha bog'liqliklarini o'rnating:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Buning uchun BrickPi3 Internetga ulangan bo'lishi kerak. Loyihaga bog'liq bo'lgan ko'plab kutubxonalar mavjud, shu jumladan Rubik kubigini hal qilish uchun ishlatiladigan Github -dagi Daniel Uolton (@dwalton76).
4 -qadam: Rubik kubini eching
Beshikka hal qilinmagan Rubik kubini qo'ying. Buyruqni ishga tushiring
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Robot kubni har bir yuziga buradi va kamera kubning har ikki tomonidan bittadan 6 ta rasm oladi. Raspberry Pi oltita rasmdan kub konfiguratsiyasini aniqlaydi. Samarali echim topish uchun Cube konfiguratsiyasi Python kociemba kutubxonasiga o'tkaziladi. Nihoyat, robot Rubik kubigini echish uchun harakatlarni amalga oshiradi!
5 -qadam: Manba kodi
BricKuber uchun barcha manba kodini bizning ochiq manba github repoimizda topishingiz mumkin.
Ushbu loyiha buyruq bilan o'rnatilgan quyidagi dasturiy paketlardan foydalanadi
Tavsiya:
Moslty 3D-bosma qo'g'irchoq boshqaruvchisini taqlid qiladigan robot qo'l: 11 qadam (rasmlar bilan)
Moslty 3D-bosma qo'g'irchoq boshqaruvchisiga taqlid qiladigan robot qo'l: Men hindistonlik mexanika muhandisligi talabasiman va bu mening bakalavr darajasidagi loyiham. Bu loyiha asosan 3 o'lchamli bosilgan va 2 barmoqli 5 ta DOFga ega arzon robotli qo'lni ishlab chiqishga qaratilgan. tutuvchi. Robot qo'li boshqariladi
Cheksiz oyna kubini yasang: 12 qadam (rasmlar bilan)
Cheksiz oyna kubini yarating: Men birinchi cheksiz oynani yaratishda ma'lumot qidirayotganimda, cheksiz kubiklar tasvirlari va videolariga duch keldim va, albatta, o'zimnikini yasashni xohladim. Meni ushlab turgan asosiy narsa, men buni boshqacha qilmoqchi edim
Samolyot shovqinini bekor qiladigan minigarniturani stereo minigarnituraga aylantirish: 6 qadam (rasmlar bilan)
Samolyot shovqinini bekor qiladigan minigarniturani stereo minigarnituraga aylantiring: Hech qachon samolyotlardan bu shovqinni o'chiruvchi minigarniturani olish imkoniyati bo'lganmi? Mana, bu uchta quloqchinni kompyuter/noutbuk yoki oddiy naushnik uchun 3,5 mm stereo minigarnituraga aylantirish haqidagi mening tafsilotlarim. ko'chma qurilmalar, masalan, ce
Dushmaningizga o'xshab ko'ring: chalkash, hayratga soladigan va parodiya qiladigan belgilar yarating !: 6 qadam (rasmlar bilan)
Dushmaningizga o'xshab ko'ring: chalkashtirib yuboradigan, hayratga soladigan va parodiya qiladigan belgilar yarating !: Bu ko'rsatmada siz kamuflyaj dizaynini o'rganasiz. O'tgan loyihalarda men hukumat yoki korporativ imo -ishoralarga taqlid qilish uchun turli usullarni o'zlashtirdim va takomillashtirdim. Quyidagi bosqichlarda ko'rsatilgan usullardan foydalanish sizga vaqtincha
Uyda bezovta qiladigan narsa (bezovta qiluvchi narsa): 4 qadam (rasmlar bilan)
Uyda bezovtalanadigan narsa (bezovta-a-tron): Thinkgeek.com achchiq-a-tron deb nomlangan narsani sotadi. Bu, asosan, faollashtirilganda, turli vaqt oralig'ida signal beruvchi qurilma. Garchi, bu ko'rsatma, o'ylaydigan odamning g'azablantiradigan-a-tronining aniq nusxasini yaratmasa-da, agar sizda materiallar va