Thuta Learning
ရှာဖွေရန်
IntermediateHardwarebeginner

Controlling GPIO with Python

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Controlling GPIO with Python ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် hardware wiring/code ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

gpiozero က Raspberry Pi ရဲ့ GPIO ကို Python ကနေ ထိန်းချုပ်ဖို့ beginner-friendly library ပါ (RPi.GPIO ထက် syntax ရိုးရှင်းပါတယ်) — Pi board တွေမှာ preinstalled ရှိပြီးသားပါ။ LED class ကို import လုပ်ပြီး pin number (BCM) ကို parameter ပေးရင် LED object တစ်ခု ရပါတယ် — .on(), .off(), .blink() method တွေ ခေါ်ရုံနဲ့ physical LED ကို control လုပ်လို့ရပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

from gpiozero import LED ကို import ပြီး, led = LED(17) ဆိုပြီး BCM pin 17 ကို GPIO 17 လို့ ကြေညာလိုက်ပါတယ် — led.on() ခေါ်ရင် LED လင်းသွားပြီး, led.off() ခေါ်ရင် ပျောက်သွားပါလိမ့်မယ်, led.blink() ခေါ်ရင် continuous ဖြင့် blink ဖြစ်နေပါလိမ့်မယ် (interval parameter ဖြင့် speed adjust လုပ်လို့ရပါတယ်)။

အတူတူ ကြည့်မယ်

python
from gpiozero import LED
from time import sleep

led = LED(17)  # BCM pin 17

# Simple on/off
led.on()
sleep(1)
led.off()

# Built-in blink (0.5s on, 0.5s off, repeating)
led.blink()

# Keep the script running so blink() continues
from signal import pause
pause()
You should see
LED ကို ၁ စက္ကန့် on ဖြစ်ပြီး off ဖြစ်ပြီးနောက် continuous blink ဖြစ်နေတာ physical LED ပေါ်မှာ တွေ့ရမည်။

၅ မိနစ် စမ်းကြည့်

LED wiring ပြီးသားဆိုရင် (ယခင်အခန်းကနေ), gpiozero script ကို ကိုယ်တိုင်ရေးပြီး on/off/blink ကို run ကြည့်ပါ။

သတိလေးတစ်ချက်

Script ကို Ctrl+C ဖြင့် ရပ်တဲ့အခါ GPIO state (LED on ဖြစ်နေရင်) ဆက်ကျန်နေနိုင်ပါတယ် — gpiozero က automatic cleanup လုပ်ပေးပေမယ့် RPi.GPIO library သုံးရင် GPIO.cleanup() ကို manual ခေါ်ရပါမယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Pin number ကို code ထဲမှာ physical pin number (BCM မဟုတ်) ရေးမိပြီး LED အလုပ်မလုပ်ခြင်း
  • signal.pause() (သို့) loop မထည့်ဘဲ script ချက်ချင်း ပြီးသွားလို့ blink() effect မမြင်ရခြင်း

အခု ကိုယ်တိုင် စမ်းကြည့်

LED wiring ပြီးသားဆိုရင် (ယခင်အခန်းကနေ), gpiozero script ကို ကိုယ်တိုင်ရေးပြီး on/off/blink ကို run ကြည့်ပါ။

You'll know it worked when: LED ကို ၁ စက္ကန့် on ဖြစ်ပြီး off ဖြစ်ပြီးနောက် continuous blink ဖြစ်နေတာ physical LED ပေါ်မှာ တွေ့ရမည်။

Controlling GPIO with Python | Thuta Learning