Opi Pythonia ja elektroniikkaa Minecraft Pi Editionin avulla

Opi Pythonia ja elektroniikkaa Minecraft Pi Editionin avulla

Oletko aina halunnut oppia koodaamaan, mutta et tiennyt mistä aloittaa? Opi hallitsemaan Minecraftia Raspberry Pi -laitteella Pythonin ja yksinkertaisen elektroniikan avulla. Tässä lopputulos:





Tarvitset Pi 2: n tai uudemman tähän projektiin, ja vaikka voit suorittaa suurimman osan näistä tehtävistä komentorivillä Secure Shell (SSH) -yhteyden kautta, tämä opetusohjelma keskittyy koodaukseen suoraan Pi: llä.





Oletko uusi Minecraftissa? Älä huoli - tässä meidän Minecraftin aloittelijan opas .





Johdatus Minecraft Pi: hen

Minecraft for the Raspberry Pi on kehitetty oppimiseen ja tinkimiseen (ja se on ilmainen). Sen mukana tulee sovellusohjelmointirajapinta (API), jonka avulla koodi voi helposti puhua Minecraftille. Se on loistava oppia koodaamaan Pythonissa ja aloittaa elektroniikka.

Mikä on Python?

Python on ohjelmointikieli. se on tulkittu , mikä tarkoittaa, että kun suoritat Python -tiedoston tai -ohjelman, tietokoneen on ensin tehtävä pieni työ tiedostoon. Haittapuolia ovat, että sitä voidaan pitää hitaana verrattuna käännettyihin kieliin [Broken URL Removed].



Tulkittujen kielten etuja ovat koodauksen nopeus ja ystävällisyys. Sinun ei tarvitse kertoa tietokoneelle mitä tietoja, jotka haluat tallentaa, vain että haluat tallentaa jotain ja tietokone selvittää, mitä tehdä. Tietysti on poikkeuksia, ja tämä on hieman yksinkertaistettu näkemys, mutta ohjelmoinnin pitäisi olla hauskaa! Jos ryhdyt tutkimaan monimutkaisia ​​teknisiä yksityiskohtia, siitä voi tulla hieman työlästä.

Python erottaa isot ja pienet kirjaimet. Tämä on tärkeää tietää, koska Python ei tunnista esineitä vaikka ne olisi kirjoitettu oikein jos tapaus on väärä. 'Dosomething ()' ei toimi, jos menetelmän todellinen nimi on 'DoSomething ()'. Python käyttää myös sisennystä . Muut ohjelmointikielet eivät välttämättä välitä siitä, kuinka monta sisennystä koodissasi on, kun taas Python tekee hoito. Sisennyksiä käytetään kertomaan Pythonille, mihin koodi kuuluu. Muut kielet voivat käyttää 'Curly Braces' ({}) -koodia ryhmittelyyn - Python ei käytä näitä. Python käyttää tiivisteitä (#) kommentteihin, ja kommentteja käytetään kertomaan muille kehittäjille tai koodia katsoville ihmisille, mitä tietty osa tekee tai miksi sitä tarvitaan. Python ei huomioi mitään hajautuksen jälkeen.





Lopuksi Pythonista on kaksi pääversiota - Python 2.7.x ja Python 3.x. Näiden kahden välillä on joitain eroja ( mitä eroja on? ). Tämä opetusohjelma käyttää Python 3: ta.

Alkuasennus

Pi: n tarjoaminen on jo Raspbianin asennus ja käyttö , alkuasetuksia ei tarvita paljon.





Avaa terminaali ( Valikko> Lisävarusteet> Pääte ) ja suorita tämä komento. On aina hyvä käytäntö pitää arkistoluettelo ajan tasalla, ja tämä lataa uusimman luettelon ohjelmista (se ei lataa itse ohjelmia, mikä auttaa Pi: tä tietämään, mitä ohjelmia kutsutaan ja mistä ne löytyvät).

sudo apt-get update

Päivitä nyt Pi (tämä voi viedä hetken):

sudo apt-get upgrade

Python ja Minecraft Pi on jo asennettu, mutta jos Minecraft Pi: tä ei jostain syystä ole asennettu, se on helppo asentaa:

sudo apt-get install minecraft-pi

Siirry asiakirjoihin ja luo uusi kansio nimeltä Minecraft:

cd Documents/
mkdir Minecraft

Voit tarkastella tämän uuden kansion sisältöä:

ls

Tässä on vinkki - jos aloitat kirjoittamisen ja painat TAB -näppäintä, komentorivi yrittää täydentää lausunnon automaattisesti puolestasi.

Voit tarkastella polkua nykyiseen hakemistoon käyttämällä pwd -tiedostoa, joka tarkoittaa tulostustyötä:

pwd

Käynnistä Minecraft siirtymällä osoitteeseen Valikko> Pelit> Minecraft Pi . Tarvitset tämän käynnin, mutta palaat siihen myöhemmin.

Avaa Python 3 osoitteesta Valikko> Ohjelmointi> Python 3 (IDLE) . Tämä ohjelma tarjoaa sinulle tavan suorittaa Python -komentoja ja kirjoittaa ohjelmia.

Nyt voit kirjoittaa Python -komennot tähän, mutta se ei ole kovin käytännöllistä. Mene Tiedosto> Uusi tiedosto ja sitten Tiedosto> Tallenna ja tallenna tämä aiemmin luomaasi kansioon. ( Asiakirjat> Minecraft ). Kutsutaan sitä ' hello_world.py ''. Sinun ei tarvitse käyttää .py -laajennusta, se lisätään automaattisesti, mutta se on hyvä käytäntö.

Jos vaihdat takaisin päätelaitteeseen ja siirryt Minecraft -kansioon, sinun pitäisi nähdä juuri luomasi tiedosto:

cd Minecraft/
ls

Voit suorittaa tämän tiedoston seuraavasti:

python hello_world

Huomaa, kuinka 'python' on pieniä kirjaimia. Tämän on oltava ennen tiedostonimeä, koska se kertoo Pi: lle, että seuraava tiedosto on Python, joten se tulisi suorittaa sellaisenaan.

Vaihda takaisin Python -editoriin ja kirjoita:

print 'Hello, World!'

Tallenna tämä tiedosto ja suorita se uudelleen - sinun pitäisi nyt nähdä 'Hei, maailma!' näkyvät komentorivillä - siisti! Tulostuskomento käskee Pythonia antamaan seuraavan tekstin lainausmerkeissä. Tämä on hyvä, mutta ei hirveän hyödyllinen Minecraftille, linkitetään se:

from mcpi.minecraft import Minecraft
mc = Minecraft.create()
mc.postToChat('Hello, World!')

Jos tallennat ja suoritat tämän tiedoston, sinun pitäisi nähdä 'Hei, maailma!' näkyy Minecraft -pelissä. Jakakaamme koodi:

from mcpi.minecraft import Minecraft

Tämä rivi kertoo Pythonille, että haluat käyttää koodia toisesta tiedostosta. Tämä mcpi.minecraft -tiedosto on kehitetty mahdollistamaan Minecraftin helppo hallinta.

mc = Minecraft.create()

Tämä rivi luo objektin nimeltä 'mc' (Minecraft). Sinun on luotava tämä, jotta voit kommunikoida Minecraft -peliin - pelkkä tiedoston sisällyttäminen ei riitä.

mc.postToChat('Hello, World!')

Lopuksi tämä rivi käskee Minecraftia kirjoittamaan tekstiä chattiin. Kokeile vaihtaa 'Hei, maailma!' johonkin muuhun ja katso mitä tapahtuu, mutta muista sisällyttää molemmat lainausmerkit. Jos sinulla on ohjelmisto -ongelmia, nämä ovat joitain yleisiä Python- ja Minecraft Pi -virheitä:

  • AttributeError - tämä on kirjoitusvirhe, kuten pint tai prnt tulostamisen sijaan
  • NameError: nimeä Minecraft ei ole määritelty - muista tuoda tarvitsemasi moduulit
  • NameVirhe: nimeä 'true' ei ole määritetty - Python erottaa isot ja pienet kirjaimet, vaihda arvoon 'True'
  • socket.error: [Errno 111] Yhteys hylätty - Varmista, että Minecraft on käynnissä

Projektit

Nyt kun tiedät Pythonin ja Minecraftin perusteet, tehkää hienoja projekteja. Kaikki koodit voidaan ladata Githubista.

Automaattinen sillanrakentaja

Tämä ohjelma rakentaa tehokkaasti sillan veden yli. Kun pelaaja lähestyy vesistöä, ohjelma muuntaa useita lohkoja kiviksi. Koska Minecraft käyttää koordinaattijärjestelmää, soittimen sijainnin ja sen ympärillä olevien lohkojen tyypin saaminen on erittäin helppoa. Minecraft Pi on hieman rajoitettu, joten useita eri lohkoja ei voi päivittää kerralla. Voit kuitenkin helposti koodata tämän käyttäytymisen itse.

Luo uusi tiedosto ( Tiedosto> Uusi tiedosto ) ja tallenna se nimellä ' bridge_builder.py ''.

from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
while True:
x, y, z = mc.player.getPos() # store player position

# store the surrounding blocks
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)
if a == 8 or a == 9 or b == 8 or b == 9 or c == 8 or c == 9 or d == 8 or d == 9:
# 8 or 9 is water. Set surrounding blocks on floor to a solid (stone) if water is found
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)

Huomaa, kuinka y -arvo todella katsoo y - 1. Tämä on lattiataso. Jos arvoa y käytettäisiin, käsikirjoitus etsisi lohkoja noin polven tasolta - se ei toimisi kovin hyvin! Mc.getBlock () palauttaa annetun koordinaatin lohkon id. Koska x, y ja z ovat pelaajan koordinaatit, voit lisätä tai vähentää niistä saadaksesi paikkoja pelaajan ympärille. Sinun ei tarvitse käyttää x-, y- ja z -arvoja, voit käyttää mitä tahansa lukua, mutta et ehkä tiedä, miten kyseinen lohko liittyy soittimeen - on parempi käyttää arvoja suhteessa pelaajaan. Suorita tämä tiedosto komentoriviltä ja katso mitä tapahtuu.

Sinun pitäisi nähdä, että pieni maa -alue muuttuu kiveksi, kun pelaaja saavuttaa vesimuodostuman. Se ei ole hienoa - pystyt kävelemään tarpeeksi nopeasti aiheuttaaksesi ongelman. Voit ratkaista tämän muuttamalla suuremman vesimäärän maaksi. Mc.setBlocks () -menetelmän viimeinen osa on lohkon tunnus. Yksi on kiven lohkon tunnus. Voit vaihtaa tämän puuhun, ruohoon tai mihin tahansa. Jos haluat, voit helposti muuttaa tämän monimutkaiseksi - ehkä riippusillaksi!

Super Mining -painike

Tämä esimerkki tekee lyhyen kaivostyön. Se koostuu fyysisestä painikkeesta, jota painettaessa louhitaan 10 lohkoa kuutioituna. Aloitetaan painikkeella. Arduinon painikkeiden tapaan tarvitset pienen määrän elektroniikkaa, jotka kaikki löytyvät peruskäynnistyspaketista:

  • 1 x leipälauta
  • 1 x hetkellinen kytkin
  • 1 x 220 ohmin vastus
  • Naaras> uroshyppykaapelit
  • Uros> Uroshyppykaapelit

Tässä piiri:

Pi-Button-yhteys

Tätä vastusta kutsutaan 'alasvetovastaukseksi'. Se auttaa varmistamaan, että mitä Pi ajattelee, että painiketta painetaan, todella sitä painiketta painetaan. Sinun ei tarvitse käyttää tätä, mutta se on suositeltavaa, koska saatat löytää paljon melua ja vääriä lukemia ilman sitä.

Painike on kytketty GPIO (General Purpose Input Output) -nastaan ​​14. Voit käyttää mitä tahansa GPIO -nastaista, mutta katso Sokka irti ensinnäkin, koska ne eivät ole kaikki ohjattavissa Pi: stä, ja ne vaihtelevat hieman mallien välillä.

Nyt kun painike on kytketty, on aika testata sitä. Luo uusi tiedosto ja tallenna se nimellä button_test.py ''. Lisää tämä koodi, tallenna se ja suorita se sitten terminaalissa.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
print 'BUTTON WORKS!' # log result
time.sleep(0.5) # wait 0.5 seconds

Lehdistö Control + C pysäyttääksesi käsikirjoituksen. Jos kaikki toimii oikein, sinun pitäisi nähdä 'PAINIKKEET TOIMII!' terminaalissa. Huomaa, miten tämä testi käyttää Minecraft -moduulin tavoin RPi.GPIO- ja aikamoduuleja. Niiden avulla Pi voi käyttää laitteiston nastoja ja tarjoaa hyödyllisiä ajoitustoimintoja.

Lopetetaan nyt loput koodista. Luo uusi tiedosto nimeltä ' super_mine.py ''. Tässä koodi:

import RPi.GPIO as GPIO
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
x, y, z = mc.player.getPos() # read the player position
mc.setBlocks(x, y, z, x + 10, y + 10, z + 10, 0) # mine 10 blocks
mc.setBlocks(x, y, z, x - 10, y + 10, z - 10, 0) # mine 10 blocks
time.sleep(0.5) # wait 0.5 seconds

mc.player.getPos () palauttaa pelaajien nykyiset koordinaatit, jotka tallennetaan sitten x, y ja z. The setBlocks () menetelmä käskee Minecraftin täyttämään kaikki lohkot alkamisen ja lopun välillä seuraavalla lohkolla. Nolla on ilman lohkon tunnus. Voit muuttaa tämän toiseksi lohkotunnukseksi, jotta alue täyttyy kiinteästi. Voit myös muuttaa koordinaatit arvoksi +100 tai jopa +1 000 lohkoa, mutta Pi voi alkaa kamppailemaan, jos tulet liian hulluksi. Huomaa, kuinka y + 10 on sama molemmilla riveillä. Voit muuttaa tämän arvoksi y - 10, jos haluat poistaa lohkot maan alla.

Teleportointi

Toinen yksinkertainen käyttö tälle painikkeelle voisi olla 'teleportointi'. Minecraft Pi Api tarjoaa tavan asettaa pelaajan sijainti. Seuraava koodi 'teleporttaa' soittimen esiasetettuun paikkaan:

mc.player.setPos(0, 0, 0)

Huomaa, että hänen menetelmänsä hyväksyy kolme parametria; x, y ja z - joten voit asettaa nämä mihin tahansa, jotta soitin soitetaan välittömästi kyseiseen paikkaan.

Luo kopio super_mine -tiedostosta ( Tiedosto> Tallenna kopio nimellä ) ja muokkaa sitä korvaamalla if seuraavalla:

if GPIO.input(14) == True: # look for button press
mc.player.setPos(0, 0, 0) # teleport player
time.sleep(0.5) # wait 0.5 seconds

Tämän tiedoston pitäisi nyt näyttää tältä:

import RPi.GPIO as GPIO
from mcpi.minecraft import Minecraft
import time
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if GPIO.input(14) == True: # look for button press
mc.player.setPos(0, 0, 0) # teleport player
time.sleep(0.5) # wait 0.5 seconds

Tallenna se nimellä ' teleport.py 'ja juokse.

Saatat huomata, että pelaaja jumittuu joidenkin lohkojen sisään, kun käytät tätä, jolloin sinun on säädettävä koordinaatit tunnettuun avoimeen tilaan (näytön vasemmassa yläkulmassa näkyy nykyinen sijaintisi).

Rakentaa talo

Tämän painikkeen viimeinen tehtävä on rakentaa talo. Aivan kuten yllä oleva pikakaivosesimerkki, tämä yksinkertaisesti korvaa soittimen ympäröivät lohkot talon rakentamiseksi. Eri materiaaleille (ikkunat, seinät jne.) Käytetään erilaisia ​​lohkotunnuksia. Koodaamisen helpottamiseksi luodaan kiinteä lohko ja poistetaan sitten sisäpuoli (asetetaan lohko ilmaan), jolloin syntyy ontto kuori. Voit lisätä lisäominaisuuksia, kuten sängyn tai oven, mutta Minecraft Pi -projekti on hieman epätäydellinen, ja vaikka nämä esineet toimivat pelaajan asettamina, ne eivät ole loistavia Pythonia käytettäessä.

from mcpi.minecraft import Minecraft
import RPi.GPIO as GPIO
import time
mc = Minecraft.create() # create Minecraft Object
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.IN) # tell the Pi this pin is an input
while True:
if 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) # make shell
mc.setBlocks(x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # remove inside
mc.setBlocks(x + 2, y, z + 5, x + 2, y + 1, z + 5, 0) # make doorway
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

Tallenna tämä nimellä ' house.py 'ja juokse. Kun kaikki on hyvin, sinun pitäisi nähdä pieni talo (saatat joutua kääntymään ympäri löytääksesi sen). Se on hyvin yksinkertainen, aukko ja jotkut ikkunat. Teoriassa ei ole rajaa kuinka suuri tai monimutkainen rakennus voit rakentaa.

Tee minipeli

Seuraavaksi tehdään minipeli! Tämä on melko yksinkertaista, kun pelaaja astuu hiekkakivelle, se muuttuu laavaksi satunnaisen ajan kuluttua. Tämä on hyvä peli tehdä, sillä voit suunnitella omat tasosi tai muokata sitä vaikeuttaaksesi asioita. Et tarvitse painiketta tässä esimerkissä.

Luo uusi tiedosto ja tallenna se nimellä mini_game.py ''. Tässä koodi:

from mcpi.minecraft import Minecraft
import random
import time
mc = Minecraft.create() # create Minecraft Object
while True:
x, y, z = mc.player.getPos()
block_under_player = mc.getBlock(x, y - 1, z)

if block_under_player == 12:
# player standing on sand, start the timer
random_time = random.uniform(0.1, 2.5) # generate random number
time.sleep(random_time); # wait
mc.setBlock(x, y - 1, z, 11) # turn it into lava

Tämä koodi on hyvä alku satunnainen () toiminto: satunnainen. yhtenäinen (0,1, 2,5) luo satunnaisluvun välillä 0,1 (1/10 sekunti) - 2,5 (2 1/2 sekuntia). Näiden lukujen lisääminen helpottaa peliä.

Kokeile! Seiso hiekkakiven päällä, ja se muuttuu pian laavaksi. Tämä voi olla monimutkaisemman pelin perusta.

Tee toinen minipeli

Tämän pelin lähtökohta on yksinkertainen - älä seiso puulattialla, kun aika loppuu. Pelaaja teleportoidaan 'areenalle'. Heidät pakotetaan seisomaan paikallaan, kunnes peli alkaa. Käynnistyksen jälkeen lattia muuttuu veteen, kun ajastin loppuu. Pelaajan on seisottava turvavyöhykkeellä (timanttipalat) selviytyäkseen. Jokainen taso lyhentää ajastinta sekunnilla. Jokaisen onnistuneen tason jälkeen turvallinen alue kasvaa. Tarkista alla oleva koodi:

import time
import random
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
# clear area
mc.setBlocks(-10, 1, -10, 25, 5, 25, 0)
# create arena shell
mc.setBlocks(0, 0, 0, 25, 10, 25, 17)
# hollow out arena
mc.setBlocks(1, 1, 1, 24, 10, 24, 0)
# move player to arena
mc.player.setPos(14, 25, 20) # teleport player
# make them stay put
# teleport player to start position every 1/10th second.
# do this for 5 seconds then start the game
time.sleep(2)
total_wait = 0
mc.postToChat('Waiting to Start')
while total_wait <5:
mc.player.setPos(14, 1, 20) # teleport player
time.sleep(0.1)
total_wait += 0.1
mc.postToChat('BEGIN!')
# 10 levels
for level in range(10):
x, y, z = mc.player.getPos()
level_time = 10 - level # reduce time by 1 second for each level
mc.postToChat('Level - ' + str(level + 1) + ' start')
# build floor
mc.setBlocks(0, 0, 0, 25, 0, 25, 17)
# make safe area
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)
elapsed_time = 0
while elapsed_time <10:
x, y, z = mc.player.getPos()
time.sleep(0.25)
elapsed_time += 0.25
# check player is still on floor
if y <0.75:
mc.postToChat('Game Over')
break;
else:
# remove floor
mc.setBlocks(-10, 0, -10, 25, 0, 25, 8)
# put safe area back
mc.setBlocks(safe_area_start, 0, safe_area_end, safe_area_start + level, 0, safe_area_end + level, 57)
time.sleep(2.5)
continue
break

Tallenna tämä nimellä ' mini_peli_2.py 'ja anna sen ajaa.

Pi 2: lla on joitain suorituskykyongelmia Minecraftin käytön aikana. Keskusyksikön (CPU) käyttökaavio ( oikeassa yläkulmassa ) ei koskaan näytä suurta kuormitusta, joten tämän täytyy johtua kehittäjien huonosta suunnittelusta ja optimoinnista. Nämä ongelmat eivät liity koodin suorittamiseen (koska ne jatkuvat, kun Python ei ole käynnissä), mutta tämä minipeli pahentaa niitä. Jos Pi on todella vaikeuksissa, voit halutessasi pienentää areenan kokoa tai ylikellottaa Pi: si.

mikä jakelusovellus maksaa eniten

Timanttitunnistin

Tehdään toinen piiri. Tämä käyttää valodiodia (LED) syttymään, kun alla on timantteja (15 lohkon sisällä). Tässä on mitä tarvitset:

  • 1 x leipälauta
  • 1 x LED
  • 1 x 220 ohmin vastus
  • Naaras> uroshyppykaapelit
  • Uros> Uroshyppykaapelit

Tässä piiri:

Liitä anodi (pitkä jalka) GPIO -nastaan ​​14. Tämä nasta toimii kuin +5v. Liitä katodi (lyhyt jalka) maahan.

Olen käyttänyt halpaa malmilelua ja muokannut sitä poistamalla takakannen ja elektroniikan, asensin sitten LEDin sen alle. Voit tehdä tämän pysyvästi kuumaliimalla tai vastaavalla.

Tallenna tämä koodi nimellä timantit.py ':

import RPi.GPIO as GPIO
import time
from mcpi.minecraft import Minecraft
mc = Minecraft.create() # create Minecraft Object
led_pin = 14 # store the GPIO pin number
GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use
GPIO.setup(14, GPIO.OUT) # tell the Pi this pin is an output
while True:
# repeat indefinitely
x, y, z = mc.player.getPos()
for i in range(15):
# look at every block until block 15
if mc.getBlock(x, y - i, z) == 56:
GPIO.output(led_pin, True) # turn LED on
time.sleep(0.25) # wait
GPIO.output(led_pin, False) # turn LED off
time.sleep(0.25) # wait

Kun soittimen alla on timanttimalmikappale (15 lohkon sisällä), valo vilkkuu.

ThinkGeek Minecraft Light -Up Blue Stone -timanttimalmi - varmasti pitää sikot poissa OSTA NYT AMAZONISTA

Oletko tehnyt jotain siistiä Minecraft Pi: n kanssa? Kerro kommenteissa, mitä olet tehnyt tai kuinka paljon olet saavuttanut peleissä.

Toivomme, että pidät suosittelemistamme ja keskusteltavista kohteista! MUOlla on kumppanuus- ja sponsoroituja kumppanuuksia, joten saamme osan joidenkin ostojesi tuloista. Tämä ei vaikuta maksamaasi hintaan ja auttaa meitä tarjoamaan parhaat tuotesuositukset.

Jaa Jaa Tweet Sähköposti Kannattaako päivittää Windows 11: een?

Windows on suunniteltu uudelleen. Mutta riittääkö se vakuuttamaan sinut siirtymään Windows 10: stä Windows 11: een?

Lue seuraava
Liittyvät aiheet
  • tee-se-itse
  • Ohjelmointi
  • Minecraft
  • Raspberry Pi
  • Elektroniikka
  • Python
Kirjailijasta Joe Coburn(136 artikkelia julkaistu)

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta Iso -Britanniasta. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä droneilla tai kirjoita musiikkia, hänet voidaan usein ottaa valokuvista tai videoista.

Lisää Joe Coburnilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi