π€ Π ΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΈ ΠΌΠ΅Π³Π°ΡΡΠΎΠ½ΠΈΠΊΠ° Π² ΠΠ°ΠΉΠ½ΠΊΡΠ°ΡΡΠ΅
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡ Python, Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π±Π»ΠΎΡΠ½ΡΠΉ ΠΌΠΈΡ!
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΠΈΠΌ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ «ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ». ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Python Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ΄Ρ ΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ΅Π΄ΡΡΠΎΡΠ½Π° Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ, ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π° ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ — ΡΡΠΎ ΡΠ°Π½ΡΠ°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π»ΠΎΠΆΠΈΡΡ ΠΏΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ Π±Π°Π·Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½ΠΈΠΊΠΈ.
1. Π‘ΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΎΠ² ΠΈ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ·Π»ΠΎΠ²
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ Π² ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½ΠΈΠΊΠ΅ — ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ `mcpi` Π² Python Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΈΠΌΠΈΡΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΡΠ½ΠΈΡΡ ΡΠΎΠ±ΠΎΡΠΎΠ² ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
import time
mc = Minecraft.create()
mc.postToChat("ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠ½ΠΈΡΠ° ΡΠΎΠ±ΠΎΡΠ°...")
# Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠ΅ΡΠ²ΠΎΠΏΡΠΈΠ²ΠΎΠ΄Π°
pos = mc.player.getTilePos()
mc.setBlock(pos.x, pos.y, pos.z, 57) # 57 - ΠΠ»ΠΌΠ°Π·Π½ΡΠΉ Π±Π»ΠΎΠΊ
Π‘ΠΎΠ²Π΅Ρ: Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ΅ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ², ΠΎΡΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΡΡΠ°Π΅ΠΊΡΠΎΡΠΈΠΈ ΡΠΎΠ±ΠΎΡΠ°!
2. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ «ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ»
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΡΠΆΠ΅ΠΌ Π½Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ `gpiozero` Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π΄Π°ΡΡΠΈΠΊΠΎΠ².
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
button = Button(2) # ΠΠ½ΠΎΠΏΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ³Π³Π΅ΡΠ° Π½Π° GPIO Π²ΡΠ²ΠΎΠ΄Π΅ 2
def trigger_mechatronic_action():
mc.postToChat("Π‘ΠΈΠ³Π½Π°Π» ΠΏΠΎΠ»ΡΡΠ΅Π½! ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΌΠΎΡΠΎΡΠ°...")
pos = mc.player.getTilePos()
mc.setBlock(pos.x + 1, pos.y, pos.z, 152) # ΠΠ»ΠΎΠΊ ΡΠ΅Π΄ΡΡΠΎΡΠ½Π°
button.when_pressed = trigger_mechatronic_action
ΠΠ°ΠΆΠΈΠΌΠ°Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅, Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΡΠ΅Π΄ΡΡΠΎΡΠ½Π°, ΡΡΠΈΡΠ°Ρ Π³ΡΠ°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΎΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ!
3. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ
ΠΠ°Π΄Π΅ΠΆΠ½Π°Ρ ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΎΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ±ΠΎΠ΅Π².
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π»ΠΈΠ·ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΡΠ΄ΠΎΠΌ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ. ΠΡΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π²Π°ΡΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΈΡΠΏΡΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π΄!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°ΡΡΠΎΠ½ΠΈΠΊΠ΅
Π‘ΠΈΠΌΡΠ»ΡΡΠΈΡ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΎΡΠΈΠΈ Π² ΠΎΡΡΠ·Π°Π΅ΠΌΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
Π§ΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ? ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΎΡΠ½ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ? ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
π ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Ρ Π½Π°ΠΌΠΈ! : www.simpledrop.net