Skip to content
Notes

Raspberry Pi ရဲ့ GPIO အကွောငျး

Thohi

Contributor

3 min read

Raspberry Pi ဘာလဲဆိုတာတော့ မရှင်းပြတော့ပါဘူး။ ကျွန်တော်တို့ Ubuntu Myanmar LoCo Team ရဲ့ ဆေးထိုးကြမ်းခကျ်တွေကြောင့် တော်တော်များများ ရင်းနှီးပြီးသားဖြစ်နေပြီလို့ မျှော်လင့်ပါတယ်။ အခုရေးဖြစ်မယ့် အကြောင်းကေတာ့ RPi မှာပါလာတဲ့ GPIO ( General purpose input/output) pin လေးတွေကို ရင်းနှီးသွားအောင်ပါ။ RPi image file တွေကို ကူးယူပြီး SD card ထဲရိုက်ထည့်လိုက်ထဲက GPIO အတွက် နဂိုပါလာပြီးသား document နှင့် lib file တွေပါလာပါလိမ့်မယ်။ ဟိုအရင်တုန်းကေတာ့ OS သွင်းပြီးရင် သူတို့ကို ထပ်ထည့်ရတာမျိုးရှိတတ်ပေမယ့် အခုချိန်တွမှောတော့ တခါတည်း ပါပြီးသားပါ။ ကိုယ်စက်ထဲ version ဘယ်လောက်ရှိပြီလဲ သိခငျ်ရင်တော့ အခုလိုစစ်ကြည့်နိုင်ပါတယ်။

find /usr | grep -i gpio

OS နှင့်အတူပါလာတဲ့ version ကတော့ 0.5.5 ဖြစ်နေပါမယ်။ ဒါကတော့ ကိုယ်ကူးထားတဲ့ OS version ပေါ်လည်းမူတည်နိုင်ပါတယ်။ ဒီ lib တွေကို အဆင့်ထပ်မြင့်လို့ရပါတယ်။ သူနဲ့ တပါတည်း python အတွက် လိုအပ်မယ်ထင်တာလေးကိုပါ အခုလိုထည့်သွင်းပါမယ်။

sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-rpi.gpio

အခုလို python module လေးနဲ့ ထည့်သွင်းပြီးသွားပြီဆိုရင် အထက်က command အတိုင်းပြန်စစ်ကြည့်လိုက်ပါ။ version ပြောင်းလဲသွားတာတွေ့ရပါမယ်။ ယခုလက်ရှိ version ကတော့ 0.5.9 ပါ။ နောက်တမျိုး စစ်ကြည့်ခငျ်ရင်တော့ python နည်းနဲ့ စစ်ကြည့်တာပါ။ terminal ဖွင့်ပြီး အခုလို လိုက်လုပ်ကြည့်ပါ။

sudo python
Python 2.7.3 (default,Mar 18 2014,05:13:23)
[GCC 4.6.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>import RPi.GPIO as GPIO
>>>GPIO.VERSION
‘0.5.9’
>>>>

စစ်ကြည့်ပြီးလို့ ထွက်ခငျ်ရင်တော့ CTRL+D နှိပ်လိုက်ရုံပါပဲ။ အခုလိုထွက်လာရင်တော့ စစ်ဆေးမှု အဆင်ပြေပါတယ်။ နောက်တမျိုးကေတာ့ အလွယ်တကူနောက်တခါစစ်ရင် အဆင်ပြေအောင် python script လေးလုပ်ထားတာမျိုးပါ။ အခုလို လုပ်လို့ရပါတယ်။ version.py ဆိုတဲ့ နာမည်နဲ့ ဖိုင်တခုလုပ်လိုက်ပြီး ကြိုက်တဲ့ text editor သုံးပြီး ဒီစာကြောင်းလေးတွေကူးထည့်ပေးလိုက်ရုံပါပဲ။

import RPi.GPIO as GPIO
a = GPIO.VERSION
print a

ပြီးရင်ဖိုင်ကို save လိုက်ပါ။ ပြန်ဖွင့်စစ်မယ်ဆိုရင်တော့ အခုလို command နဲ့ အခုလိုအဖြေထွက်လာပါလိမ့်မယ်။

sudo python version.py
0.5.9

အခုလို လိုအပ်တဲ့ software ပိုင်းကို ထည့်သွင်းပြီးရင်တော့ hardware ပိုင်းဘက်ကို လေ့လာကြည့်ရအောင်။ GPIO pin တှကေတော့ Rpi A & B model တှကေ 26 pins ပါဝင်ပါတယ်။ Rpi A+,B+ နှင့် အခုနောင်ဆုံးထွက်မယ့် Rpi B2 တို့မှာတော့ 40 pins ပါဝင်ပါတယ်။ pin တွေကို စတင်ရေတွက်တဲ့အခါ sd card ရှိတဲ့ ဘက်က စတင်ရေတွက်ပါမယ်။ ပုံနဲ့တကွ ကြည့်လိုက်ပါ။ အခုပုံကတော့ model A & B အတွက်ပါ။

GPIOs

ရှင်းရှင်းလင်းလင်းထပ်မြင်ရအောင်နောက်တပုံကိုကြည့် ကြည့်ပါ။ နံပါတ်တွေကတော့ GPIO နံပါတ်တွပေါ။ ဒါတွေကအရေးကြီးပါတယ် coding ရေးတဲ့အခါမွာ ဒီနံပါတ်တွေကိုပဲ ထည့်သွင်းရပါတယ်။ အခုပုံမှာ ပြောခငျ်တာကတော့ pin 21 နှင့် 27 ဟာ အတူတူ ဖြစ်နေပါတယ်။ ထို့နည်းတူစွာ GPIO 0=2 ,GPIO 1=3 အတူတူပါ။ ဘာပဲဖြစ်ဖြစ်အဆင်ပြေပါတယ်။

learn_raspberry_pi_gpio-srm

ပါဝင်တဲ့ pin တွေအကြောင်းပြောရရင် True GPIO တွေက မီးလုံးလေးတွေ ဖွင့်တာပိတ်တာ စတဲ့ လုပ်ဆောင်ခကျ်တွေလုပ်နိုင်ပါတယ်။ I2C pin (GPIO 2 and 3 ) ကတော့ control pin ၂ချောင်းထဲ ပါတဲ့ module တွေနဲ့ ချိတ်ဆက်လို့ အဆင်ပြေပါတယ်။ SPI pin တှကေတော့ SPI devices တွေနဲ့ ချိတ်ဆက်ရင် အဆင်ပြေပါတယ်(GPIO 10,09,11,08,07) ။ I2C နဲ့ concept တူသော်လည်း မတူညီတဲ့ စံနဲ့ပါ။ နောင်တခုကတော့ serial ချိတ်ဆက် ဆက်သွယ်မှုအတွက် RX, TX pin (GPIO 14,15) တွေရှိပါတယ်။ တချို့ pin တှကေိုတော့ PWM (pulse Width Modulation) အတွက် နှင့် PPM (Pulse Position Modulation) တို့အတွက် သုံးနိုင်ပါတယ်။ ဒါတွကေ servo motor တှကေို control လုပ်တဲ့သူတွေ သိကြပါတယ်။ ကနျ်တဲ့ 3.3V , 5V , Ground တို့ကတော့ power ချိတ်ဆက်သုံးလိုလျှင်သုံးနိုင်အောင်ပါ။ သူတို့ကိုလည်း digital Input or Output အနေနဲ့လည်း သုံးနိုင်ပါတယ်။ အခုထပ်ပြခငျ်တဲ့ ပုံကတော့ Pins 40 ပါတဲ့ ပုံပါ။ ပုံမှာ pins တွေ ဘာအတွက် သုံးနိုင်တယ်ဆိုတာ အပေါ်က model တွေအတိုင်းရေးထားပါတယ်။ ကြည့်လိုက်ပါ။

rsz_rpi-gpio-pins

pin အရေအတွက် များလာတော့ hardware များနဲ့ ဆက်သွယ်လုပ်ဆောင်ရတာ ပိုအဆင်ပြေလာတာတွေ့ရပါမယ်။ ဘာတွေလုပ်ခငျ်သလဲဆိုတာကတော့ ကိုယ်ဆုံးဖြတ်တဲ့အပေါ်မူတည်ပါတယ်။ Rpi နဲ့ မိမိတို့ လုပ်ဆောင်ခငျ်တာများ အဆင်ပြေကြပါစေ။

Tho Hi

Raspberry Pi GPIO Intro

linux@gpio cat readme.txt What is GPIO ? How can do with GPIO ? and Its basic usage ကျနော်အခု rasppberry pi ကနေ Gpio ကို python programming ကနေ တဆင့် ထိန်းချုပ် တဲ့ ပုံစံလေးကို…

Ko Ko Ye

5 min read

Easy Raspberry Pi Setup Guide for MYANMAR

Raspberry Pi Setup Guide Raspberry Pi ဆိုသည်မှာ credit size သာသာရှိသော single board computer တစ်ခုဖြစ်ပြီး ကျောင်းများတွင် computer science များ…

Chit Ko Ko

9 min read