ในระหว่างที่รอบอร์ด MCU ของ arduino เพื่อไม่ให้เสียเวลา ตอนนี้เรามาดูการเขียนโปรแกรมกับบอร์ดของ Raspberry Pi 2 Model B กันก่อนครับ
มาดูหน้าตาของ raspberry Pi 2 Model B กันก่อน
การต่อสาย power, keyboard, mouse, HDMI และสายต่าง ๆ จะไม่ขอกล่าวในที่นี้ เพราะคนที่จะทำตามนี้ได้ ต้องมีพื้นฐานด้านคอมพิวเตอร์มาบ้างแล้ว
ในส่วนของการติดตั้ง OS Respbian ก็ขอให้ศึกษาได้จาก web ของผู้ผลิตได้เลย ตามลิงค์ด้านล่างนี้
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
ในขั้นต้นสมมุติว่า ได้ติดตั้ง OS Respbian เรียบร้อยแล้ว (ซึ่งมันก็คือ linux นั่นเอง)
ต่อไปเป็นการเตรียมความพร้อมที่จะใช้ภาษา python และ ติดตั้ง library ของ GPIO ตามขั้นตอนดังนี้
1. $ sudo apt-get update
2. $ sudo apt-get upgrade
ทั้ง 2 คำสั่งนี้เพื่อทำซอฟต์แวร์ OS และที่เกี่ยวข้องให้เป็นปัจจุบัน
เนื่องจาก ภาษา python นั้น Raspberry Pi ได้ติดมาแล้ว จึงสามารถใช้ได้เลย
และคาดว่า library GPIO จะได้ติดมาแล้วกับการติดตั้งหรือ upgrade OS
ต่อไปเป็นการทดสอบ import GPIO module ของ python
เริ่มด้วย Menu --> เขียนโปรแกรม --> Python 2 (IDLE)
พิมพ์คำสั่งนี้ แล้วกด Enter
>> import RPi.GPIO as GPIO
ถ้าหากไม่แสดงผล error ออกมาแสดงว่า Raspberry Pi ของเรามี library GPIO เรียบร้อยแล้ว
ถัดจากนั้นให้สร้างไฟล์เพื่อเขียนโปรแกรมกันเลย
โดยการเลือกรายการ File --> New File
จากนั้นลงมือเขียนโปรแกรมทดสอบการทำงานของ GPIO ก่อน
#source code: blink.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18,GPIO.OUT)
while 1:
GPIO.output(18,GPIO.HIGH)
time.sleep(1)
GPIO.output(18,GPIO.LOW)
time.sleep(1)
-----------------------------------------------------------
Save file ตั้งชื่อว่า blink.py
มาดูการต่อวงจร LED เพื่อทดสอบการทำงานของคำสั่งข้างบนกัน
เนื่องจากเพื่อความสะดวกจึงใช้ GPIO Extension Board มาเสียบเข้ากับ Breadboard
แล้วเชื่อมสายแพ (flat cable) เข้ากับ raspberry Pi อีกทีหนึ่ง จึงขอนำแบบวงจรมาให้ดูกันเพื่อให้เห็นรายละเอียดของวงจร ดังนี้
ขาที่ 3 นับจากบนขวา เป็นขา Ground หรือขา GND ต่อเข้ากับตัวต้านทาน แล้วต่อกับขาลบของ LED
ขาที่ 6 นับจากบนขวา (จริง ๆ คือ ขา GPIO18 ซึ่งใช้อ้างอิงในการเขียนโปรแกรม) แล้วต่อไปยังขาบวกของ LED
เมื่อต่อวงจรเรียบร้อยแล้ว ก็ลงมือสั่งให้โปรแกรมรัน หรือ execute โดยใช้คำสั่งที่ terminal
$ sudo python blink.py
ดูว่า LED ทำงานกระพริบหรือเปล่า
โปรแกรมนี้เป็นการทำงานแบบ loop ไม่รู้จบ จึงหยุดการทำงานโดยการกดปุ่ม Ctrl+C
สรุป
การเขียนโปรแกรมเพื่อทดสอบการทำงานของ Raspberry Pi เป็นการทดสอบ Hardware ในขั้นต้นก่อนว่าจะสามารถใช้งานในระดับที่ซับซ้อนได้หรือไม่ อย่างไรบ้าง
การเขียนโปรแกรมเพื่องาน IoT นั้นจะต้องสัมพันธ์กันระหว่าง Hardware และ Software
กล่าวคือ ถ้าเราเขียนคำสั่งให้ข้อมูลส่งสัญญาณ ดิจิทัลให้ขา GPIO หมายเลข 18 เป็น 1 หรือ 0 เราต้องเสียบสัญญาณที่ขา GPIO18 เท่านั้น หากไม่เป็นไปตามนี้ เราจะไม่สามารถเห็นผลลัพธ์ของการทำงานได้
และที่สำคัญคือ ภาษา Python เป็นภาษาคอมพิวเตอร์ที่เขียนโปรแกรมสั้น ๆ ง่าย ๆ จึงถูกเลือกเอามาเป็นภาษา default โดยตรงกับ Raspberry Pi ซึ่งในประเทศสหรัฐอเมริกา เขานำมาใช้สอนนักเรียนในระดับมัธยมศึกษา ทำให้นักเรียนเข้าใจการทำงานของระบบคอมพิวเตอร์ได้เร็วกว่า สนุกกว่า จินตนาการได้ไกลว่า
ลองพิจารณาดูกันนะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น