LEGO MINDSTORMS Education EV3 + MicroPython: ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืึท ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืฉื˜ืขืœืŸ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืื™ืŸ ื“ืขืจื•ื•ืึทืงืกืŸ ืฉืคึผืจืึทืš

ื”ืขืœื, ื”ืื‘ืจ! ืžื™ืจ ืฉื•ื™ืŸ ื“ืขืจืฆื™ื™ืœื˜ ื•ื•ืขื’ืŸ ื“ื™ LEGO MINDSTORMS Education EV3 ืคึผืœืึทื˜ืคืึธืจืžืข. ื“ื™ ื”ื•ื™ืคึผื˜ ืึทื‘ื“ื–ืฉืขืงื˜ื™ื•ื•ื– ืคื•ืŸ ื“ืขื ืคึผืœืึทื˜ืคืึธืจืžืข ื–ืขื ืขืŸ ืœืขืจื ืขืŸ ื“ื•ืจืš ืคึผืจืึทืงื˜ื™ืฉ ื‘ื™ื™ืฉืคื™ืœืŸ, ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ STEAM ืกืงื™ืœื– ืื•ืŸ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึทืŸ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืžื™ื™ื ื“ืกืขื˜. ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืคึฟืึทืจ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืึทืจื‘ืขื˜ ืฆื• ืœืขืจื ืขืŸ ืžืึทืงืึทื ื™ืงืก ืื•ืŸ ื“ื™ื ืึทืžื™ืง. ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ื‘ืขื ื˜ืฉืขืก ื’ืขืžืื›ื˜ ืคื•ืŸ LEGO ื‘ืจื™ืงืก ืื•ืŸ ื™ื•ื˜ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ืจืขืงืึธืจื“ื™ื ื’ ืื•ืŸ ืคึผืจืึทืกืขืกื™ื ื’ ื“ืึทื˜ืŸ ืžืึทื›ืŸ ื™ืงืกืคึผืขืจืึทืžืึทื ืฅ ืืคื™ืœื• ืžืขืจ ื˜ืฉื™ืงืึทื•ื•ืข ืื•ืŸ ื•ื•ื™ื–ืฉืึทื•ื•ืึทืœ ืื•ืŸ ื”ืขืœืคึฟืŸ ืงื™ื ื“ืขืจ ื‘ืขืกืขืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืคื™ื–ื™ืง. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืกื˜ื•ื“ืขื ื˜ืŸ ืงืขื ืขืŸ ืงืœื™ื™ึทื‘ืŸ ืžืขืœื˜ื™ื ื’ ืคื•ื ื˜ ื“ืึทื˜ืŸ ืื•ืŸ ื ื•ืฆืŸ ื“ื™ ืึทืคึผ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืขืก ืื•ืŸ ืคืึธืจืฉื˜ืขืœืŸ ืขืก ืื™ืŸ ืึท ื’ืจืึทืคื™ืง. ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ืึธืจ ื“ืขืจ ืึธื ื”ื™ื™ื‘: ื”ื™ื™ึทื ื˜ ืžื™ืจ ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™ ืฆื• ื“ืขืจื’ืึทื ื’ ื“ืขื ื’ืึทื ื’ ืžื™ื˜ ื“ื™ ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืกื•ื•ื™ื•ื•ืข ืื•ืŸ ื ื•ืฆืŸ ืขืก ืฆื• ืœืขืจื ืขืŸ ืจืึธื•ื‘ืึทื˜ื™ืงืก.

LEGO MINDSTORMS Education EV3 + MicroPython: ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืึท ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืฉื˜ืขืœืŸ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืื™ืŸ ื“ืขืจื•ื•ืึทืงืกืŸ ืฉืคึผืจืึทืš

ืœืขืจื ืขืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืžื™ื˜ EV3

ืžืึธื“ืขืจืŸ ืกืงื•ืœื˜ืฉื™ืœื“ืจืึทืŸ ื•ื•ื™ืœืŸ ืฆื• ื–ืขืŸ ืคืึทืจื‘ื™ืง ืจืขื–ื•ืœื˜ืึทื˜ืŸ. ื™ืึธ, ื–ื™ื™ ื–ืขื ืขืŸ ื‘ืึธืจื“ ืื•ื™ื‘ ื“ื™ ืคึผืจืึธื’ืจืึทื ืคึผืจื™ื ืฅ ื ื•ืžืขืจืŸ ืฆื• ื“ื™ ืงืึทื ืกืึธื•ืœ, ืื•ืŸ ื–ื™ื™ ื•ื•ื™ืœืŸ ืฆื• ืงื•ืงืŸ ืื™ืŸ ืงืึธืœื™ืจ ื’ืจืึทืคืก, ื“ื™ื™ืึทื’ืจืึทืžื– ืื•ืŸ ืฉืึทืคึฟืŸ ืคืึทืงื˜ื™ืฉ ืจืึธื•ื‘ืึทืฅ ื•ื•ืึธืก ืžืึทืš ืื•ืŸ ื ืึธื›ื’ื™ื™ืŸ ืงืึทืžืึทื ื“ื–. ืจืขื’ื•ืœืขืจ ืงืึธื“ ืื•ื™ืš ืกื™ืžื– ืฆื• ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืคึฟืึทืจ ืงื™ื ื“ืขืจ, ืึทื–ื•ื™ ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืœืขืจื ืขืŸ ืขืคึผืขืก ื’ืจื™ื ื’ืขืจ.

ื“ื™ ื™ืงืขืจื“ื™ืง EV3 ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืกื•ื•ื™ื•ื•ืข ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ LabVIEW ื’ืจืึทืคื™ืงืึทืœ ืฉืคึผืจืึทืš ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึทืœื’ืขืจื™ื“ืึทืžื– ืคึฟืึทืจ ื“ื™ ืจืึธื‘ืึธื˜ ื•ื•ื™ื–ืฉื•ื•ืึทืœื™: ืงืึทืžืึทื ื“ื– ื–ืขื ืขืŸ ื“ืขืจืœืื ื’ื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื‘ืœืึทืงืก ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ืจืึทื’ื“ ืื•ืŸ ืงืึธื ื ืขืงื˜ืขื“.

LEGO MINDSTORMS Education EV3 + MicroPython: ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืึท ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืฉื˜ืขืœืŸ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืื™ืŸ ื“ืขืจื•ื•ืึทืงืกืŸ ืฉืคึผืจืึทืš

ื“ืขืจ ืื•ืคึฟืŸ ืึทืจื‘ืขื˜ ื’ื•ื˜ ื•ื•ืขืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ ืึทืœื’ืขืจื™ื“ืึทืžื– ื–ืขื ืขืŸ ื’ืขื‘ื•ื™ื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืžื’ื™ืœื” ืžื™ื˜ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื‘ืœืึทืงืก. ื•ื•ื™ ืกื™ื ืขืจื™ืึธื•ื– ื•ื•ืขืจืŸ ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืžืึทืš ืฆื• ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืžื™ื˜ ืงืึธื“, ืึธื‘ืขืจ ื“ืขื ืฉืจื™ื˜ ืื™ื– ืฉื•ื•ืขืจ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืฆื• ื ืขืžืขืŸ. 

ืขืก ื–ืขื ืขืŸ ืึท ื‘ื™ืกืœ ื˜ืจื™ืงืก ื“ืึธ, ืื™ื™ื ืขืจ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืึทื– ื“ื™ ืงืึธื“ ื˜ื•ื˜ ื“ื™ ื–ืขืœื‘ืข ื–ืึทืš ื•ื•ื™ ื“ื™ ื‘ืœืึทืงืก. ืื™ืŸ ื“ื™ EV3 ืกื•ื•ื™ื•ื•ืข, ื“ืึธืก ืื™ื– ืžืขื’ืœืขืš ื“ื•ืจืš ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ, ืึทื–ื•ื™ ืงื™ื“ืก ืงืขื ืขืŸ ืžืึทื›ืŸ ื“ื™ ื–ืขืœื‘ืข ืคึผืจืึธื’ืจืึทื ืื™ืŸ ื‘ื™ื™ื“ืข ื“ื™ ื™ืงืขืจื“ื™ืง ื‘ืœืึธืง ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืกื•ื•ื™ื•ื•ืข ืื•ืŸ ืคึผื™ื˜ื”ืึธืŸ ืื™ืŸ Microsoft's Visual Studio Code. ื–ื™ื™ ื–ืขืŸ ืึทื– ื‘ื™ื™ื“ืข ืžืขื˜ื”ืึธื“ืก ืึทืจื‘ืขื˜ ื“ื™ ื–ืขืœื‘ืข, ืึธื‘ืขืจ ืกืึทืœื•ื•ื™ื ื’ ืงืึธืžืคึผืœืขืงืก ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ืงืึธื“ ืื™ื– ืžืขืจ ื‘ืึทืงื•ื•ืขื.

ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ

ื“ื™ EV3 ืกื•ื•ื™ื•ื•ืข ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื•ื™ืฃ ืึทืŸ ARM9 ืคึผืจืึทืกืขืกืขืจ, ืื•ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื”ืึธื‘ืŸ ื“ื™ืœื™ื‘ืจืึทื˜ ืœื™ื ืงืก ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืึธืคึฟืŸ. ื“ื™ ืœื™ื™ื–ื•ื ื’ ืื™ื– ื’ืขื•ื•ืขืŸ ืžืขื’ืœืขืš ืฆื• ืจืึธื•ืœื“ ืื•ื™ืก ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ืคื™ืจืžื•ื•ืึทืจืข, ืื™ื™ื ืขืจ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ื‘ื™ืœื“ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ. ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ Python ืฆื• ืคึผืจืึธื’ืจืึทื ื“ื™ื™ืŸ EV3, ืื•ืŸ ื‘ืจืขื ื’ืขืŸ ื“ืขื ืงื™ื˜ ืืคื™ืœื• ื ืขืขื ื˜ืขืจ ืฆื• ืคืึทืงื˜ื™ืฉ ื˜ืึทืกืงืก. 

ืฆื• ืึธื ื”ื™ื™ื‘ืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ EV3 ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ ื‘ื™ืœื“ ืื•ื™ืฃ ืงื™ื™ืŸ ืžื™ืงืจืึธืกื“ ืงืึธืจื˜, ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก ืื™ืŸ ื“ื™ EV3 ืžื™ืงืจืึธืงืึธืžืคึผื•ื˜ืขืจ ืื•ืŸ ืงืขืจ ืขืก ืื•ื™ืฃ. ื“ืขืžืึธืœื˜ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืคึฟืจื™ื™ึท ื’ืขืฉืคึผืจื™ื™ื˜ ืคึฟืึทืจ ื•ื•ื™ืกื•ืึทืœ ืกื˜ื•ื“ื™ืึธ. ืื•ืŸ ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืืจื‘ืขื˜ืŸ. 

ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื“ืขืจ ืขืจืฉื˜ืขืจ ืจืึธื‘ืึธื˜ ืื™ืŸ MycroPython

LEGO MINDSTORMS Education EV3 + MicroPython: ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืึท ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืฉื˜ืขืœืŸ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืื™ืŸ ื“ืขืจื•ื•ืึทืงืกืŸ ืฉืคึผืจืึทืš

ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืึธื ืœื™ื™ืŸ ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ืœืขืงืฆื™ืขืก ืคึฟืึทืจ ืžืึทืกื˜ืขืจื™ื ื’ ื“ื™ ื’ืจื•ื ื˜ ืงืึทื ืกืขืคึผืก ืคื•ืŸ ืจืึธื•ื‘ืึทื˜ื™ืงืก. EV3 ืžืึธื“ืขืœืก ื‘ืึทืงืขื ืขืŸ ืงื™ื ื“ืขืจ ืฆื• ื“ื™ ื‘ืึทืกื™ืงืก ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื–ื™ืš-ื“ืจื™ื™ื•ื•ื™ื ื’ ืงืึทืจืก, ืคืึทื‘ืจื™ืง ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืจืึธื•ื‘ืึทืฅ ืื•ืŸ CNC ืžืืฉื™ื ืขืŸ. 

ืžื™ืจ ื ืขืžืขืŸ ื“ืขื ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ืึท ืฆื™ื™ื›ืขื ื•ื ื’ ืžืึทืฉื™ืŸ, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืœืขืจื ื˜ ืฆื• ืฆื™ืขืŸ ืคึผืึทื˜ืขืจื ื– ืื•ืŸ ื“ื–ืฉื™ืึทืžืขื˜ืจื™ืง ืฉืึทืคึผืขืก. ื“ืขืจ ืคืึทืœ ืื™ื– ืึท ืกื™ืžืคึผืœืึทืคื™ื™ื“ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ืจืึธื•ื‘ืึทืฅ ืคึฟืึทืจ ื•ื•ืขืœื“ื™ื ื’ ืึธื“ืขืจ ืžื™ืœื™ื ื’ ืคึฟืึทืจ ืึทื“ืึทืœืฅ ืื•ืŸ ื•ื•ื™ื™ื–ื˜ ื•ื•ื™ EV3 ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ืงืึทื ื“ื–ืฉืึทื ื’ืงืฉืึทืŸ ืžื™ื˜ ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ ืฆื• ืœืขืจื ืขืŸ ืกืงื•ืœื˜ืฉื™ืœื“ืจืึทืŸ. ืื•ืŸ ืึท ืฆื™ื™ื›ืขื ื•ื ื’ ืžืึทืฉื™ืŸ ืงืขื ืขืŸ ืฆื™ื™ื›ืŸ ื”ืึธืœืขืก ืื™ืŸ ืึท ื’ืขื“ืจื•ืงื˜ ืงืจื™ื™ึทื– ื‘ืจืขื˜ ืคึฟืึทืจ ื˜ืึทื˜ืข, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืืŸ ืื ื“ืขืจ ืžื“ืจื’ื” ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืžืึทื˜.

ืคึฟืึทืจ ืึทืจื‘ืขื˜ ืžื™ืจ ื“ืึทืจืคึฟืŸ:

  • LEGO MINDSTORMS Education EV3 Core Set; 
  • ื’ืจื•ื™ืก ื‘ื•ื™ื’ืŸ ืคื•ืŸ ื˜ืฉืขืงืขืจื“ ืคึผืึทืคึผื™ืจ;
  • ื‘ื•ื ื˜ ืžืึทืจืงืขืจืก. 

ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืคื•ืŸ ื“ื™ ืจืึธื‘ืึธื˜ ื–ื™ืš ืื™ื– ืื™ืŸ ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ืื•ืŸ ืžื™ืจ ื•ื•ืขืœืŸ ืงื•ืงืŸ ืื™ืŸ ืึท ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื‘ื™ื™ึทืฉืคึผื™ืœ.

ืขืจืฉื˜ืขืจ ืžื™ืจ ื™ื ื™ืฉืึทืœื™ื™ื– ื“ื™ EV3 ืžืึธื“ื•ืœืข ื‘ื™ื‘ืœื™ืึธื˜ืขืง:

#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait

ืžื™ืจ ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ืึท ืคึผืœืึทื˜ืคืึธืจืžืข ื•ื•ืึธืก ืจืึธื•ื˜ื™ื™ืฅ ื“ื™ ืฉืขืคึผืŸ ื•ื•ื™ ืึท ืžืึธื˜ืึธืจ ืื™ืŸ ืคึผืึธืจื˜ ื‘. ืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ื’ืึทื ื’ ืคืึทืจื”ืขืœื˜ืขื ื™ืฉ ืคื•ืŸ ืึท ืฆื•ื•ื™ื™-ื‘ื™ื ืข ื’ืึทื ื’ ื‘ืึทืŸ ืžื™ื˜ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืฆื™ื™ืŸ ืคื•ืŸ 20-12-28, ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™.

turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

ืžื™ืจ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืœื™ืคื˜ื™ื ื’ ืžืขืงืึทื ื™ื–ืึทื ืคึฟืึทืจ ื“ื™ ืฉืขืคึผืŸ ื•ื•ื™ ืึท ืžืึธื˜ืึธืจ ืื™ืŸ ืคึผืึธืจื˜ C:

seesaw_motor = Motor(Port.C)

ืžื™ืจ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ื’ื™ืจืึธืกืงืึธืคึผืข, ื•ื•ืึธืก ืžืขืกื˜ืŸ ื“ื™ ื™ืฆืจ ื•ื•ื™ื ืงืœ ืคื•ืŸ ื“ื™ ืฉืขืคึผืŸ, ืื™ืŸ ืคึผืึธืจื˜ 2:

gyro_sensor = GyroSensor(Port.S2)

ืžื™ืจ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืงืึธืœื™ืจ ืกืขื ืกืขืจ ืื™ืŸ ืคึผืึธืจื˜ 3. ื“ืขืจ ืกืขื ืกืขืจ ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื“ืขื˜ืขืงื˜ ื•ื•ื™ื™ึทืก ืคึผืึทืคึผื™ืจ ืื•ื ื˜ืขืจ ื“ื™ ืฆื™ื™ื›ืขื ื•ื ื’ ืžืึทืฉื™ืŸ:

color_sensor = ColorSensor(Port.S3)

ืžื™ืจ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืคืึทืจื‘ื™ื ื“ืŸ ืกืขื ืกืขืจ ืื™ืŸ ืคึผืึธืจื˜ 4. ื“ื™ ืจืึธื‘ืึธื˜ ืกื˜ืึทืจืฅ ืฆื™ื™ื›ืขื ื•ื ื’ ื•ื•ืขืŸ ื“ื™ ืกืขื ืกืขืจ ืื™ื– ื’ืขื“ืจื™ืงื˜:

touch_sensor = TouchSensor(Port.S4)

ืžื™ืจ ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ืึธืก ื›ืึทืคึผืŸ ืื•ืŸ ื ื™ื“ืขืจื™ืงืขืจ ื“ื™ ืฉืขืคึผืŸ:

def pen_holder_raise():
  seesaw_motor.run_target(50, 25, Stop.HOLD)
  wait(1000)

def pen_holder_lower():
  seesaw_motor.run_target(50, 0, Stop.HOLD)
  wait(1000)

ืžื™ืจ ื“ืขืคื™ื ื™ืจืŸ ืึท ืคึฟื•ื ืงืฆื™ืข ืฆื• ื“ืจื™ื™ืขืŸ ื“ื™ ืฉืขืคึผืŸ ืฆื• ืึท ื’ืขื’ืขื‘ืŸ ื•ื•ื™ื ืงืœ ืึธื“ืขืจ ืฆื• ืึท ื–ื™ื›ืขืจ ื•ื•ื™ื ืงืœ:

def pen_holder_turn_to(target_angle):
  if target_angle > gyro_sensor.angle():

ืื•ื™ื‘ ื“ืขืจ ืฆื™ืœ ื•ื•ื™ื ืงืœ ืื™ื– ื’ืจืขืกืขืจ ื•ื•ื™ ื“ื™ ืงืจืึทื ื˜ ื’ื™ืจืึธ ืกืขื ืกืขืจ ื•ื•ื™ื ืงืœ, ืคืึธืจื–ืขืฆืŸ ืงืœืึทืงื•ื•ื™ื™ื– ืžื™ื˜ ืึท positive ื’ื™ื›ืงื™ื™ึทื˜:

    turntable_motor.run(70)
	
while gyro_sensor.angle() < target_angle:
  	
pass
  elif target_angle < gyro_sensor.angle():

ืื•ื™ื‘ ื“ืขืจ ืฆื™ืœ ื•ื•ื™ื ืงืœ ืื™ื– ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ื“ื™ ืงืจืึทื ื˜ ื’ื™ืจืึธ ืกืขื ืกืขืจ, ืžืึทืš ืงืึทื•ื ื˜ืขืจืงืœืึธืงื•ื•ื™ื™ื–:

    turntable_motor.run(-70)
	
while gyro_sensor.angle() > target_angle:
  	
pass

ื”ืึทืœื˜ืŸ ื“ื™ ืจืึธื•ื˜ื™ื™ื˜ื™ื ื’ ืคึผืœืึทื˜ืคืึธืจืžืข ื•ื•ืขืŸ ื“ืขืจ ืฆื™ืœ ื•ื•ื™ื ืงืœ ืื™ื– ืจื™ื˜ืฉื˜:

  turntable_motor.stop(Stop.BRAKE)

ืฉื˜ืขืœืŸ ื“ื™ ืขืจืฉื˜ ืฉื˜ืขืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืฉืขืคึผืŸ ืื™ืŸ ื“ืขืจ ืื•ื™ื‘ืขืจืฉื˜ืขืจ ืฉื˜ืขืœืข:

pen_holder_raise()

ืื™ืฆื˜ ืงื•ืžื˜ ื“ืขืจ ื”ื•ื™ืคึผื˜ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทื - ืึท ืกืึธืฃ ืฉืœื™ื™ืฃ. EV3 ืขืจืฉื˜ืขืจ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืงืึธืœื™ืจ ืกืขื ืกืขืจ ืฆื• ื“ืขื˜ืขืงื˜ ืึท ื•ื•ื™ื™ึทืก ืคึผืึทืคึผื™ืจ ืึธื“ืขืจ ื‘ืœื•ื™ ืึธื ื”ื™ื™ื‘ ืงื•ื•ืึทื“ืจืึทื˜ ืื•ืŸ ืคึฟืึทืจ ื“ื™ ืคืึทืจื‘ื™ื ื“ืŸ ืกืขื ืกืขืจ ืฆื• ื–ื™ื™ืŸ ื’ืขื“ืจื™ืงื˜. ื“ืขืจื ืึธืš ืขืจ ื“ืจืึธื– ืึท ืžื•ืกื˜ืขืจ, ืงืขืจื˜ ื–ื™ืš ืฆื• ื“ื™ ืกื˜ืึทืจื˜ื™ื ื’ ืฉื˜ืขืœืข ืื•ืŸ ืจื™ืคึผื™ืฅ ืึทืœืฅ ื•ื•ื™ื“ืขืจ.

ื•ื•ืขืŸ ื“ื™ ืžื™ื˜ืœ ืื™ื– ื ื™ืฉื˜ ื’ืจื™ื™ื˜, ื“ื™ ืœืขื“ืก ืื•ื™ืฃ ื“ื™ ืงืึธื ื˜ืจืึธืœืœืขืจ ื•ื•ืขืจืŸ ืจื•ื™ื˜ ืื•ืŸ ืึท "ื˜ืึทืžื– ืึทืจืึธืคึผ" ื‘ื™ืœื“ ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื•ื™ืฃ ื“ื™ ืœืงื“ ืคืึทืจืฉื˜ืขืœืŸ:

while True:
  brick.light(Color.RED)
  brick.display.image(ImageFile.THUMBS_DOWN)

ืžื™ืจ ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ื“ื™ ืงืึธืœื™ืจ ืกืขื ืกืขืจ ืงืึทื•ื ืฅ ื‘ืœื•ื™ ืึธื“ืขืจ ื•ื•ื™ื™ึทืก, ืฉื˜ืขืœืŸ ื“ื™ ื’ืขืคื™ืจื˜ ืงืึธืœื™ืจ ืฆื• ื’ืจื™ืŸ, ื•ื•ื™ื™ึทื–ืŸ ืึท "ื˜ืึทืžื– ืึทืจื•ื™ืฃ" ื‘ื™ืœื“ ืื•ื™ืฃ ื“ื™ ืœืงื“ ืคืึทืจืฉื˜ืขืœืŸ ืื•ืŸ ื‘ืึทืจื™ื›ื˜ ืึทื– ื“ื™ ืžื™ื˜ืœ ืื™ื– ื’ืจื™ื™ื˜ ืคึฟืึทืจ ื ื•ืฆืŸ:

  while color_sensor.color() not in (Color.BLUE, Color.WHITE):
	
wait(10)
  brick.light(Color.GREEN)
  brick.display.image(ImageFile.THUMBS_UP)

ืžื™ืจ ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ื“ื™ ืคืึทืจื‘ื™ื ื“ืŸ ืกืขื ืกืขืจ ืื™ื– ื’ืขื“ืจื™ืงื˜, ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ื•ื•ื™ื ืงืœ ื•ื•ืขืจื˜ 0 ืฆื• ื“ื™ ื’ื™ืจืึธืกืงืึธืคึผื™ืง ืกืขื ืกืขืจ ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ืฆื™ื™ื›ืขื ื•ื ื’:

  while not touch_sensor.pressed():
	
wait(10)
  gyro_sensor.reset_angle(0)
  pen_holder_turn_to(15)
  pen_holder_lower()
  pen_holder_turn_to(30)
  pen_holder_raise()
  pen_holder_turn_to(45)
  pen_holder_lower()
  pen_holder_turn_to(60)

ื”ื™ื™ื‘ืŸ ื“ื™ ืคืขื“ืขืจ ื”ืึธืœื“ืขืจ ืื•ืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืขืก ืฆื• ื–ื™ื™ืŸ ืึธืจื™ื’ื™ื ืขืœ ืฉื˜ืขืœืข:

  pen_holder_raise()
  pen_holder_turn_to(0)</i>

ื“ืึธืก ืื™ื– ื“ืขืจ ืคึผืฉื•ื˜ ืคึผืจืึธื’ืจืึทื ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืืฉืืคืŸ. ืื•ืŸ ืื™ืฆื˜ ืžื™ืจ ืงืึทื˜ืขืจ ืขืก ืื•ืŸ ืงื•ืง ืื™ืŸ ื“ื™ ื“ืจืึทืคื˜ื™ื ื’ ืจืึธื‘ืึธื˜ ืื™ืŸ ืงืึทืžืฃ. 

ื•ื•ืึธืก ื’ืขื‘ืŸ ืึทื–ืึท ื‘ื™ื™ืฉืคื™ืœืŸ?

LEGO MINDSTORMS Education EV3 + MicroPython: ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืึท ืงืึทื ืกื˜ืจืึทืงืฉืึทืŸ ืฉื˜ืขืœืŸ ืคึฟืึทืจ ืงื™ื ื“ืขืจ ืื™ืŸ ื“ืขืจื•ื•ืึทืงืกืŸ ืฉืคึผืจืึทืš

EV3 ืื™ื– ืึท ืงืึทืจื™ืขืจืข ื’ื™ื™ื“ืึทื ืก ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ STEM ืงืึทืจื™ืขืจืข ืื•ืŸ ืึท ืคึผืึธื–ื™ืฆื™ืข ืคื•ื ื˜ ืื™ืŸ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืงืึทืจื™ืขืจืข. ื–ื™ื ื˜ ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืกืึธืœื•ื•ืข ืคึผืจืึทืงื˜ื™ืฉ ืคึผืจืึธื‘ืœืขืžืก, ืงื™ื ื“ืขืจ ื‘ืึทืงื•ืžืขืŸ ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ื˜ืขื›ื ื™ืฉ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ืŸ ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ื™ื ื“ืึทืกื˜ืจื™ ืจืึธื•ื‘ืึทืฅ, ืœืขืจื ืขืŸ ืฆื• ืกื™ืžื•ืœื™ืจืŸ ืคืึทืงื˜ื™ืฉ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก, ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืžื’ื™ืœื” ืื•ืŸ ืึทื ืึทืœื™ื™ื– ืึทืœื’ืขืจื™ื“ืึทืžื– ืื•ืŸ ื‘ืขืœ ื™ืงืขืจื“ื™ืง ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืงืึทื ืกื˜ืจืึทืงืฉืึทื ื–.

ืžื™ืงืจืึธืคึผื™ื˜ื”ืึธืŸ ืฉื˜ื™ืฆืŸ ืžืื›ื˜ ื“ื™ EV3 ืคึผืœืึทื˜ืคืึธืจืžืข ืคึผืึทืกื™ืง ืคึฟืึทืจ ืžื™ื˜ืœืฉื•ืœ ืœืขืจื ืขืŸ. ืกื˜ื•ื“ืขื ื˜ืŸ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ ื–ื™ืš ื•ื•ื™ ืคึผืจืึธื•ื’ืจืึทืžืขืจื– ืื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคืึธืœืงืก ืžืึธื“ืขืจืŸ ืฉืคึผืจืึทื›ืŸ, ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืงืึทื ื˜ ืžื™ื˜ ืคึผืจืึทืคืขืฉืึทื ื– ืฉื™ื™ึทื›ื•ืช ืฆื• ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืื•ืŸ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ืคึผืœืึทืŸ. EV3 ืงื™ืฅ ื•ื•ื™ื™ึทื–ืŸ ืึทื– ืงืึธื“ื™ืจื•ื ื’ ืื™ื– ื ื™ืฉื˜ ืกืงืขืจื™, ืฆื•ื’ืจื™ื™ื˜ืŸ ืื™ืจ ืคึฟืึทืจ ืขืจื ืกื˜ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ื˜ืฉืึทืœืึทื ื“ื–ืฉื™ื– ืื•ืŸ ื”ืขืœืคึฟืŸ ืื™ืจ ื ืขืžืขืŸ ื“ื™ ืขืจืฉื˜ืขืจ ืฉืจื™ื˜ ืฆื• ืžืึทืกื˜ืขืจื™ื ื’ ื˜ืขื›ื ื™ืฉ ืกืงื™ืœื–. ืื• ืŸ ืคื ืจ ื“ ื™ ืฐื ืก ืืจื‘ืขื˜ ืŸ ืื™ ืŸ ืฉื•ืœ ืŸ ืื• ืŸ ื–ืฒื ืข ืŸ ืคืืจื‘ื•ื ื“ ืŸ ืžื™ ื˜ ื—ื™ื ื•ืš , ื”ืื‘ ืŸ ืžื™ ืจ ื–ื™ ืš ืฆื•ื’ืขื’ืจืฒื˜ ืœืขืงืฆื™ืข ืžื’ื™ืœื” ืื•ืŸ ื‘ื™ืœื“ื•ื ื’ืงืจื™ื™ื– ืžืึทื˜ืขืจื™ืึทืœืก. ื–ื™ื™ ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืื™ืŸ ื“ืขื˜ืึทืœ ื•ื•ืึธืก ืกืงื™ืœื– ื–ืขื ืขืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ื–ื™ื›ืขืจ ื˜ืึทืกืงืก, ืื•ืŸ ื•ื•ื™ ื“ื™ ืงื•ื ื” ืกืงื™ืœื– ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ื˜ืจื™ื™ื ื™ื ื’ ืกื˜ืึทื ื“ืึทืจื“ืก.

ืžืงื•ืจ: www.habr.com

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster