เริ่มเรียนรู้ Physical Programming ด้วย Scratch และ GPIO บน Raspberry Pi ตอนที่ 1

เร่ิมต้นด้วยการตั้งคำถาม "เหตุผลที่เราควรศึกษาการสร้างซอฟต์แวร์ คืออะไร ?" มีหลายแห่งที่ให้คำตอบในเรื่องนี้ แต่ผมขออ้างอิงจากเว็บไซต์ของสถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี ดังนี้ ครับ

Scratch คือซอฟต์แวร์ที่ช่วยในการเรียนรู้การสร้างโปรแกรมคอมพิวเตอร์ ในสภาพแวดล้อมที่เรียกว่า Visual Programming Environment ซึ่งในสภาพแวดล้อมนี้จะทำให้ผู้เริ่มต้นสามารถเรียนรู้การพัฒนาซอฟต์แวร์โดยไม่ต้องใช้สภาพแวดล้อมแบบนักคอมพิวเตอร์ แต่ใช้การสร้างปฎิสัมพันธ์กับรูปภาพที่เห็นบนหน้าจอแทนซึ่งทำความเข้าใจได้ง่าย


                         By scratch.mit.edu, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=35453328




เนื่องจากพื้นฐานการสร้างซอฟต์แวร์นั้นมาจากการคิด ดังนั้นผู้เรียนหรือผู้ใช้ไม่ว่าจะเป็นเด็ก หรือผู้ใหญ่ที่เพิ่งเริ่มต้น Scratch สามารถเรียนรู้ผ่านการสร้างสรรค์งานต่าง ๆ ได้ เช่น Animation, Games, Story telling, Art works, ฯล โดยมุ่งไปที่การพัฒนารูปแบบการคิดได้อย่างเต็มที่ ไม่ต้องสนใจหรือกังวลกับเรื่องหลักการทางภาษา Computer programming  ปัจจุบัน Scratch ถูกนำไปใช้ในการสอนในกว่า 150 ประเทศ ถูกแปลเป็นภาษาท้องถิ่น 40 ภาษา ซึ่งทางสถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี ก็ได้จัดทำตำราเรื่องการใช้ Scratch ไว้แล้วเช่นกัน








Scratch ถูกนำมารวมไว้ใน Raspbian  เพื่อใช้ติดตั้งบน Raspberry Pi ทุกรุ่นตั้งแต่เริ่มต้นจนถึงปัจจุบัน และได้มีการพัฒนาขีดความสามารถมาตลอด แต่ Scratch ที่ติดตั้งบน Raspberry Pi จะแตกต่างจาก Scratch ที่มีอยู่บนเว็บไซต์ (https://scratch.mit.edu/projects/editor/?tip_bar=getStarted)
และรุ่นที่อยู่บนเว็บคือ 2.0 และไม่สามารถใช้งานบน Raspberry Pi ได้โดยตรง

ในบทความนี้จะกล่าวแนะนำ Scratch เท่านั้น เพื่อจะนำเขาไปสู่เรื่องการใช้ Scratch กับ Physical Programming ดังนั้นรายละเอียดการใช้งานจะละไว้ให้อ่านจาก https://kidsangsan.com/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%82%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1-scratch/ ซึ่งเขียนไว้ละเอียดดีมาก ครับ

Scratch Modification

เรียกสั้น ๆ ว่า Scratch mod เป็น Scratch  ที่มีการถูกนักพัฒนานำไปดัดแปลงเพื่อให้มีคุณสมบัติใหม่ตามต้องการ ปัจจุบันมี Scratch จำนวนมาก ท่านสามารถติดตามข้อมูลได้จาก https://wiki.scratch.mit.edu/wiki/List_of_Scratch_Modifications

ข้อควรทราบ 

Scratch ที่มากับ Raspbian จะต่างจากรุ่นที่มีอยู่บนเว็บไซต์ https://scratch.mit.edu ดังนี้

1. ปัจจุบันทางคณะผู้พัฒนาได้ออก Scratch รุ่น 2.0 มาแล้ว แต่รุ่นที่มากับ Raspbian เป็นรุ่น 1.4 (https://wiki.scratch.mit.edu/wiki/Scratch_1.4)

2. Scratch 2.0 ได้เปลี่ยนเครื่องมือที่ใช้พัฒนาไปเป็น Flash ซึ่งไม่สามารถนำมาใช้งานบน Raspbian ได้ แต่สามารถติดตั้งใช้งานบนคอมพิวเตอร์ PC ได้ (https://scratch.mit.edu/scratch2download/) ในขณะที่รุ่น 1.4 พัฒนาด้วยภาษา SmallTalk

3. มีคุณสมบัติใหม่ที่เพิ่มขึ้นใน Scratch 2.0 หลายประการ (https://wiki.scratch.mit.edu/wiki/Scratch_2.0) ได้แก่

  • Sound Editor 
  • Customer Block ผู้ใช้สามารถสร้าง block คำสัั่งเพิ่มเติมเองได้
  • Video sensing 
  • Cloud storage
  • ฯล

[ตอนที่ 2][ตอนที่ 3][ตอนที่ 4][ตอนที่ 5]



Previous
Next Post »