Reklama
Czy zawsze chciałeś nauczyć się kodować, ale nie wiedziałeś, od czego zacząć? Dowiedz się, jak kontrolować Minecraft na Raspberry Pi za pomocą Pythona i prostej elektroniki. Oto wynik końcowy:
Będziesz potrzebował Pi 2 lub nowszego do tego projektu i chociaż możesz wykonać większość tych zadań za pomocą wiersza poleceń za pośrednictwem Secure Shell (SSH), ten samouczek będzie koncentrował się na kodowaniu bezpośrednio na Pi.
Nowy w Minecraft? Nie martw się - oto nasze Przewodnik dla początkujących Minecraft (Latecomer) Przewodnik dla początkujących po MinecraftJeśli jednak spóźniasz się na imprezę, nie martw się - ten obszerny przewodnik dla początkujących Cię obejmuje. Czytaj więcej .
Wprowadzenie do Minecraft Pi

Minecraft dla Raspberry Pi został opracowany do nauki i majsterkowania (i jest bezpłatny). Jest wyposażony w interfejs programowania aplikacji (API), który umożliwia kodowi łatwą komunikację z Minecraft. Doskonale nadaje się do nauki programowania w Pythonie, a także rozpoczęcie pracy z elektroniką
Elektronika dla początkujących: 10 umiejętności, które musisz znaćWielu z nas nigdy nawet nie dotknęło lutownicy - ale tworzenie rzeczy może być niezwykle satysfakcjonujące. Oto dziesięć podstawowych umiejętności związanych z elektroniką dla majsterkowiczów, które pomogą Ci zacząć. Czytaj więcej .Co to jest Python?
Pyton jest językiem programowania. To jest interpretowane, co oznacza, że po uruchomieniu pliku lub programu w języku Python komputer musi najpierw trochę popracować nad plikiem. Minusem jest to, że można go uznać za powolny w porównaniu do skompilowane języki.
Zaletami tłumaczonych języków są szybkość kodowania i ich łatwość. Nie musisz informować komputera co dane, które chcesz przechowywać, po prostu to, że chcesz coś zapisać, a komputer podejmie decyzję, co zrobić. Istnieją oczywiście wyjątki i jest to nieco uproszczony pogląd, jednak programowanie powinno być zabawne! Jeśli zaczniesz kopać w skomplikowane szczegóły techniczne, może to być trochę pracochłonne.
W Pythonie rozróżniana jest wielkość liter. Jest to ważne, ponieważ Python nie rozpoznaje obiektów nawet jeśli są poprawnie napisane jeśli sprawa jest zła. „Dosomething ()” nie będzie działać, jeśli metoda faktycznie nazywa się „DoSomething ()”. Python używa również wcięć. Inne języki programowania mogą nie mieć znaczenia, ile wcięć ma Twój kod, podczas gdy Python robi opieka. Wcięcia służą do poinformowania Python, gdzie należy kod. Inne języki mogą używać „Nawiasów klamrowych” ({}) do grupowania kodu - Python ich nie używa. Python używa skrótu (#) do komentowania, a komentarze służą do informowania innych programistów lub osób przyglądających się kodowi, co robi konkretna część lub dlaczego jest ona potrzebna. Python ignoruje wszystko po skrócie.
Wreszcie istnieją dwie główne wersje Pythona - Python 2.7.x i Python 3.x. Istnieją pewne różnice między nimi (jakie są różnice?). W tym samouczku będzie używany język Python 3.
Początkowe ustawienia
Podanie twojego Pi jest już skonfiguruj i uruchom Raspbian Jak zainstalować system operacyjny na Raspberry PiOto jak zainstalować system operacyjny na Raspberry Pi i jak sklonować idealną konfigurację do szybkiego odzyskiwania po awarii. Czytaj więcej , nie trzeba dużo początkowej konfiguracji.
Otwórz terminal (Menu> Akcesoria> Terminal) i uruchom to polecenie. Zawsze dobrą praktyką jest aktualizowanie listy repozytoriów, a to spowoduje pobranie najnowszej listy programów (nie pobierze samych programów, pomaga to Pi wiedzieć, jakie programy są wywoływane i gdzie je znaleźć im).
sudo apt-get update.
Teraz zaktualizuj Pi (może to chwilę potrwać):
sudo apt-get upgrade.
Python i Minecraft Pi są już zainstalowane, jednak jeśli Minecraft Pi nie zostanie zainstalowany z jakiegokolwiek powodu, jest prosty w instalacji 5 sposobów instalacji oprogramowania na Raspberry PiAby cokolwiek zrobić z Raspberry Pi, musisz wiedzieć, jak zainstalować system operacyjny i oprogramowanie, aby na nim działać. Jeśli jesteś nowy w Linuksie, może to być zniechęcające. Czytaj więcej :
sudo apt-get install minecraft-pi
Przejdź do dokumentów i utwórz nowy folder o nazwie „Minecraft”:
Dokumenty cd / mkdir Minecraft
Możesz wyświetlić zawartość tego nowego folderu:
ls
Oto wskazówka - jeśli zaczniesz pisać i naciśniesz klawisz TAB, linia poleceń podejmie próbę automatycznego uzupełnienia instrukcji.
Możesz sprawdzić ścieżkę do bieżącego katalogu za pomocą pwd, co oznacza Print Working Directory:
pwd
Uruchom Minecraft, przechodząc do Menu> Gry> Minecraft Pi. Będziesz potrzebował tego, ale wróci do niego później.
Otwórz Python 3 z Menu> Programowanie> Python 3 (IDLE). Ten program umożliwia uruchamianie poleceń w języku Python i pisanie programów.
Teraz możesz wpisać tutaj swoje polecenia w języku Python, ale nie jest to zbyt praktyczne. Iść do Plik> Nowy plik i wtedy Plik> Zapisz i zapisz to w utworzonym wcześniej folderze. (Dokumenty> Minecraft). Nazwijmy to „hello_world.py“. Nie musisz używać rozszerzenia .py, zostanie ono dodane automatycznie, ale jest to dobra praktyka.
Jeśli wrócisz do terminala i przejdziesz do folderu Minecraft, powinieneś zobaczyć właśnie utworzony plik:
cd Minecraft / ls
Możesz uruchomić ten plik w następujący sposób:
python hello_world
Zauważ, że „python” jest małymi literami. Musi to być przed nazwą pliku, ponieważ informuje Pi, że następujący plik to Python, więc należy go wykonać jako taki.
Wróć do edytora Python i wpisz:
drukuj „Witaj, świecie!”
Zapisz ten plik i uruchom go ponownie - powinieneś teraz zobaczyć „Witaj, świecie!” pojawiają się w wierszu poleceń - schludnie! Polecenie print po prostu mówi Pythonowi, aby wyświetlał następujący tekst w podwójnych cudzysłowach. Jest to dobre, ale niezbyt przydatne dla Minecraft, połączmy to:
z importu mcpi.minecraft Minecraft mc = Minecraft.create () mc.postToChat („Witaj, świecie!”)
Teraz, jeśli zapiszesz i uruchomisz ten plik, powinieneś zobaczyć „Witaj, świecie!” pojawiają się w grze Minecraft. Podzielmy kod:
z importu mcpi.minecraft Minecraft
Ta linia mówi Pythonowi, że chcesz użyć kodu z innego pliku. Ten plik mcpi.minecraft został opracowany, aby umożliwić łatwą kontrolę nad Minecraft.
mc = Minecraft.create ()
Ta linia tworzy obiekt o nazwie „mc” (Minecraft). Musisz to stworzyć, aby umożliwić komunikację z grą Minecraft - nie wystarczy tylko dołączyć plik.
mc.postToChat („Witaj, świecie!”)
Wreszcie, ta linia mówi Minecraftowi, aby napisał jakiś tekst na czacie. Spróbuj zmienić „Witaj, świecie!” na coś innego i zobacz, co się stanie, ale pamiętaj, aby uwzględnić oba cudzysłowy. Jeśli masz problemy z oprogramowaniem, są to niektóre typowe błędy Python i Minecraft Pi:
- AttributeError - jest to literówka, taka jak litera lub prnt zamiast print
- NameError: nazwa „Minecraft” nie jest zdefiniowana - pamiętaj, aby zaimportować potrzebne moduły
- NameError: nazwa „true” nie jest zdefiniowana - w Pythonie rozróżniana jest wielkość liter, zmień na „True”
- socket.error: [Errno 111] Połączenie odrzucone - Upewnij się, że Minecraft działa
Projektowanie
Teraz, gdy znasz podstawy Python i Minecraft, zróbmy fajne projekty. Cały kodek można pobrać z Github.
Zautomatyzowany konstruktor mostów

Ten program skutecznie zbuduje most nad wodą. Gdy gracz zbliży się do akwenu, program przekształci kilka bloków w kamień. Ponieważ Minecraft korzysta z układu współrzędnych, bardzo łatwo jest ustalić lokalizację gracza wraz z rodzajem bloków wokół gracza. Minecraft Pi jest nieco ograniczony, więc nie można zbiorczo aktualizować wielu różnych bloków. Możesz jednak łatwo zakodować to zachowanie samodzielnie.
Utwórz nowy plik (Plik> Nowy plik) i zapisz jako „bridge_builder.py“.
z importu mcpi.minecraft Minecraft. mc = Minecraft.create () # utwórz obiekt Minecraft podczas gdy True: x, y, z = mc.player.getPos () # zapisz pozycję gracza # zapisz otaczające bloki 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) jeśli a == 8 lub a == 9 lub b == 8 lub b == 9 lub c == 8 lub c == 9 lub d == 8 lub d == 9: # 8 lub 9 to woda. Ustaw otaczające bloki na podłodze na bryłę (kamień), jeśli zostanie znaleziona woda 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. zestaw Blokady (x, y - 1, z, x - 1, y - 1, z + 1, 1) mc .setBlocks (x, y - 1, z, x + 1, y - 1, z - 1, 1)
Zauważ, jak faktycznie wygląda wartość y na y - 1. To jest poziom podłogi. Gdyby użyto wartości y, skrypt szukałby bloków na poziomie kolana - nie działałoby to zbyt dobrze! Mc.getBlock () zwraca identyfikator bloku dla podanych współrzędnych. Ponieważ x, y i z są współrzędnymi gracza, możesz je dodawać lub odejmować, aby uzyskać pozycje wokół gracza. Nie musisz używać wartości x, y i z, możesz użyć dowolnej liczby, jednak możesz nie wiedzieć, jak ten konkretny blok odnosi się do odtwarzacza - lepiej jest używać wartości w stosunku do odtwarzacza. Uruchom ten plik z wiersza polecenia i sprawdź, co się stanie.
Powinieneś zobaczyć, że niewielki obszar ziemi zamienia się w kamień, gdy gracz osiągnie zbiornik wodny. To nie jest świetne - jesteś w stanie iść wystarczająco szybko, aby spowodować problem. Możesz to rozwiązać, przekształcając większą objętość wody w ląd. Ostatnią częścią metody mc.setBlocks () jest identyfikator bloku. Jednym z nich jest identyfikator bloku dla kamienia. Możesz to zmienić na drewno, trawę lub cokolwiek innego. Jeśli chcesz, możesz z łatwością przekształcić to w złożony projekt - może most wiszący!
Przycisk Super Mining

Ten przykład spowoduje krótką pracę wydobycia. Składa się z fizycznego przycisku, który po naciśnięciu wydobywa 10 bloków w kostkę. Zacznijmy od przycisku. Podobnie jak przyciski w Arduino, będziesz potrzebować niewielkiej ilości elektroniki, z których wszystkie należy znaleźć w podstawowy zestaw startowy Co zawiera zestaw startowy Arduino? [Arduino Beginners]Wobec pudełka pełnego elementów elektronicznych łatwo jest zostać przytłoczonym. Oto przewodnik po tym, co znajdziesz w swoim zestawie. Czytaj więcej :
- 1 x deska do krojenia chleba
- 1 x przełącznik chwilowy
- Rezystor 1 x 220 omów
- Żeńskie> męskie kable skokowe
- Męskie> Męskie kable skokowe
Oto obwód:

Rezystor ten nazywany jest rezystorem „pull down”. Pomaga upewnić się, że Pi myśli o naciśnięciu przycisku, a tak naprawdę o naciśnięciu przycisku. Nie musisz tego używać, jednak jest to zalecane, ponieważ bez niego możesz znaleźć wiele szumów i fałszywych odczytów.
Przycisk jest podłączony do styku 14 wyjścia GPIO (General Purpose Input Output). Możesz użyć dowolnego pinu GPIO, jednak spójrz na pinout po pierwsze, ponieważ nie wszystkie można kontrolować za pomocą Pi i różnią się nieznacznie w zależności od modelu.
Teraz, gdy przycisk jest podłączony, czas go przetestować. Utwórz nowy plik i zapisz go jako „button_test.py“. Dodaj ten kod, zapisz go, a następnie uruchom w terminalu.
import RPi. GPIO jako GPIO. czas importu GPIO.setmode (GPIO.BCM) # powiedz Pi, jakich nagłówków użyć. GPIO.setup (14, GPIO.IN) # powiedz Pi, że ten pin jest wejściem, podczas gdy True: jeśli GPIO.input (14) == True: # poszukaj przycisku naciśnij drukuj „BUTTON WORKS!” # log time time.sleep (0,5) # odczekaj 0,5 sekundy.
naciśnij Control + C. zatrzymać skrypt. Jeśli wszystko działa poprawnie, powinieneś zobaczyć „DZIAŁA PRZYCISK!” w terminalu. Zauważ, że podobnie jak moduł Minecraft, ten test używa RPi. GPIO i moduły czasowe. Umożliwiają one Pi dostęp do pinów sprzętowych i zapewniają przydatne funkcje pomiaru czasu.
Teraz zakończmy resztę kodu. Utwórz nowy plik o nazwie „super_mine.py“. Oto kod:
import RPi. GPIO jako GPIO. czas importu. z importu mcpi.minecraft Minecraft mc = Minecraft.create () # utwórz obiekt Minecraft GPIO.setmode (GPIO.BCM) # powiedz Pi, których nagłówków użyć. GPIO.setup (14, GPIO.IN) # powiedz Pi, że ten pin jest wejściem, podczas gdy True: jeśli GPIO.input (14) == True: # wyszukaj przycisk naciśnij x, y, z = mc.player.getPos ( ) # przeczytaj odtwarzacz pozycja mc.setBlocks (x, y, z, x + 10, y + 10, z + 10, 0) # moje 10 bloków mc.setBlocks (x, y, z, x - 10, y + 10, z - 10, 0) # moje 10 bloków czas. Sen (0,5) # poczekaj 0,5 sekundy.
mc.player.getPos () zwraca bieżące współrzędne gracza, które są następnie przechowywane w x, yiz. The setBlocks () metoda mówi Minecraftowi, aby wypełnił wszystkie bloki od początku do końca następującym blokiem. Zero jest identyfikatorem bloku dla powietrza. Możesz zmienić to na inny identyfikator bloku, aby wypełnić pole. Możesz także zmienić współrzędne na +100 lub nawet +1000 bloków, jednak Pi może zacząć walczyć, jeśli oszalejesz. Zauważ, że y + 10 jest takie samo dla obu linii. Możesz zmienić to na y - 10, jeśli chcesz usunąć bloki pod ziemią.
Teleportacja

Innym prostym zastosowaniem tego przycisku może być „teleportacja”. Minecraft Pi Api umożliwia ustawienie pozycji gracza. Poniższy kod „teleportuje” odtwarzacz do zaprogramowanej lokalizacji:
mc.player.setPos (0, 0, 0)
Zauważ, że jego metoda akceptuje trzy parametry; x, yiz z - więc możesz ustawić je na cokolwiek, aby natychmiast teleportować gracza do tej lokalizacji.
Utwórz kopię pliku super_mine (Plik> Zapisz kopię jako) i zmodyfikuj go, zastępując if następującym tekstem:
if GPIO.input (14) == Prawda: # poszukaj przycisku naciśnij mc.player.setPos (0, 0, 0) # teleportuj czas gracza. śpi (0,5) # poczekaj 0,5 sekundy.
Ten plik powinien teraz wyglądać następująco:
import RPi. GPIO jako GPIO. z importu mcpi.minecraft Minecraft. czas importu mc = Minecraft.create () # utwórz obiekt Minecraft GPIO.setmode (GPIO.BCM) # powiedz Pi, których nagłówków użyć. GPIO.setup (14, GPIO.IN) # powiedz Pi, że ten pin jest wejściem, podczas gdy True: jeśli GPIO.input (14) == True: # poszukaj przycisku naciśnij mc.player.setPos (0, 0, 0) # teleportuj czas gracza. śpi (0,5) # poczekaj 0,5 sekundy.
Zapisz jako „teleport.py" i biegnij.
Podczas korzystania z tego może się okazać, że gracz utknął w niektórych blokach. W takim przypadku musisz to zrobić dopasuj współrzędne do znanej otwartej przestrzeni (lewy górny róg ekranu pokazuje bieżący Lokalizacja).
Zbudować dom

Ostatnim zadaniem tego przycisku jest zbudowanie domu. Podobnie jak w powyższym przykładzie szybkiego wyszukiwania, po prostu zastąpi bloki otaczające gracza, aby stworzyć dom. Różne identyfikatory bloków będą używane dla różnych materiałów (okna, ściany itp.). Aby ułatwić kodowanie, zostanie utworzony solidny blok, a następnie wnętrze zostanie usunięte (ustaw blok na powietrze), utworzy to pustą skorupę. Możesz dodać dodatki, takie jak łóżko lub drzwi, jednak projekt Minecraft Pi jest trochę niekompletny i chociaż obiekty te działają po umieszczeniu przez gracza, nie są genialne podczas używania Pythona.
z importu mcpi.minecraft Minecraft. import RPi. GPIO jako GPIO. czas importu mc = Minecraft.create () # utwórz obiekt Minecraft GPIO.setmode (GPIO.BCM) # powiedz Pi, których nagłówków użyć. GPIO.setup (14, GPIO.IN) # powiedz Pi, że ten pin jest wejściem, podczas gdy True: jeśli 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) # wykonaj shell mc.setBlocks (x + 3, y, z + 3, x + 6, y + 2, z + 7, 0) # usuń wewnątrz 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.
Zapisz to jako „house.py" i biegnij. Wszystko jest w porządku, powinieneś zobaczyć mały dom (może być konieczne odwrócenie się, aby go znaleźć). To bardzo proste, otwarcie i niektóre okna. Teoretycznie nie ma ograniczeń co do tego, jak duży lub złożony budynek można zbudować.
Zrób mini-grę

Następnie zróbmy mini-grę! Będzie to dość proste, gdy gracz wejdzie na blok piasku, po losowym czasie zamieni się w lawę. To dobra gra, ponieważ możesz zaprojektować własne poziomy lub zmodyfikować ją, aby utrudnić grę. W tym przykładzie nie będziesz potrzebować przycisku.
Utwórz nowy plik i zapisz go jako „mini_game.py“. Oto kod:
z importu mcpi.minecraft Minecraft. importuj losowo. czas importu mc = Minecraft.create () # utwórz obiekt Minecraft podczas gdy True: x, y, z = mc.player.getPos () block_under_player = mc.getBlock (x, y - 1, z) jeśli block_under_player == 12: # gracz stojący na piasku, uruchom stoper random_time = random.uniform (0.1, 2.5) # wygeneruj losową liczbę time.sleep (random_time); # poczekaj mc.setBlock (x, y - 1, z, 11) # zamień go w lawę.
Ten kod jest dobrym początkiem w losowy() funkcjonować: random.uniform (0.1, 2.5) wygeneruje losową liczbę od 0,1 (1/10 sekundy) do 2,5 (2 1/2 sekundy). Zwiększenie tych liczb ułatwi grę.
Wypróbuj to! Stań na bloku piasku, a wkrótce zamieni się w lawę. To może być podstawa bardziej złożonej gry.
Stwórz kolejną mini-grę

Założenie tej gry jest proste - nie stawaj na drewnianej podłodze, gdy skończy się czas. Gracz zostaje teleportowany na „arenę”. Muszą stać w miejscu, dopóki gra się nie rozpocznie. Po uruchomieniu podłoga zamieni się w wodę, gdy skończy się czas. Gracz musi stać w bezpiecznej strefie (bloki diamentowe), aby przeżyć. Każdy poziom zmniejsza licznik czasu o jedną sekundę. Po każdym udanym poziomie bezpieczny obszar powiększa się. Sprawdź poniższy kod:
czas importu. importuj losowo. z importu mcpi.minecraft Minecraft mc = Minecraft.create () # utwórz obiekt Minecraft # wyczyść obszar. mc.setBlocks (-10, 1, -10, 25, 5, 25, 0) # create shell arena. mc.setBlocks (0, 0, 0, 25, 10, 25, 17) # pusta arena. mc.setBlocks (1, 1, 1, 24, 10, 24, 0) # przenieś gracza na arenę. mc.player.setPos (14, 25, 20) # teleportuj gracza # spraw, by pozostali na miejscu. # teleportuj gracza, aby rozpocząć pozycję co 1/10 sekundy. # rób to przez 5 sekund, a następnie rozpocznij grę. time.sleep (2) total_wait = 0. mc.postToChat („Oczekiwanie na start”) podczas gdy total_wait <5: mc.player.setPos (14, 1, 20) # teleportacja player time.sleep (0,1) total_wait + = 0.1 mc.postToChat („BEGIN!”) # 10 poziomów. dla poziomu w zakresie (10): x, y, z = mc.player.getPos () level_time = 10 - poziom # skraca czas o 1 sekundę dla każdego poziomu mc.postToChat („Poziom -” + str (poziom + 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 + poziom, 0, safe_area_end + poziom, 57) elapsed_time = 0, podczas gdy elapsed_time <10: x, y, z = mc.player.getPos () time.sleep (0.25) elapsed_time + = 0.25 # sprawdź, czy gracz jest nadal na podłodze, jeśli y <0.75: mc.postToChat ("Gra Over ”) przerwa; else: # usuń podłogę mc.setBlocks (-10, 0, -10, 25, 0, 25, 8) # odłóż bezpieczny obszar z powrotem mc.setBlocks (safe_area_start, 0, safe_area_end, safe_area_start + poziom, 0, safe_area_end + poziom, 57) time.sleep (2.5) kontynuuj przerwę.
Zapisz to jako „mini_game_2.py”I spróbuj.
Pi 2 ma pewne problemy z wydajnością podczas uruchamiania Minecraft. Wykres wykorzystania jednostki centralnej (CPU) (prawy górny róg) nigdy nie wykazuje dużego obciążenia, więc musi to wynikać ze złego projektu i optymalizacji przez programistów. Problemy te nie są związane z działaniem kodu (ponieważ są kontynuowane, gdy Python nie jest uruchomiony), ale są one spotęgowane przez tę mini grę. Jeśli twoje Pi naprawdę ma problemy, możesz chcieć zmniejszyć rozmiar areny lub podkręć swoje Pi Za mało soku? Wyciśnij Raspberry Pi podkręcającJeśli w 2012 r. Pojawi się jakiś sprzęt, w którym prawdopodobnie się zakochasz, jest to słodki jak cukier Raspberry Pi, mini komputer zaprojektowany i zbudowany w Wielkiej Brytanii, który został dostarczony na całym ... Czytaj więcej .
Wykrywacz diamentów

Zróbmy kolejny obwód. Spowoduje to użycie diody elektroluminescencyjnej (LED) do zaświecenia, gdy pod spodem znajdują się diamenty (w odległości 15 bloków). Oto czego potrzebujesz:
- 1 x deska do krojenia chleba
- 1 x LED
- Rezystor 1 x 220 omów
- Żeńskie> męskie kable skokowe
- Męskie> Męskie kable skokowe
Oto obwód:

Podłącz anodę (długą nogę) do styku 14 GPIO. Ten pin działa jak + 5v. Podłącz katodę (krótką nogę) do uziemienia.
Użyłem taniej zabawki z rudy i zmodyfikowałem ją, zdejmując tylną pokrywę i elektronikę, a następnie umieściłem pod nią diodę LED. Możesz łatwo zrobić to trwałym za pomocą gorącego kleju lub czegoś podobnego.

Zapisz ten kod jako „diamonds.py“:
import RPi. GPIO jako GPIO. czas importu. z importu mcpi.minecraft Minecraft mc = Minecraft.create () # Utwórz obiekt Minecraft led_pin = 14 # zapisz numer pin GPIO GPIO.setmode (GPIO.BCM) # powiedz Pi, których nagłówków użyć. GPIO.setup (14, GPIO.OUT) # powiedz Pi, że ten pin jest wyjściem, podczas gdy True: # powtarzaj w nieskończoność x, y, z = mc.player.getPos () dla i w zakresie (15): # spójrz na co blokuj do blok 15, jeśli mc.getBlock (x, y - i, z) == 56: GPIO.output (led_pin, True) # włącz diodę LED na time.sleep (0.25) # poczekaj GPIO.output (led_pin, False) # turn LED czas wyłączenia. sen (0,25) # czekać.
Gdy pod odtwarzaczem znajduje się blok rudy diamentu (w ciągu 15 bloków), lampka będzie migać.
Czy stworzyłeś coś fajnego z Minecraft Pi? Daj mi znać w komentarzach, co zrobiłeś lub jak daleko zaszedłeś w grach.
Joe jest absolwentem informatyki na University of Lincoln w Wielkiej Brytanii. Jest profesjonalnym programistą, a kiedy nie lata latającymi dronami ani nie pisze muzyki, często można go znaleźć przy robieniu zdjęć lub tworzeniu filmów.