Mundarija:
- Ta'minotlar
- 1 -qadam: materiallar
- 2 -qadam: ulanish diagrammasi
- 3 -qadam: SPI uchun sozlash
- 4 -qadam: Kod
- 5 -qadam: Natija
- 6-qadam: CrowPi2-Materiallaridan foydalanish
- 7-qadam: CrowPi2- ulanish diagrammasidan foydalanish
- 8-qadam: CrowPi2 dan foydalanish- SPI uchun sozlash
- 9-qadam: CrowPi2-dan foydalanish- kod
- 10-qadam: CrowPi2-dan foydalanish natijasi
- 11-qadam: CrowPi2-dan foydalanish- Keyingi
Video: Minecraft Raspberry Pi Edition yordamida kamalak interaktiv ko'prigini yarating: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Kecha men 8 yoshli jiyanimni Minecraft-da Raspberry Pi bilan o'ynaganini ko'rdim, shundan so'ng men kodni ishlatib, Minecraft-pi LED-bloklarini loyihalashtirishni xohladim. Minecraft Pi - bu Raspberry Pi mikrokompyuterini ishga tushirishning ajoyib usuli, Minecraft Pi - bu Minecraft -ning maxsus tayyorlangan versiyasi, bu bizga o'yin tajribasi va rekvizitlarini sozlash uchun o'lik oddiy Python API yordamida o'yin bilan muloqot qilish imkonini beradi!
Minecraft dunyosida Raspberry Pi yordamida amalga oshirishingiz mumkin bo'lgan ko'plab loyihalar mavjud, lekin biz uchun bu etarli emas edi, biz bir vaqtning o'zida qiyin va miltillovchi narsani qidirardik. Ushbu loyihada biz Minecraft -ning bir nechta bloklarini bosib o'tamiz, blokning identifikatorini aniqlaymiz va interaktiv qadamlar o'yinini yaratish uchun RGB LED -ni yoqadigan rangga qarab, biz bosgan blokning rangini aniqlaymiz!
Men effektga erishish uchun ikkita usuldan foydalanaman, birinchisi aksessuarlardan foydalanadi, bu juda tartibsiz bo'lishi mumkin …; ikkinchisi CrowPi2 dan foydalanmoqda (ko'p sensorli kompyuterni o'rganish, hozirda Kickstarter -da to'plangan: CrowPi2)
Keling, boshlaymiz va bunday ajoyib loyihani qanday arxivlashni ko'rib chiqamiz!
Ta'minotlar
CrowPi2 hozirda kickstarter -da jonli efirda, CrowPi2 loyihasi deyarli 250 ming dollar yig'di.
Havolani bosing:
1 -usul Aksessuarlardan foydalanish
1 -qadam: materiallar
● 1 x Raspberry Pi 4 modeli B
● 1 ta tasvirli TF karta
● 1 x Raspberry Pi quvvat manbai
● 1 x 10,1 dyuymli monitor
● 1 x monitor uchun quvvat manbai
● 1 x HDMI kabeli
● 1 x Klaviatura va sichqoncha
● 1 x RGB LED (umumiy katod)
● 4 x jumper (urg'ochi -ayol)
2 -qadam: ulanish diagrammasi
RGB rangli LEDda qizil chiroq, yashil va ko'k chiroq bo'lgan uchta chiroq bor. Bu uchta chiroqni har xil intensivlikdagi yorug'lik chiqarishi uchun boshqaring va aralashtirilganda ular har xil rangdagi yorug'lik chiqarishi mumkin. LED yoritgichidagi to'rtta pin mos ravishda GND, R, G va B dir. Men ishlatgan RGB LED - bu oddiy katod va Raspberry Pi -ga ulanish quyidagicha:
RaspberryPi 4B (funktsiya nomi bilan) RGB LED
GPIO0 1 RED
GPIO1 3 Yashil
GPIO2 4 moviy
GND 2 GND
Ikkinchi rasm - bu apparat aloqasi
3 -qadam: SPI uchun sozlash
Biz RGBni boshqarish uchun SPIdan foydalanishimiz kerakligi uchun avval SPI interfeysini yoqishimiz kerak, u sukut bo'yicha o'chirilgan. SPI interfeysini yoqish uchun siz quyidagi amallarni bajarishingiz mumkin:
Birinchidan, siz birinchi rasmda ko'rsatilgandek, Pi start MenupreferencesRaspberry Pi konfiguratsiyasiga o'tish orqali Desktop GUI -dan foydalanishingiz mumkin.
Ikkinchidan, "Interfeyslar" ga o'ting va SPI -ni yoqing va OK ni bosing (ikkinchi rasm).
Nihoyat, o'zgarishlar kuchga kirishi uchun Pi -ni qayta ishga tushiring. Pi -ni ishga tushirish menyusiga bosing Preferentsiyalar O'chirish. Qayta ishga tushirish kerak bo'lgani uchun, qayta yuklash tugmasini bosing.
4 -qadam: Kod
Biz o'z python kodimizni yozishdan boshlaymiz, avval kodimizni Minecraft dunyosi bilan birlashtirish uchun bizga kerak bo'lgan bir nechta kutubxonalarni import qilishdan boshlaymiz. Keyin, biz vaqt kutubxonasini, xususan, uyqu deb nomlangan funktsiyani import qilamiz. Uyqu funktsiyasi bizga funktsiyani bajarishdan oldin ma'lum vaqt oralig'ini kutishga imkon beradi. Va nihoyat, biz RPi. GPIO kutubxonasini import qilamiz, bu bizga Raspberry Pi -da GPIO -ni boshqarishga imkon beradi.
mcpi.minecraft -dan import Minecraft -dan uyquni import qilish RPi. GPIO -ni GPIO sifatida
Mana, biz kutubxonalarni import qilishni tugatdik, endi ulardan foydalanish vaqti keldi! Birinchidan, bu Minecraft kutubxonasidan foydalanish, biz o'z piton skriptimizni Minecraft dunyosiga ulamoqchimiz, buni MCPI kutubxonasining init () funktsiyasidan foydalanib, GPIO rejimini o'rnatib, ogohlantirishni o'chirib qo'yishimiz mumkin.
mc = Minecraft.create () GPIO.setmode (GPIO. BCM) GPIO.setwarnings (0)
Endi biz RGB ranglarini o'zgartirish uchun kamalak ranglarini o'n oltilikda aniqlaymiz.
Oq = 0xFFFFFF QIZIL = 0xFF0000 apelsin = 0xFF7F00 SARI = 0xFFFF00 Yashil = 0x00FF00 CYAN = 0x00FFFF moviy = 0x0000FF binafsha = 0xFF00FF MAGENTA = 0xFF00
Keyinchalik, biz jun blokining rangini yozish uchun ba'zi o'zgaruvchilarni aniqlashimiz kerak, bu allaqachon Minecraft bloklari ro'yxatida aniqlangan.
W_WHITE = 0 W_RED = 14 W_ORANGE = 1 W_YELLOW = 4 W_GREEN = 5 W_CYAN = 9 W_BLUE = 11 W_PURPLE = 10 W_MAGENTA = 2
Minecraft -dagi jun blokining identifikatori - 35. Endi biz RGB uchun pinni sozlashimiz va ular uchun sozlashimiz kerak.
qizil_pin = 17 yashil_pin = 18 ko'k_pin = 27
GPIO.setup (red_pin, GPIO. OUT, boshlang'ich = 1) GPIO.setup (green_pin, GPIO. OUT, boshlang'ich = 1) GPIO.setup (blue_pin, GPIO. OUT, boshlang'ich = 1)
Keyin, har bir pin uchun PWM-ni o'rnating, PWM qiymatining diapazoni 0-100 gacha ekanligini unutmang. Bu erda biz RGB rangini birinchi bo'lib oq (100, 100, 100) ga o'rnatdik.
qizil = GPIO. PWM (red_pin, 100)
yashil = GPIO. PWM (green_pin, 100) ko'k = GPIO. PWM (blue_pin, 100) qizil.start (100) yashil.boshlang (100) ko'k.boshlang (100)
Quyida ikkita funktsiyani yaratish mumkin, ular yordamida RGB kodini ochish va rangini ochish mumkin! E'tibor bering, map2hüzar () funktsiyasi 255 dan 100 gacha bo'lgan qiymatlarni xaritalashdir, yuqorida aytib o'tganimizdek, PWM qiymati 0-100 bo'lishi kerak.
def map2hüz (qiymat): int int (qiymat * 100/255)
def set_color (color_code): # Red_value = color_code >> 16 & 0xFF green_value = color_code >> 8 & 0xFF blue_value = color_code >> 0 & 0xFF
# Xarita qiymatlari qizil_value = map2huz (qizil_qiymat) yashil_qiymat = xarita2 yuz (yashil_qiymat) ko'k_qiymat = xarita2 yuz (ko'k_qiymat)
# Yoqmoq! qizil. ChangeDutyCycle (red_value) yashil. ChangeDutyCycle (green_value) ko'k. ChangeDutyCycle (blue_value)
Juda qoyil! Asosiy dasturni boshlash vaqti keldi, kuting, asosiy dasturdan oldin jun blokining rang kodini yozish uchun boshqa o'zgaruvchini aniqlash kerak:
last_data = 0 urinib ko'ring: x, y, z = mc.player.getPos () mc.setBlocks (x, y, z, x+1, y, z+2, 35, 14) mc.setBlocks (x+2, y+1, z, x+3, y+1, z+2, 35, 11) mc.setBlocks (x+4, y+2, z, x+5, y+2, z+2, 35, 2) mc.setBlocks (x+6, y+3, z, x+7, y+3, z+2, 35, 5) mc.setBlocks (x+8, y+4, z, x+9, y+4, z+2, 35, 4) mc.setBlocks (x+10, y+5, z, x+11, y+5, z+2, 35, 10) mc.setBlocks (x+12, y+6, z, x+13, y+6, z+2, 35, 1) mc.setBlocks (x+14, y+5, z, x+15, y+5, z+2, 35, 10) mc.setBlocks (x+16, y+4, z, x+17, y+4, z+2, 35, 4) mc.setBlocks (x+18, y+3, z, x+19, y+3, z+2, 35, 5) mc.setBlocks (x+20, y+2, z, x+21, y+2, z+2, 35, 2) mc.setBlocks (x+22, y+1, z, x+23, y+1, z+2, 35, 11) mc.setBlocks (x+24, y, z, x+25, y, z+2, 35, 14) rost.: x, y, z = mc.player.getPos () # o'yinchi pozitsiyasi (x, y, z) blok = mc.getBlockWithData (x, y-1, z) # blok identifikatori #print (blok) agar block.id == WOOL va last_data! = Block.data: if block.data == W_RED: print ("Red!") Set_color (RED) if block.data == W_ORANGE: print ("Orange!") Set_color (ORANGE) if block.data == W_ SARI: chop etish ("Sariq!") Set_color (SARI), agar block.data == W_GREEN: chop etish ("Yashil!") Set_color (Yashil) agar block.data == W_CYAN: chop etish ("Ko'k!") Set_color (CYAN)) if block.data == W_BLUE: print ("Moviy!") set_color (KO'K) agar block.data == W_PURPLE: chop etish ("Binafsha!") set_color (PURPLE) agar block.data == W_MAGENTA: chop etish (" Magenta! ") Set_color (MAGENTA) if block.data == W_WHITE: print (" White! ") Set_color (WHITE) last_data = block.data sleep (0.05), KeyboardInterruptdan tashqari: GPIO.cleanup () dan o'ting.
Asosiy dastur yuqorida ko'rsatilgandek, avval rang -barang jun bloklarni yaratish uchun ba'zi buyruqlardan foydalanish kerak, keyin biz bloklarning identifikatorini va uning rang kodini olish uchun o'yinchi o'rnini bilib olishimiz kerak. Blok haqidagi ma'lumotni olgandan so'ng, biz o'yinchi ostidagi blokning jun bloki ekanligini va uning rang kodiga ega ekanligini aniqlash uchun bayonotdan foydalanamiz. Ha bo'lsa, jun bloki qaysi rangda ekanligini baholang va set_color () funktsiyasini chaqiring, RGB ledining rangini jun bloki bilan bir xilda o'zgartiring.
Bundan tashqari, biz GPIO pinlarining chiqishini tozalash uchun dasturdan chiqmoqchi bo'lganimizda, foydalanuvchining uzilishidan tashqari holatni aniqlash uchun try/except ifodasini qo'shamiz.
To'liq kod biriktirilgan.
Yaxshi, juda ko'p aksessuarlar va juda murakkab, to'g'rimi? Xavotir olmang, loyihaga erishishning ikkinchi usulini ko'rib chiqaylik, bu sizni yanada moslashuvchan va qulay his qiladi, bu bizning CrowPi2 -dan foydalanadi!
5 -qadam: Natija
O'yinni oching va skriptni ishga tushiring, natijani yuqoridagi videoda ko'rasiz
Keyin CrowPi2 -dan foydalanib, Rainbow interaktiv ko'prigini quramiz
6-qadam: CrowPi2-Materiallaridan foydalanish
● 1 x CrowPi2
7-qadam: CrowPi2- ulanish diagrammasidan foydalanish
Kerak emas. CrowPi2 -da juda ko'p foydali sensorlar va komponentlar (20 dan ortiq) bor, hammasi bitta malinali noutbukda va STEM ta'lim platformasida, bu bizga bir nechta loyihalarni bemalol va hech qanday terlamasdan bajarishga imkon beradi! Bunday holda, biz CrowPi2 -da jozibali va rang -barang moduldan foydalanamiz, bu 8x8 RGB matritsali modul, bu bizga bir vaqtning o'zida 64 RGB svetodiodni boshqarishga imkon beradi!
8-qadam: CrowPi2 dan foydalanish- SPI uchun sozlash
Kerak emas. CrowPi2 o'quv tizimiga ega o'rnatilgan tasvir bilan birga keladi! Hamma narsa tayyorlangan, ya'ni siz to'g'ridan -to'g'ri dasturlashingiz va o'rganishingiz mumkin. Bundan tashqari, bizning CrowPi2 bilan bu oson va allaqachon STEAM platformasi sifatida taxtaga qo'shilgan.
9-qadam: CrowPi2-dan foydalanish- kod
Endi dasturimizni boshlash vaqti keldi! Birinchidan, Minecraft Pi Python kutubxonasi bo'lgan MCPI kutubxonasi kabi bir nechta kutubxonalarni import qiling, bu bizga Minecraft dunyosi bilan integratsiyalashish uchun juda oddiy API -dan foydalanish imkonini beradi; vaqt kutubxonasi, bu bizga uyqu funktsiyasini bajarishdan oldin ma'lum vaqtni kutish imkonini beradi; Raspi Pi GPIO pinlarini boshqarishga imkon beradigan RPi. GPIO kutubxonasi.
mcpi.minecraft -dan import Minecraft -dan uyquni import qilish RPi. GPIO -ni GPIO sifatida
Nihoyat, biz kutubxonaning ichida RGB Matrix kutubxonasi bo'lgan rpi_ws281x nomli kutubxonani import qilamiz, biz LED tasma moslamasini sozlash uchun PixelStrip va RGB rangli ob'ektni yoqish uchun Rang kabi bir nechta funktsiyalarni ishlatamiz. bizning RGB LED -larimiz
rpi_ws281x importidan PixelStrip, Color
Va bu, biz kutubxonalarni import qilishni tugatdik, endi ulardan foydalanish vaqti keldi! Xuddi shunday, birinchi narsa Minecraft kutubxonasidan foydalanish, biz o'z piton skriptimizni Minecraft dunyosiga ulashni xohlaymiz, buni MCPI kutubxonasining boshlang'ich funktsiyasini chaqirish orqali amalga oshirishimiz mumkin:
mc = Minecraft.create ()
Har safar biz minecrat dunyosida operatsiyalarni amalga oshirishni xohlasak, biz mc ob'ektidan foydalanishimiz mumkin.
Keyingi qadam, biz RGB LEDlarini boshqarish uchun foydalanadigan RGB LED matritsa sinfini aniqlash bo'ladi, biz sinfni asosiy konfiguratsiya bilan boshlaymiz, masalan, LEDlar, pinlar, yorqinlik va boshqalar.
biz "toza" deb nomlangan funktsiyani yaratamiz, u berilgan rang bilan kamroq "tozalaydi", shuningdek, biz ishlatmoqchi bo'lganimizda haqiqiy RGB LED ob'ektini ishga tushiradigan ishga tushirish funktsiyasi.
sinf RGB_Matrix:
def _init _ (o'zi):
# LED tasmasi konfiguratsiyasi:
self. LED_COUNT = 64 # LED piksellar soni.
self. LED_PIN = piksellarga ulangan 12 ta GPIO pin (18 PWMdan foydalanadi!).
self. LED_FREQ_HZ = 800000 # LED signal chastotasi (odatda 800 kHz)
self. LED_DMA = 10 # signalni ishlab chiqarish uchun DMA kanali (10 -ni sinab ko'ring)
self. LED_BRIGHTNESS = 10 # Eng qorong'i uchun 0, eng yorug 'uchun 255 ga sozlang
self. LED_INVERT = Noto'g'ri # Signalni teskari aylantirish uchun rost
self. LED_CHANNEL = 0 # GPIO 13, 19, 41, 45 yoki 53 uchun "1" ga o'rnatildi
# LEDlarni turli yo'llar bilan jonlantiradigan funktsiyalarni aniqlang. def clean (o'zini, tasmasini, rangini):
# bir vaqtning o'zida barcha LEDlarni o'chiring
i uchun diapazonda (strip.numPixels ()):
strip.setPixelColor (i, rang)
strip.show ()
def run (o'zini):
# Tegishli konfiguratsiyaga ega NeoPixel ob'ektini yarating.
strip = PixelStrip (o'zini. LED_COUNT, self. LED_PIN, self. LED_FREQ_HZ, self. LED_DMA, o'zini. LED_INVERT, o'zini. LED_BRIGHTNESS, o'zini. LED_CHANNEL)
harakat qilib ko'ring:
qaytarish chizig'i
KeyboardInterruptdan tashqari:
# uzilishdan oldin LED matritsasini tozalang
o'z -o'zidan toza (tasma)
Yuqoridagilarni bajarganimizdan so'ng, biz bu sinflarni chaqirish va o'z kodimizda foydalanishimiz mumkin bo'lgan ob'ektlarni yaratish vaqti keldi, avval RGB LED matritsali ob'ektni yaratamiz, undan oldin biz yaratgan sinf yordamida foydalanishimiz mumkin:
matrixObject = RGB_Matrix ()
Keling, ushbu ob'ektni RGB matritsasidagi individual LEDlarni boshqarish uchun foydalanadigan faol LED tasmasini yaratish uchun ishlatamiz:
strip = matrixObject.run ()
Nihoyat, bu chiziqni faollashtirish uchun biz oxirgi funktsiyani ishga tushirishimiz kerak bo'ladi:
strip.begin ()
Minecraft API ko'plab bloklarni o'z ichiga oladi, har bir Minecraft blokining o'z identifikatori bor. Bizning misolimizda biz bir qancha Minecraft bloklarini oldik va qaysi rang ularga eng mos kelishini taxmin qilishga harakat qildik.
RGB qizil, yashil va ko'kni anglatadi, shuning uchun har biriga 0 dan 255 gacha bo'lgan 3 xil qiymat kerak bo'ladi, ranglar HEX yoki RGB formatida bo'lishi mumkin, biz o'z misolimiz uchun RGB formatidan foydalanmoqdamiz.
Minecraft Pi dunyosida oddiy ID identifikatorlari va maxsus jun bloklari identifikatorlari mavjud, maxsus jun 35 -raqam ostida, lekin har xil identifikatorlarga ega bo'lgan kichik raqamlar bilan … Biz bu muammoni oddiy bloklar uchun ikkita alohida ro'yxat tuzish orqali hal qilamiz. va maxsus jun bloklari uchun bitta ro'yxat:
Birinchi ro'yxat oddiy bloklar uchun, masalan 0 havo blokini ifodalaydi, biz uni 0, 0, 0 rangini belgilaymiz, u bo'sh yoki to'liq oq, agar o'yinchi sakraganda yoki uchib ketsa, RGB o'chadi, 1 RGB rangi 128, 128, 128 va shunga o'xshash boshqa blok …
#Kamalak ranglari
kamalak_ranglari = {
"0": Rang (0, 0, 0), "1": Rang (128, 128, 128), "2": Rang (0, 255, 0), "3": Rang (160, 82, 45), "4": Rang (128, 128, 128), "22": Rang (0, 0, 255)
}
To'rtta jun bloklari biz ham xuddi shunday qilamiz, lekin shuni esda tutish kerakki, barcha bloklarning identifikatori 35, bu ro'yxatda biz jun blokli pastki turlarini aniqlaymiz. Turli xil jun turlarining ranglari har xil, lekin ularning hammasi jun bloklardir.
jun_ranglari = {
"6": Rang (255, 105, 180), "5": Rang (0, 255, 0), "4": Rang (255, 255, 0), "14": Rang (255, 0, 0), "2": Rang (255, 0, 255)
}
Endi biz asosiy dasturimiz, sinflarimiz va funktsiyalarimizni aniqlab bo'lgach, CrowPi2 RGB LED bort sensori bilan birlashish vaqti keldi.
Asosiy dastur biz ilgari aniqlagan parametrlarni oladi va uskunaga ta'sir qiladi.
Biz CrowPi2 RGB LEDini har bir blokda Minecraft Pi ichida qilgan qadamlarimiz asosida ularni yoqish uchun ishlatamiz, boshlaylik!
Biz qila oladigan birinchi narsa - biz bir nechta jun bloklarini buyruqlar yordamida yaratish va vaqtni yaratish, bu o'yinni o'ynagunimizcha dasturning ishlashini ta'minlash.
Biz o'yinchidan ba'zi ma'lumotlarni olishimiz kerak, birinchi navbatda player.getPos () buyrug'idan foydalanib, o'yinchi o'rnini olishimiz kerak, keyin biz hozirda turgan blokni olish uchun getBlockWithData () dan foydalanamiz (y koordinatasi -1 o'yinchi ostida degan ma'noni anglatadi)
x, y, z = mc.player.getPos ()
mc.setBlocks (x, y, z, x+1, y, z+2, 35, 14)
mc.setBlocks (x+2, y+1, z, x+3, y+1, z+2, 35, 11)
mc.setBlocks (x+4, y+2, z, x+5, y+2, z+2, 35, 2)
mc.setBlocks (x+6, y+3, z, x+7, y+3, z+2, 35, 5)
mc.setBlocks (x+8, y+4, z, x+9, y+4, z+2, 35, 4)
mc.setBlocks (x+10, y+5, z, x+11, y+5, z+2, 35, 10)
mc.setBlocks (x+12, y+6, z, x+13, y+6, z+2, 35, 1)
mc.setBlocks (x+14, y+5, z, x+15, y+5, z+2, 35, 10)
mc.setBlocks (x+16, y+4, z, x+17, y+4, z+2, 35, 4)
mc.setBlocks (x+18, y+3, z, x+19, y+3, z+2, 35, 5)
mc.setBlocks (x+20, y+2, z, x+21, y+2, z+2, 35, 2)
mc.setBlocks (x+22, y+1, z, x+23, y+1, z+2, 35, 11)
mc.setBlocks (x+24, y, z, x+25, y, z+2, 35, 14)
rost bo'lsa:
x, y, z = mc.player.getPos () # o'yinchi pozitsiyasi (x, y, z)
blockType, ma'lumotlar = mc.getBlockWithData (x, y-1, z) # blok identifikatori
bosib chiqarish (blockType)
Keyin biz blokning jun bloki ekanligini tekshiramiz, ID raqami 35, agar shunday bo'lsa, biz lug'at identifikatoriga asoslanib, blokining rangiga ega jun_colorsga murojaat qilamiz va shunga mos ravishda to'g'ri rangni yoritamiz.
agar blockType == 35:
# maxsus jun ranglari
matrixObject.clean (strip, jun_colors [str (ma'lumotlar)])
Agar bu jun blok bo'lmasa, biz istisnolardan qochish uchun blok hozirda kamalak ranglari lug'atida mavjudligini tekshirib ko'ramiz, agar shunday bo'lsa, biz rangni olish va RGB o'zgartirish orqali davom etamiz.
agar kamalak ranglarida str (blockType) bo'lsa:
bosib chiqarish (kamalak_ranglari [str (blockType)]))
matrixObject.clean (tasma, kamalak_ranglari [str (blockType)])
uxlash (0,5)
Siz har doim ko'proq rang va ko'proq bloklarni qo'llab -quvvatlash uchun kamalak rangiga ko'proq blok qo'shishingiz mumkin!
Zo'r! Aksessuarlar yordamida loyihalarni amalga oshirish juda murakkab, lekin CrowPi2 integratsiyalashgan sxemasidan foydalanib, ishlar ancha osonlashadi! Bundan tashqari, CrowPi2 -da 20 dan ortiq sensorlar va komponentlar mavjud, bu sizning ideal loyihalaringizga va hatto AI loyihalariga erishishga imkon beradi!
Quyida to'liq kod:
10-qadam: CrowPi2-dan foydalanish natijasi
O'yinni oching va skriptni ishga tushiring, natijani yuqoridagi videoda ko'rasiz:
11-qadam: CrowPi2-dan foydalanish- Keyingi
Endi biz CrowPi2 bilan Minecraft o'yinidagi rang -barang loyihamizni yakunladik. O'yin bilan o'ynash uchun CrowPi2 -dagi boshqa sensorlar va komponentlardan foydalanishga urinmang, masalan o'yinchining harakatini nazorat qilish uchun joystik, turli NFC kartalariga asoslangan bloklar yaratish uchun RFID va boshqalar. CrowPi2 -dagi o'yiningizdan zavqlaning va buni qila olasiz deb umid qilaman. CrowPi2 bilan yanada ajoyib loyihalar!
Endi CrowPi2 Kickstarter -da, siz ham jozibador narxdan bahramand bo'lishingiz mumkin.
Kickstarter sahifasi CrowPi2 havolasini biriktiring
Tavsiya:
Zinapoyalar uchun interaktiv LED tizimini yarating: 7 qadam
Zinapoyalar uchun interaktiv LED tizimini yarating: uyda zinapoya bor. Jamiyatda zinapoyalarni ta'mirlash bo'yicha ko'plab loyihalarni ko'rish juda qiziq. Yaqinda juda band emasman, shuning uchun men uydagi zinapoyalarni o'zgartirish va o'zaro ta'sir o'tkazish uchun ochiq manba kodli apparat modullaridan foydalanishga qaror qildim
H-ko'prigini qanday qilish kerak: 15 qadam
H-ko'prikni qanday yasash mumkin: H-ko'prigi-bu teskari oqim dvigatelini soat yo'nalishi bo'yicha ham, soat sohasi farqli o'laroq aylantirish uchun ishlatilishi mumkin bo'lgan elektron turi. kalit yoki boshqaruvchi yordamida aylantirish
Arduino akselerometri bo'yicha qo'llanma: Servo dvigateli yordamida kema ko'prigini boshqarish: 5 qadam
Arduino akselerometr bo'yicha qo'llanma: Servo dvigateli yordamida kema ko'prigini boshqarish: Akselerometr sensorlari hozirda bizning aksariyat smartfonlarimizda mavjud bo'lib, ular biz har kungi foydalanadigan imkoniyatlar va imkoniyatlarni beradi. Bu imkoniyatlardan biri bu nazorat jadvalidir
Kamalak qurilmasini yarating: 11 qadam (rasmlar bilan)
Rainbow apparatini yarating: The Rainbow Apparatus (aka Astral Chromascope) - bu oddiy narsalardan rang -barang energiyani ko'rishga imkon beruvchi optik ziddiyat! Bu yo'riqnomada, men sizga narsalarning texnik ranglarini o'rganish uchun o'z qo'llaringiz bilan qanday qilib yasashni ko'rsataman
Star Trek Communicator Edition RAZR nashrini yarating: 3 qadam (rasmlar bilan)
Star Trek Communicator Edition RAZR nashrini yarating: Star Trek Communicator bugungi telefonlar uchun ilhom manbai bo'lganligi sababli, telefoningizni asl nusxaga o'xshatib qo'ymang. Men qildim va mana shunday