LAB1 — [M2.1] — Python GPIO Control Raspberry Pi3 Model B+

Puwanat Torcheewee
3 min readMar 28, 2020

--

ในบทความนี้เราจะทำลองใช้ GPIO ของบอร์ด Raspberry Pi สั่งเปิด-ปิดไฟ LED และการกดปุ่มเพื่อรับอินพุต เป็นการเรียนรู้การใช้งาน GPIO เบื้องต้นนะครับ โดยเราจะเขียนด้วย python

สิ่งที่เราควรทราบ GPIO PIN

PIN GPIO ที่ใช้งาน

เริ่มการทดลอง

การทดลองที่ 1 ไฟกระพริบ (BLINK LED)

  • ใช้ขา 6 (GND) ต่อตัวต้านทาน 330 Ω และต่อขาลบของ LED
  • ใช้ขา 13 (GPIO27) ต่อเข้ากับขาบวกของ LED

ขั้นตอนการทดลอง

  • เข้าโปรแกรม Menu > Programming > Python 3 (IDLE)
  • หมายเหตุ ถ้าไม่ขึ้น Python 3 (IDLE) ใช้คำสั่งนี้ลงใน Terminal
$sudo apt-get install idle3
  • เข้าเมนู File > New Window
  • โค้ดในการรันโปรแกรม
  • จากนั้นเข้าไปที่ File ⟹ Save as (Ctrl + S + Shift)
  • บันทึกไฟล์ชื่อว่า blink.py ไว้ที่ /home/pi (ตำแหน่ง Default)

การทดสอบ

  • เข้าที่ Terminal พิมพ์คำสั่ง
$sudo python blink.py
  • จะเห็นว่าไฟ LED จะติดดับครั้งละ 1 วินาที
  • เมื่อต้องการออกให้กด Ctrl + C เพื่อยกเลิกการทำงานของโค้ด

➽ การทดลองที่ 2 ปุ่มกด (กด-ติด, ปล่อย-ดับ)

การทดลองนี้จะต่อปุ่มกดแบบ Pull-up โดยต่อจากวงจรเดิมโดยไฟ LED จะดับเมื่อกดปุ่มไฟ LED จะติด

การต่อวงจร

  • ใช้ขา 11 (GPIO17) ต่อเข้ากับขาบวกของ LED
  • ใช้ขา 6 (GND) ต่อตัวต้านทาน 330 Ω และต่อขาลบของ LED
  • ใช้ขา 15 (GPIO22) ต่อเข้ากับขาข้างหนึ่งของปุ่มกด
  • ใช้ขาอีกข้างหนึ่งของปุ่มกด แบบ Pull-up ต่อลง GND (ดังภาพ)
  • โค้ดในการรันโปรแกรม
  • พิมพ์โค้ดที่ให้มาลงไปในโปรแกรม Python 3(IDLE) เหมือนการทดลองแรกแล้ว save file ชื่อว่า button.py

การทดสอบ

เข้าที่ Terminal พิมพ์คำสั่ง

$sudo python button.py
  • จะเห็นว่าไฟ LED จะดับ …เมื่อกดปุ่มกดไฟ LED จะติด
  • เมื่อต้องการออกให้กด Ctrl + C เพื่อยกเลิกการทำงานของโค้ด

➽ การทดลองที่ 3 ปุ่มกด (กด-ติด, กด-ดับ)

การต่อวงจรคล้ายการทดลองที่ 2 เปลี่ยนเพียงโค้ดการรัน

  • โค้ดในการรันโปรแกรม
  • พิมพ์โค้ดที่ให้มาลงไปในโปรแกรม Python 3(IDLE) เหมือน การทดลองแรกแล้ว save file ชื่อว่า button2sts.py

การทดสอบ

เข้าที่ Terminal พิมพ์คำสั่ง

$sudo python button2sts.py
  • จะเห็นว่าเมื่อกดปุ่มไฟ LED จะติด แล้วเมื่อกดปุ่มกดอีกทีไฟ LED จะดับ
  • เมื่อต้องการออกให้กด Ctrl + C เพื่อยกเลิกการทำงานของโค้ด

สำหรับบทความนี้คือการเริ่มต้นการใช้งานเบื้องต้นของ PIN GPIO โดยใช้ Python ในการเขียนคำสั่งในการใช้งานครับ

--

--