ตอนนี้จะแสดงให้เห็นตัวอย่างการใช้ Scratch 1.4 ที่มากับ Raspbian รุ่นล่าสุด ในการสร้าง Physical Programming กัน ครับ โดยผมจะอนุมานว่าท่านได้ทำความเข้าใจการใช้งาน Scratch มาจากตอนที่ 1 เรียบร้อยแล้วนะครับ
ตามที่กล่าวมาแล้วถึง GPIO Server ว่าจะช่วยให้ Scratch สามารถสื่อสารกับ GPIO Pin บน Raspberry Pi ได้ โดย GPIO Server จะคอยรับ "สาร" (message) จาก Scratch แล้วทำการ "เปิด" (on) หรือ "ปิด" (off) GPIO Pin
การเปิด-ปิด GPIO Server
ก่อนที่จะใช้คุณสมบัตินี้ได้ จำเป็นต้องทำการเปิดบริการเสียก่อน โดยทางเลือก 1 : ผ่านคำสั่งบน Menu Bar ของ Scratch ตามภาพ
ทางเลือก 2 : ใช้คำสั่ง "gpioserveron" เมื่อต้องการใช้บริการ หรือ "gpioserveroff" เมื่อต้องการยกเลิก โดยต้องพิมพ์คำสั่งนี้ใน Broadcast block ดังภาพ
เราต้องทำการ เปิดบริการ GPIO Server ก่อนการเรียกใช้งานเสมอ ส่วนการปิดนั้นไม่จำเป็นต้องประกาศทุกครั้งหลังใชังานก็ได้ และเมื่อเปิดใช้ GPIO Server แล้ว Scratch จะจดจำไว้ และจะถูกเปิดใช้งานโดยอัตโนมัติในการใช้เรียกโครงงานมาใช้ครั้งต่อ ๆ ไป
ชุดคำสั่ง
1. กำหนด mode ของ Pin
input mode :
config + | pin number + | in หรือ |
input หรือ | ||
inpullup หรือ | ||
inputpullup หรือ | ||
inpulldown หรือ | ||
inputpulldown |
output mode :
config + | pin number + | out หรือ |
output | ||
** pin number ต้องใช้ BCM Numbering เท่านั้น
ยกตัวอย่างเช่น หากเราต้องการกำหนดให้ Pin BCM Number ที่ 21 (Pin ตำแหน่งที่ 40) เป็น input mode ก็ใช้คำสั่ง
config21in หรือ config21input
ในกรณีที่มีการใช้ pull up resistor
config21inpullup หรือ config21inputpullup
ในกรณีที่มีการใช้ pull down resistor
config21inpulldown หรือ config21inputpulldown
2. กำหนดสถานะ (on/off)
gpio + pin number + on | off | high | low
เช่น
gpio21on
gpio21off
3. การใช้ PWN
จะใช้กับ output mode เท่านั้น และเป็น software PWM
การประกาศ :
config + pin number + outputpwm
เช่น
config21outputpwm
การใช้งาน :
gpio + pin number + pwm + pwm number [0 ... 1024]
เช่น
เช่น
gpio21pwn512
ทดลองการใช้งาน
จะแสดงตัวอย่างโดยการใช้กับโครงงานเปิด-ปิด LED กันนะครับ ง่ายดีเตรียมอุปกรณ์
ต่อ LED, Resistor และ GPIO Pin บน Raspberry Pi ตามภาพ ในตัวอย่างผมใช้ GPIO 21 หรือ Pin ตำแหน่งที่ 40 ต่อกับ ขา Anode ของ LEDสร้าง Scratch Script
[ตอนที่ 1] [ตอนที่ 2]
Sign up here with your email
ConversionConversion EmoticonEmoticon