Hirdetés
Mindig is meg akarta tanulni kódolni, de nem tudta, hol kezdje? Megtanulhatja, hogyan vezérelheti a Minecraft-ot a Raspberry Pi-en a Python és néhány egyszerű elektronika segítségével. Íme a végeredmény:
Szüksége lesz egy Pi 2-re vagy újabbra a projekthez, és bár e feladatok többségét a Secure Shell (SSH) parancssorban is elvégezheti, ez az oktatóprogram közvetlenül a Pi kódolására összpontosít.
Új a Minecraft-on? Ne aggódj - itt van a miénk Minecraft kezdő útmutató A (későn megjelenő) Minecraft útmutatókHa késik a partira, ne aggódjon - ezt az átfogó kezdő útmutatót fedezted fel. Olvass tovább .
Bevezetés a Minecraft Pi-be

A Raspberry Pi számára készült Minecraft készüléket tanuláshoz és bádogoskodáshoz fejlesztették ki (és ingyenes). Jellemzője egy alkalmazásprogramozási felület (API), amely lehetőséget ad arra, hogy a kód könnyen megszólaljon a Minecraft-tal. Kiválóan megtanulja a Python kódolását is az elektronika megkezdése Kezdő elektronika: 10 tudás, amit tudnod kellSokan közülünk soha nem is érkeztek meg a forrasztópáka ellen, de a dolgok készítése hihetetlenül kifizetődő lehet. Íme a tíz legalapvetőbb barkácsolás-elektronikai készség, amely segít az indulásban. Olvass tovább .
Mi a Python?
Piton egy programozási nyelv. Ez értelmezhető, ami azt jelenti, hogy amikor Python fájlt vagy programot futtat, a számítógépnek először egy apró munkát kell elvégeznie a fájlhoz. A hátránya, hogy ez összehasonlítva lassúnak tekinthető fordított nyelvek.
Az értelmezett nyelvek előnyei a kódolás sebessége és barátságosságuk. Nem kell elmondania a számítógépet mit tárolni kívánt adatokat, csak azt, hogy tárolni szeretne valamit, és a számítógép kitalálja, mit kell tennie. Természetesen vannak kivételek, és ez kissé egyszerűsített nézet, bár a programozásnak szórakoztatónak kell lennie! Ha elkezdesz mélyedni a bonyolult műszaki részletekbe, az kissé fárasztóvá válhat.
A Python kis- és nagybetűket érzékeny. Fontos tudni, mivel a Python nem ismeri fel az objektumokat még akkor is, ha helyesen vannak megírva ha az eset rossz. A „Dosomething ()” nem fog működni, ha a módszer neve „DoSomething ()”. A Python behúzást is használ. A többi programozási nyelv nem érdekli, hány francia bekezdést tartalmaz a kód, míg a Python-nak csinál gondoskodás. A francia bekezdésekkel meg lehet mondani a Python-nak, hogy hol tartozik a kód. Más nyelvek használhatják a „Göndör fogszabályozókat” ({}) a kódkódoláshoz - a Python ezeket nem használja. A Python hash (#) -ot használ a hozzászólásokhoz, és a megjegyzések arra szolgálnak, hogy megmondják más fejlesztõknek vagy a kódot keresõ embereknek, hogy egy adott alkatrész mi történik, vagy miért van rá szükség. Python figyelmen kívül hagyja a hash után semmit.
Végül a Python két fő verziója van - a Python 2.7.x és a Python 3.x. Van némi különbség a kettő között (mi a különbség?). Ez az oktatóprogram a Python 3-at fogja használni.
Kezdeti beállítás
A Pi szolgáltatása már megvan a Raspbian telepítése és futtatása Hogyan telepítsünk egy operációs rendszert egy Raspberry Pi-reÍgy telepítheti egy operációs rendszert a Raspberry Pi-re, és hogyan klónozhatja a tökéletes beállítást a gyors katasztrófa utáni helyreállításhoz. Olvass tovább , nincs sok kezdeti beállítás szükséges.
Nyílt terminál (Menü> Kiegészítők> Terminál) és futtassa ezt a parancsot. Mindig jó gyakorlat, ha a lerakatlistát naprakészen tartjuk, és ez letölti a legfrissebb programok listáját (nem fogja letölteni a programokat, ez segít a Pi-nek megtudni, hogy mi a program neve és hol található őket).
sudo apt-get frissítés.
Most frissítse a Pi-t (ez eltarthat egy ideig):
sudo apt-get upgrade.
A Python és a Minecraft Pi már telepítve vannak, azonban ha a Minecraft Pi programot valamilyen okból nem telepítik, telepítése egyszerű 5 módszer a szoftver telepítésére a Raspberry Pi-reHa valamit megtesz egy Raspberry Pi-vel, akkor tudnia kell, hogyan kell telepíteni az operációs rendszert és a rajta futó szoftvert. Ha még nem ismeri a Linuxot, ez ijesztő lehet. Olvass tovább :
Sudo apt-get install Minecraft-pi
Keresse meg a dokumentumokat, és hozzon létre egy új “Minecraft” nevű mappát:
CD-dokumentumok / mkdir Minecraft
Megtekintheti az új mappa tartalmát:
ls
Íme egy tipp - ha elkezdi gépelni és megnyomja a TAB billentyűt, a parancssor megkísérel automatikusan kitölteni az állítást az Ön számára.
Megvizsgálhatja az aktuális könyvtár elérési útját a pwd segítségével, amely a Munkakönyv nyomtatása:
pwd
Indítsa el a Minecraftot, ha megy Menü> Játékok> Minecraft Pi. Szüksége lesz erre a futásra, de később vissza fog térni hozzá.
Nyissa meg a Python 3-t Menü> Programozás> Python 3 (IDLE). Ez a program lehetőséget nyújt a Python-parancsok futtatására és programok írására.
Most beírhatja ide a Python-parancsokat, de ez nem túl praktikus. Menj Fájl> Új fájl és akkor Fájl> Mentés és mentse el a korábban létrehozott mappába. (Dokumentumok> Minecraft). Hívjuk "hello_world.py“. Nem kell használnia a .py kiterjesztést, ez automatikusan hozzáadódik, de ez jó gyakorlat.
Ha visszatér a terminálra, és belép a Minecraft mappába, akkor látnia kell az éppen létrehozott fájlt:
cd Minecraft / ls
A fájlt így futtathatja:
python hello_world
Vegye figyelembe, hogy mind a „python” kisbetűk. Ennek a fájlnév előtt kell lennie, mivel azt mondja a Pi-nek, hogy a következő fájl Python, tehát önmagában kell végrehajtani.
Váltson vissza a Python szerkesztőre és írja be:
nyomtatás "Hello, világ!"
Mentse el ezt a fájlt, és futtassa újra - a következő üzenet jelenik meg: „Hello, világ!” jelennek meg a parancssorban - ügyes! A nyomtatás parancs egyszerűen azt mondja Pythonnak, hogy az alábbi szöveget idézőjelekben adja ki. Ez jó, de nem rettenetesen hasznos a Minecraft számára, lássuk össze:
az mcpi.minecraft-ból import Minecraft mc = Minecraft.create () mc.postToChat ("Hello, World!")
Most, ha menti és futtatja ezt a fájlt, a következőt kell látnia: „Hello, World!” megjelennek a Minecraft játékban. Bontjuk le a kódot:
származó mcpi.minecraft import Minecraft
Ez a sor azt mondja a Pythonnak, hogy egy másik fájl kódját akarja használni. Ezt az mcpi.minecraft fájlt úgy fejlesztették ki, hogy lehetővé tegyék a Minecraft könnyű irányítását.
mc = Minecraft.create ()
Ez a sor létrehoz egy „mc” (Minecraft) nevű objektumot. Ezt létre kell hoznia ahhoz, hogy lehetővé váljon a kommunikáció a Minecraft játékkal - nem elég, ha csak a fájlt tartalmazza.
mc.postToChat ("Hello, világ!")
Végül, ez a sor azt mondja a Minecraftnak, hogy írjon szöveget a csevegéshez. Próbáljon meg változtatni a „Hello, világ!” valami máshoz, és megnézheti, mi történik, de ne felejtse el belefoglalni mindkét dupla idézőjelet. Ha szoftverproblémái vannak, ezek néhány általános Python és Minecraft Pi hiba:
- AttributeError - ez egy elírás, például pint vagy prnt nyomtatás helyett
- NameError: A 'Minecraft' név nincs meghatározva - ne felejtse el importálni a szükséges modulokat
- NameError: a „true” név nincs meghatározva - a Python kis- és nagybetűket érzékeny, váltson „igaz” -ra.
- socket.error: [Errno 111] A kapcsolat megtagadva - Ellenőrizze, hogy fut-e a Minecraft
projektek
Most, hogy ismeri a Python és a Minecraft alapjait, készítsünk néhány jó projektet. Az összes kódot letölthető a Github.
Automatizált hídépítő

Ez a program hatékonyan hidat épít fel a víz felett. Amikor a játékos közel áll egy víztesthez, a program több blokkot kővé alakítja. Mivel a Minecraft koordinátarendszert használ, nagyon könnyű megszerezni a játékos helyét, valamint a blokkok típusát a lejátszó körül. A Minecraft Pi kissé korlátozott, ezért nem lehetséges több különféle blokk frissítése ömlesztve. Ezt a viselkedést azonban könnyen kódolhatja.
Hozzon létre egy új fájlt (Fájl> Új fájl), és mentse el a következő néven:bridge_builder.py“.
származó mcpi.minecraft import Minecraft. mc = Minecraft.create () # hozzon létre Minecraft objektumot, miközben igaz: x, y, z = mc.player.getPos () # játékos pozíció tárolása # tárolja a környező blokkokat a = mc.getBlock (x, y - 1, z + 1) b = mc.getBlock (x, y - 1, z - 1) c = mc.getBlock (x - 1, y - 1, z) d = mc.getBlock (x + 1, y - 1, z), ha a == 8 vagy a == 9 vagy b == 8 vagy b == 9 vagy c == 8 vagy c == 9 vagy d == 8 vagy d == 9: # 8 vagy 9 víz. Állítsa be a környező blokkokat a padlón szilárdra (kőre), ha víz található. Mc.setBlocks (x, y - 1, z, x + 1, y - 1, z + 1, 1) mc.setBlocks (x, y - 1, z, x - 1, y - 1, z - 1, 1) mc.setBlocks (x, y - 1, z, x - 1, y - 1, z + 1, 1) mc .setBlocks (x, y - 1, z, x + 1, y - 1, z - 1, 1)
Figyelje meg, hogy az y érték valóban hogyan néz ki az y-1-re. Ez a padlószint. Ha y értéket használunk, akkor a szkript térd szintjén keresi a blokkokat - ez nem működne nagyon jól! Mc.getBlock () egy adott blokk azonosítóját adja vissza az adott koordinátákhoz. Mivel x, y és z a játékos koordinátái, összeadhatjuk vagy kivonhatjuk őket, hogy pozíciókat szerezzünk a játékos körül. Nem kell használnia az x, y és z értékeket, bármilyen számot is használhat, azonban nem biztos, hogy tudja, hogy az adott blokk hogyan vonatkozik a játékosra - jobb, ha az értékeket a játékoshoz viszonyítva használja. Futtassa ezt a fájlt a parancssorból, és nézze meg, mi történik.
Látnia kell, hogy egy kis földfelület kővé válik, amint a játékos eléri a víztestét. Nem nagyszerű - elég gyorsan tudsz járni, hogy problémát okozzon. Megoldhatja ezt egy nagyobb vízmennyiség földre konvertálásával. Az mc.setBlocks () módszer utolsó része a blokk azonosítója. Az egyik a kő blokk azonosítója. Ezt megváltoztathatja fara, fűre vagy bármi másra. Ha akarta, ezt könnyedén konvertálhatja összetett konstrukcióvá - talán függőhídré!
Szuper bányász gomb

Ez a példa rövid bányászati munkát eredményez. Ez egy fizikai gombból áll, amely megnyomásával 10 blokkot rak fel kockára. Kezdjük a gombbal. Hasonlóan az Arduino gombjainál, szüksége lesz egy kis mennyiségű elektronikára is, amelyek mindegyikében található alapvető indítókészlet Mi található az Arduino kezdőkészletében? [Arduino kezdők]Az elektronikus alkatrészekkel teli doboz előtt könnyű elkönnyebbülni. Itt található egy útmutató, hogy pontosan mit talál a készletben. Olvass tovább :
- 1 x kenyérvágódeszka
- 1 x pillanatnyi kapcsoló
- 1 x 220 ohm ellenállás
- Nő> férfi ugró kábelek
- Férfi> Férfi kábel
Itt az áramkör:

Ezt az ellenállást „lehúzható” ellenállásnak hívják. Segít abban, hogy a Pi szerint valóban a gomb megnyomása valójában a gomb megnyomása legyen. Nem kell ezt használnia, azonban ajánlott, mivel anélkül sok zajt és hamis mérést találhat.
A gomb az általános célú bemeneti kimenet (GPIO) 14. érintkezőjéhez van csatlakoztatva. Bármilyen GPIO tűt használhat, de nézd meg a kitűz először, mivel nem mindegyik irányítható a Pi-től, és modellek között kissé eltérnek.
Most, hogy a gomb csatlakoztatva van, ideje kipróbálni. Hozzon létre egy új fájlt, és mentse el a következő néven:button_test.py“. Adja hozzá ezt a kódot, mentse el, majd futtassa a Terminálon.
import RPi. GPIO mint GPIO. importálási idő GPIO.setmode (GPIO.BCM) # mondja meg a Pi-nek, hogy milyen fejléceket kell használni. GPIO.setup (14, GPIO.IN) # mondja meg a Pi-nek, hogy ez a PIN-kód bemenet, ha True: ha a GPIO.input (14) == True: # keresse meg a nyomógomb nyomtatását: "GOMB MŰKÖDIK!" # napló eredménye time.sleep (0.5) # várjon 0.5 másodpercet.
nyomja meg Control + C hogy leállítsa a forgatókönyvet. Ha minden jól működik, akkor látnia kell a “GOMB MŰKÖDIK!” a terminálon. Figyelem: a Minecraft modulhoz hasonlóan ez a teszt is használja az RPi-t. GPIO és időmodulok. Ezek lehetővé teszik a Pi számára, hogy hozzáférjen a hardver tűkhöz, és hasznos időzítési funkciókat biztosítsanak.
Most hagyjuk befejezni a kód többi részét. Hozzon létre egy új, "super_mine.py“. Íme a kód:
import RPi. GPIO mint GPIO. importálási idő. az mcpi.minecraft importálásából Minecraft mc = Minecraft.create () # hozzon létre Minecraft objektumot GPIO.setmode (GPIO.BCM) # mondja meg a Pi-nek, hogy milyen fejléceket kell használni. GPIO.setup (14, GPIO.IN) # mondja meg a Pi-nek, hogy ez a PIN-kód bemenet, ha True: ha GPIO.input (14) == True: # keresse meg a gombot, nyomja meg x, y, z = mc.player.getPos ( ) # olvassa el a lejátszót helyzet mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # az enyém 10 blokkolja az mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # az enyém 10 blokkolja az time.sleep (0.5) # várakozást 0.5 másodperc.
mc.player.getPos () visszaadja a játékosok aktuális koordinátáit, amelyeket azután x, y és z tárolja. Az setBlocks () A módszer arra szólítja fel a Minecraftot, hogy minden elemet töltsön ki a kezdete és vége között a következő blokkkal. A nulla a levegő blokk-azonosítója. Ezt megváltoztathatja egy másik blokk-azonosítóval, hogy egy területet szilárdan kitöltsön. Meg lehet változtatni a koordinátákat +100 vagy akár +1000 blokkokra is, azonban a Pi küzdhet, ha túl bolond vagy. Figyelje meg, hogy y + 10 ugyanaz mindkét vonalon. Ezt y-10-re változtathatja, ha a blokkokat a föld alatt szeretné eltávolítani.
teleportálás

Ennek a gombnak a másik egyszerű használata a „teleportálás” lehet. A Minecraft Pi Api lehetőséget nyújt a játékos pozíciójának beállítására. A következő kód „teleportálja” a lejátszót egy előre beállított helyre:
mc.player.setPos (0, 0, 0)
Vegye figyelembe, hogy módszere három paramétert elfogad; x, y és z - így ezeket bármire beállíthatja, hogy a lejátszó azonnal teleportálódjon erre a helyre.
Hozzon létre egy másolatot a super_mine fájlról (Fájl> Másolat mentése másként), és módosítsa az if helyett a következővel:
ha a GPIO.input (14) == True: # keresse meg a gombot, nyomja meg az mc.player.setPos (0, 0, 0) # teleportáló lejátszót time.sleep (0.5) # várjon 0,5 másodpercet.
A fájlnak most így kell kinéznie:
import RPi. GPIO mint GPIO. származó mcpi.minecraft import Minecraft. importálási idő mc = Minecraft.create () # létrehozza a Minecraft objektumot GPIO.setmode (GPIO.BCM) # mondja meg a Pi-nek, hogy milyen fejléceket kell használni. GPIO.setup (14, GPIO.IN) # mondja meg a Pi-nek, hogy ez a tű egy bemenet, ha True: ha a GPIO.input (14) == True: # keresse meg a gomb megnyomását mc.player.setPos (0, 0, 0) # teleportáló lejátszó time.sleep (0.5) # várakozás 0.5 másodperc.
Mentés a következőként:teleport.py”És fuss.
Előfordulhat, hogy a lejátszó elakad néhány blokkban, amikor ezt használja, ebben az esetben ezt meg kell tennie állítsa be a koordinátákat egy ismert nyitott térre (a képernyő bal felső sarkában látható az aktuális elhelyezkedés).
Házat építeni

Ennek a gombnak az utolsó feladata egy ház építése. Hasonlóan a fenti gyorsbányászati példához, ez egyszerűen helyettesíti a lejátszót körülvevő blokkokat, hogy házak legyenek. Különböző blokk-azonosítókat kell használni a különböző anyagokhoz (ablak, falak stb.). A dolgok kódolásának megkönnyítése érdekében szilárd blokk jön létre, majd a belsejét eltávolítva (a blokkot levegőre állítva) üreges héjat képeznek. Olyan extrákat adhat hozzá, mint egy ágy vagy ajtó, azonban a Minecraft Pi projekt kissé hiányos, és bár ezek a tárgyak a játékos által elhelyezett módon működnek, a Python használatakor nem csodálatosak.
származó mcpi.minecraft import Minecraft. import RPi. GPIO mint GPIO. importálási idő mc = Minecraft.create () # létrehozza a Minecraft objektumot GPIO.setmode (GPIO.BCM) # mondja meg a Pi-nek, hogy milyen fejléceket kell használni. GPIO.setup (14, GPIO.IN) # mondja meg a Pi-nek, hogy ez a PIN-kód bemenet, ha True: ha GPIO.input (14) == True: x, y, z = mc.player.getPos () mc.setBlocks ( x + 2, y - 1, z + 2, x + 7, y + 3, z + 8, 5) # készítsen shell mc.setBlocks (x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # eltávolítsa az mc.setBlocks belsejét (x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # make ajtóban mc.setBlocks (x + 4, y + 1, z + 8, x + 5, y + 1, z + 8, 102) # make window 1 mc.setBlocks (x + 4, y + 1, z + 2, x + 5, y + 1, z + 2, 102) # make window 2 mc.setBlocks (x + 7, y + 1, z + 4, x + 7, y + 1, z + 6, 102) # make window 3.
Mentés ide:house.py”És fuss. Ha jól van, akkor látnia kell egy kis házat (előfordulhat, hogy meg kell fordulnia, hogy megtalálja). Nagyon egyszerű, egy nyílás és néhány ablak. Az elméletben nincs korlátozás arra, hogy mekkora vagy összetett épületet tudsz építeni.
Készíts egy mini játékot

Ezután készítsünk mini-játékot! Ez nagyon egyszerű lesz, amikor a játékos homoktömbön lép fel, véletlenszerű idő után lávává alakul. Ez egy jó játék, amelyet elkészíthet, mivel megtervezheti a saját szintjét, vagy módosíthatja azt, hogy a dolgok nehezebbé váljanak. Ebben a példában nincs szüksége gombra.
Hozzon létre egy új fájlt, és mentse el a következő néven:mini_game.py“. Íme a kód:
származó mcpi.minecraft import Minecraft. import véletlenszerűen. importálási idő mc = Minecraft.create () # hozzon létre Minecraft objektumot, miközben igaz: x, y, z = mc.player.getPos () pagrindinisunder_player = mc.getBlock (x, y - 1, z), ha pagrindunder_player == 12: # játékos áll a homokban, indítsa el az időzítőt random_time = random.uniform (0,1, 2,5) # generáljon véletlenszerű számot time.sleep (Random_time); # várjon mc.setBlock (x, y - 1, z, 11) # váltson lávává.
Ez a kód jó indító a véletlen() funkció: random.uniform (0,1, 2,5) egy véletlenszerű számot generál 0,1 (1/10 másodperc) és 2,5 (2 1/2 másodperc) között. Ezen számok növelése megkönnyíti a játékot.
Próbáld ki! Álljon egy homoktömbön, és ez hamarosan lává alakul. Ez lehet egy összetettebb játék alapja.
Készíts egy újabb mini játékot

Ennek a játéknak a feltételezése egyszerű - ne álljon a fa padlón, amikor az idő elfogy. A játékos teleportálódik egy „arénába”. Kényszernek kell állniuk, amíg a játék meg nem kezdődik. Miután elindította, a padló vízre fordul, ha az időzítő elfogy. A játékosnak a biztonságos zónában kell állnia (gyémánt tömbök) a túléléshez. Minden szint csökkenti az időzítőt egy másodperccel. Minden sikeres szint után a biztonságos terület nagyobb lesz. Nézze meg az alábbi kódot:
importálási idő. import véletlenszerűen. az mcpi.minecraft importálásából Minecraft mc = Minecraft.create () # hozzon létre Minecraft Object # tiszta területet. mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # hozzon létre arénahéjat. mc.setBlocks (0, 0, 0, 25, 10, 25, 17) # üreges arénában. mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # a játékos áthelyezése az arénába. mc.player.setPos (14, 25, 20) # teleportáló #, hogy azok maradjanak. # teleportáló játékos, hogy kezdje a pozícióját minden tizedik másodpercenként. # csináld ezt 5 másodpercig, majd indítsd el a játékot. time.sleep (2) total_wait = 0. mc.postToChat ("Várakozás az indításra") míg total_wait <5: mc.player.setPos (14, 1, 20) # teleportáló lejátszó time.sleep (0,1) total_wait + = 0,1 mc.postToChat ("BEGIN!") # 10 szint. a (10) tartományban lévő szintre: x, y, z = mc.player.getPos () level_time = 10 - level # csökkentse az időt 1 másodpercenként minden szinten mc.postToChat ("Level -" + str (+1 szint) + "indulás") # építési padló mc.setBlocks (0, 0, 0, 25, 0, 25, 17) # biztonságos terület kialakítása safe_area_start = random.uniform (0, 22) safe_area_end = random.uniform (0, 22) mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) eltelt_idő = 0 míg eltelt_idő <10: x, y, z = mc.player.getPos () time.sleep (0.25) eltelt_time + = 0.25 # check player továbbra is a padlón van, ha y <0.75: mc.postToChat ("Game Vége ") szünet; egyébként: # távolítsa el az mc.setBlocks padlót (-10, 0, -10, 25, 0, 25, 8) # tegye vissza a biztonságos területet mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57) time.sleep (2.5) folytassa a szünetet.
Mentés ide:mini_game_2.pyÉs indítsd el.
A Pi 2-nek némi teljesítménybeli problémája van a Minecraft futtatása közben. A központi feldolgozó egység (CPU) felhasználási grafikonja (jobb felső sarok) soha nem mutat nagy terhelést, ezért ennek a fejlesztők rossz tervezésére és optimalizálására kell vezetnie. Ezek a problémák nem kapcsolódnak a futó kódhoz (mivel továbbra is fennállnak, ha a Python nem fut), ám ezeket a mini játékot összetették. Ha a Pi valóban küzd, érdemes csökkenteni az arénát vagy tedd be a Pi-t Nem elég lé? Szorítsa meg a málna-pi-t túlzárássalHa van olyan hardver, amely 2012-ben megjelent, és amelybe valószínűleg beleszeret, akkor az az édes-cukoros Raspberry Pi, az Egyesült Királyságban tervezett és épített mini számítógép, amelyet az egész ... Olvass tovább .
Gyémántérzékelő

Csináljunk egy újabb áramkört. Ez egy fénykibocsátó diódával (LED) világít, ha alatta gyémántok vannak (15 tömbön belül). Itt van, amire szüksége van:
- 1 x kenyérvágódeszka
- 1 x LED
- 1 x 220 ohm ellenállás
- Nő> férfi ugró kábelek
- Férfi> Férfi kábel
Itt az áramkör:

Csatlakoztassa az anódot (hosszú láb) a GPIO 14. érintkezőhöz. Ez a tű úgy viselkedik, mint + 5v. Csatlakoztassa a katódot (rövid láb) a földhöz.
Használtam egy olcsó ércjátékot, és úgy módosítottam, hogy eltávolítottam a hátsó burkolatot és az elektronikát, majd egy LED-et tettem alá. Könnyedén megteheti ezt állandóvá forró ragasztóval vagy valami hasonlóval.

A kód mentésediamonds.py“:
import RPi. GPIO mint GPIO. importálási idő. az mcpi.minecraft importálásából Minecraft mc = Minecraft.create () # Minecraft objektum létrehozása led_pin = 14 # tárolja a GPIO PIN-számot a GPIO.setmode (GPIO.BCM) # mondja meg a Pi-nek, hogy milyen fejléceket kell használni. GPIO.setup (14, GPIO.OUT) # mondja meg a Pi-nek, hogy ez a pin egy kimenet, miközben True: # ismételje meg határozatlan ideig x, y, z = mc.player.getPos () i-re a (15) tartományban: # nézzen meg minden blokkolja, amíg 15. blokk, ha mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # kapcsolja be a LED-et time.sleep (0,25) # várjon GPIO.output (led_pin, False) # turn LED off time.sleep (0.25) # várjon.
Ha egy gyémánt érctömb van a lejátszó alatt (15 tömbön belül), a jelzőfény villog.
Készítettél valami hírt a Minecraft Pi-vel? Tudassa velünk a megjegyzésekben, hogy mit tettél, vagy milyen messzire tettél el a játékokban.
Joe számítógépes ismeretek diplomáját szerezte az Egyesült Királyság Lincolni Egyetemen. Professzionális szoftverfejlesztő, és amikor nem repül drónokkal és nem ír zenét, gyakran találkozhat fényképezéssel vagy videó készítésével.