บทที่ 2 ท่องไปในโลก kidbright เอกสารร่าง version...
TRANSCRIPT
วัตถุประสงค์การเรียน1. นักเรียนอธิบายความหมายของการเขียนโปรแกรมได้ถูกต้อง
2. นักเรียนมีความรู้พื้นฐานของบอร์ดKidBrightเบื้องต้น
3. นักเรียนอธิบายองค์ประกอบของบอร์ดKidBrightได้ถูกต้อง
4. นักเรียนอธิบายองค์ประกอบของโปรแกรมสร้างชุดคำาสั่ง
KidBrightIDEได้ถูกต้อง
5. นักเรียนอธิบายความหมายของบล็อกคำาสั่งของKidBright
ได้ถูกต้องทุกคำาสั่ง
บทที่ 2 ท่องไปในโลกKidBright
การเขียนโปรแกรมถือว่าเป็นการผสมผสานกันระหว่างศาสตร์ของศิลปะวิทยาศาสตร์คณิตศาสตร์และวิศวกรรมเข้าด้วยกัน
ความหมายของการโปรแกรมการเขยีนโปรแกรมคอมพิวเตอร์ (Computer Programming)
หรือเรียกให้สั้นลงว่า การเขียนโปรแกรม (Programming)
หรือ การเขียนโค้ด (Coding) เป็นขั้นตอนการเขียน
ทดสอบ และดูแลรหัสต้นฉบับหรือซอร์ซโค้ด (Source
Code) ของโปรแกรมคอมพิวเตอร์ ซึ่งซอร์ซโค้ดนั้นจะ
เขียนด้วยภาษาโปรแกรม ขั้นตอนการเขียนโปรแกรม
ต้องการความรู้ในหลายด้านด้วยกัน เกี่ยวกับโปรแกรมท่ี
ต้องการจะเขียน และขั้นตอนวิธีที่จะใช้ ซึ่งในวิศวกรรม
ซอฟต์แวร์น้ัน การเขียนโปรแกรมถือเป็นเพียงขั้นหนึ่งใน
วงจรชีวิตของการพัฒนาซอฟต์แวร์
ภาพที่2.1คอมไพเลอร์แปลงซอร์ซโค้ดภาษาซีเป็นภาษาเครื่อง
ซอรซโคดภาษาซี
ภาษาเคร�่อง
#include <stdio.h>int main(){ printf ("Characters: %c \n", 'a'); printf ("Decimals: %d \n", 1200); printf ("%s \n", "Hello World"); return 0;}
0101000011100000…………………….…………….
สาระการเรียนรู้การเขียนโปรแกรมจะได้มาซ่ึงซอร์ซโค้ดของโปรแกรมนั้นๆ
โดยปกติแล้วจะอยู่ในรูปแบบของข้อความธรรมดา ซึ่งไม่
สามารถน�าไปใช ้งานได ้ จะต ้องผ ่านโปรแกรมแปล
โปรแกรม หรือคอมไพเลอร์ (Compiler) เพื่อแปลงตัว
ซอร์ซโค้ดนั้นให้เป็นภาษาเครื่อง (Machine Language)
เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
!
บทที่ 2
บทที่ 2
34
หัววัดอุณหภูมิ
วนรอบ
หัววัดอุณหภูมิ
>
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
ถา
ทำ
นอกเหนือจากนี้
เขียนยูเอสบี สถานะ เปด
เขียนยูเอสบี สถานะ ปด
29
การสร้างชุดคำาสั่งแบบบล็อก การเขียนโปรแกรมคอมพิวเตอร์โดยท่ัวไปผู้เขียนจ�าเป็น
ต้องจดจ�าค�าสั่งและไวยากรณ์ของภาษาคอมพิวเตอร์ให้
แม่นย�าก่อน จึงจะสามารถสร้างชุดค�าสั่งที่ต้องการได้ ซึ่ง
ค�าสั่งเหล่านั้นเป็นภาษาอังกฤษและมีรูปแบบท่ีแน่นอน
ตายตัว ถ้าเขียนค�าสั่งผิดพลาดเพียงเล็กน้อยโปรแกรมจะ
ไม่สามารถท�างานได้ ท�าให้เป็นอุปสรรคส�าคัญต่อการเรียน
รู ้ของเด็กโดยเฉพาะในระดับประถมและมัธยมต้น ซ่ึงมี
ความสนใจบทเรียนในช่วงเวลาจ�ากัดและมักเกิดความเบื่อ
หน่ายต่อการต้องจดจ�าค�าสั่งเหล่านั้น
เพ่ือก้าวข้ามอุปสรรคดังกล่าว จึงเกิดวิธีการสร้างชุดค�าสั่ง
แบบบล็อกขึ้น ท�าให้การสร้างชุดค�าสั่งท�าได้ง่าย เพียงใช้
การลากบล็อกค�าสั่งที่ต้องการมาเรียงต่อกัน ช่วยให้ผู้เรียน
โฟกัสไปที่กระบวนการคิดมากกว่าการแก้ปัญหาเรื่องการ
พิมพ์ค�าสั่งผิด
ภาพที่2.2โปรแกรมควบคุมการรดน้ำาต้นไม้อัตโนมัติโดยใช้ภาษาซี
#include “DHT.h”#define DHTPIN 2 #define DHTTYPE DHT11 int RELAY1 = 7;DHT dht(DHTPIN, DHTTYPE);void setup() { Serial.begin(9600); dht.begin(); pinMode(RELAY1, OUTPUT);}void loop() { float t = dht.readTemperature(); Serial.print(“Temperature:“); Serial.print(t); Serial.println(“ *C”); if(t > 30){ digitalWrite(RELAY1, HIGH); } else{ digitalWrite(RELAY1, LOW); } delay(1000); }
ตัวอย่างในภาพที่ 2.2 แสดงการเขียนโปรแกรมภาษาซี
เพื่อท�าการอ่านค่าเซนเซอร์อุณหภูมิ และน�าค่าอุณหภูมิมา
ควบคุมการรดน�้าต้นไม้
ถ้าน�าโปรแกรมในภาพท่ี 2.2 มาเขียนด้วยภาษาบล็อกโดย
ให้ท�างานเหมือนกันจะสามารถเขียนได้ดังภาพท่ี 2.3 จะ
พบว่าการใช้ภาษาบล็อกเขียนโปรแกรมให้ท�างานอย่าง
เดียวกันกับโปรแกรมภาษาซี ท�าได้ง ่ายและใช้จ�านวน
บล็อกเพียงไม่กี่บล็อก
ภาพท่ี2.3โปรแกรมควบคุมการรดน้ำาต้นไม้อัตโนมัติโดยใช้ภาษาบล็อก
บทที่ 2
บทที่ 2
35
0101000011100000…………………….…………….
หัววัดอุณหภูมิ
วนรอบ
หัววัดอุณหภูมิ
>
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
ถา
ทำ
นอกเหนือจากนี้
เขียนยูเอสบี สถานะ เปด
เขียนยูเอสบี สถานะ ปด
29
ส่วนประกอบของบอร์ด KidBrightKidBright เป็นบอร์ดสมองกลฝังตัว (Embedded Board) สามารถใช้เป็นอุปกรณ์ควบคุมขนาดจ๋ิวที่ประกอบด้วย
ไมโครคอนโทรลเลอร์ (Microcontroller) จอแสดงผล นาฬิกาเรยีลไทม์ ล�าโพง และเซนเซอร์แบบง่าย โดยบอร์ด KidBright
จะท�างานตามค�าสั่งที่ผู้ใช้สร้างขึ้นผ่านโปรแกรมสร้างชุดค�าสั่งแบบบล็อก (Block Based Programming) ด้วยเหตุนี้เอง
บอร์ด KidBright จึงถูกน�ามาใช้เป็นเครื่องมือในการสอนเขียนโปรแกรมคอมพิวเตอร์ เนื่องจากผู้เรียนสามารถสร้างชุดค�าสั่ง
โดยใช้โปรแกรมสร้างชุดค�าสั่ง KidBright IDE (Integrated Development Environment) ที่สามารถใช้งานได้บนระบบ
ปฏิบัติการ Windows, Mac OS และ Ubuntu ชุดค�าสั่งที่สร้างข้ึนจะถูกส่งไปยังบอร์ด KidBright เพื่อให้บอร์ดท�างาน
ตามค�าสั่ง ท�าให้ผู้เรียนได้เห็นการท�างานจริงของชุดค�าสั่งที่สร้างขึ้นแบบเรียลไทม์ เพื่อให้เข้าใจบอร์ด KidBright ได้ดียิ่งขึ้น
จึงขอขยายความค�าว่าสมองกลฝังตัว และค�าว่าระบบปฏิบัติการ
ภาพที่2.4คอมไพเลอร์แปลงซอร์ซโค้ดภาษาบล็อกเป็นภาษาเครื่อง
เช่นเดียวกับโปรแกรมภาษาอื่นๆ ภาษาบล็อกจะถูกแปลง
เป็นภาษาเคร่ือง ผ่านโปรแกรมแปลโปรแกรม หรอืคอมไพเลอร์
(Compiler) เสียก่อนจึงจะได้เป็นโปรแกรมที่พร้อมใช้งาน
ภาษาบล็อก หรือ Blocky เป็นภาษาใหม่ที่ทาง Google ได้พัฒนาข้ึนมา โดยจะเป็น Visual Programming Language
หรือก็คือ Graphical Programming Language ที่ให้ผู้ใช้ลากบล็อกมาต่อกัน โดยบล็อกแต่ละตัวจะเป็นตัวแทนค�าสั่ง
ที่แตกต่างกันออกไป เมื่อน�าบล็อกมาเรียงต่อกันเป็นล�าดับตามข้ันตอนการท�างาน ก็สามารถท�างานได้เหมือนกับโปรแกรม
ทั่ว ๆ ไปได้เลย
บทที่ 2
บทที่ 2
36
สมองกลฝังตวั คอื คอมพวิเตอร์ขนาดเลก็ทีน่�าไปฝังไว้ในอปุกรณ์ต่าง ๆ เพือ่เพิม่ความฉลาดของอปุกรณ์นัน้ ๆ ผ่านซอฟต์แวร์
ควบคุมการท�างานที่แตกต่างจากระบบประมวลผลในคอมพิวเตอร์ สมองกลฝังตัวถูกใช้อย่างแพร่หลายในเครื่องใช้ไฟฟ้า
ยานพาหนะ และอุปกรณ์สื่อสาร การที่สามารถน�าไปฝังไว้ในอุปกรณ์นี้เอง ท�าให้มีชื่อเรียกว่า สมองกลฝังตัว โดยการพัฒนา
ซอฟต์แวร์ควบคุมการท�างานบนระบบสมองกลฝังตัวสามารถพัฒนาโดยใช้หรือไม่ใช้ระบบปฏิบัติการก็ได้
ภาพที่2.5สมองกลฝังตัว
สมองกลฝังตัวคืออะไร
บทที่ 2
บทที่ 2
37
Mouse
Monitor
HDD Users
ระบบปฏิบัติการ (Operating System) หรือ โอเอส (OS)
คือโปรแกรมที่ท�าหน้าที่เป็นตัวกลางเชื่อมต่อระหว่าง
ฮาร์ดแวร์ (Hardware) กบั ซอฟต์แวร์ประยกุต์ (Application)
ทั่วไปซึ่งท�าหน้าที่รับข้อมูลจากผู้ใช้อีกที โดยจะท�าหน้าที่
ควบคุมการแสดงผล การท�างานของฮาร์ดแวร์ ให้บริการ
กับซอฟต์แวร์ประยุกต์ทั่วไปในการรับส่งและจัดเก็บข้อมูล
กบัฮาร์ดแวร์ และจดัสรรการใช้ทรพัยากรระบบ (Resources)
ให้เป็นไปอย่างมีประสิทธิภาพ
ระบบปฏิบัติการ OS (Operating System)
โดยท่ัวไประบบปฏิบัติการนั้น ไม ่ ได ้มีแต ่ เฉพาะใน
คอมพิวเตอร์เท่านั้น แต่มีอยู ่ในอุปกรณ์อิเล็คทรอนิคส์
หลายชนิด เช่น โทรศัพท์มือถือ คอมพิวเตอร์พกพา พีดีเอ
แท็บเล็ต และระบบสมองกลฝังตัว โดยจะท�าหน้าที่ควบคุม
การท�างานของอุปกรณ์ต่าง ๆ และติดต่อกับผู ้ใช้ผ่าน
ซอฟต์แวร์ประยุกต์ (Application) ตัวอย่างของระบบ
ปฏิบัติการในคอมพิวเตอร์ ได้แก่ Windows, Linux, Mac
OS, Solaris, Ubuntu ส่วนตัวอย่างของระบบปฏิบัติการ
ใช้มือถือได้แก่ Windows Mobile, iOS และ Android
เป็นต้น และตัวอย่างของระบบปฏิบัติการท่ีใช้ในระบบ
สมองกลฝังตัวได้แก่ QNX และ FreeRTOS เป็นต้น
ภาพที่2.6การทำางานของระบบปฏิบัติการ
บทที่ 2
บทที่ 2
38
ติดตอกับผูใช(UserInterface)
ควบคุมการทำงานคอมพ�วเตอรOS
จัดสรรทรัพยากรในระบบ
ติดต่อกับผูใ้ช้ (User Interface) เนือ่งจาก OS ถูกสร้างขึน้
ด้วยจุดประสงค์หลัก คือ เพื่ออ�านวยความสะดวกในการ
ท�างานแก่ผู้ใช้ โดยที่ผู้ใช้ไม่จ�าเป็นต้องทราบการท�างานของ
ฮาร์ดแวร์ ก็สามารถท�างานได้โดยง่าย ดังนั้นจึงต้องมีส่วนที่
ท�าหน้าที่ติดต่อกับผู้ใช้ในลักษณะที่ง่ายต่อการใช้งาน
ควบคุมการท�างานของคอมพิวเตอร์ OS เป็นตัวกลางที่
เชื่อมต่อระหว่างผู้ใช้งานกับฮาร์ดแวร์ โดยผู้ใช้ไม่จ�าเป็น
ต้องเข้าใจในการท�างานของฮาร์ดแวร์ ดังนั้น OS จึงต้อง
มีหน้าท่ีควบคุมการท�างานของฮาร์ดแวร์ต่าง ๆ เหล่าน้ัน
แทนผู้ใช้ผ่านทางดีไวซ์ไดรเวอร์ (Device Driver) ของ
อุปกรณ์แต่ละชนิด
จัดสรรทรัพยากรในระบบ ในการท�างานของเครื่อง
คอมพวิเตอร์นัน้ จ�าเป็นต้องใช้ทรพัยากรต่าง ๆ เข้าช่วย เช่น
หน่วยประมวลผล หน่วยความจ�า เป็นต้น และทรัพยากร
เหล่านี้มีจ�ากัด จึงจ�าเป็นต้องมีการจัดสรรการใช้งานให้เกิด
ประโยชน์สูงสุด ท�าให้การประมวลผลด�าเนินไปอย่างมี
ประสิทธิภาพ
หน้าที่ของระบบปฏิบัติการ
โดยทั่วไปการเขียนโปรแกรมคอมพิวเตอร์ที่ใช้ภาษาต่าง ๆ หรือการสร้าง
ชุดค�าสั่งโดยใช้บล็อกใน KidBright เป็นการสร้างซอฟต์แวร์ประยุกต์
นั่นเอง ซอฟต์แวร์ประยุกต์ที่สร้างขึ้นจะติดต่อสื่อสารกับระบบปฏิบัติการ
อีกชั้นหนึ่ง เพื่อติดต่อหรือใช้งานฮาร์ดแวร์ ซอฟต์แวร์ประยุกต์จึงต้อง
ถูกแปลงให้อยู่ในรูปภาษาเครื่องที่ระบบปฏิบัติการเข้าใจได้
บทที่ 2
บทที่ 2
39
สวิทซ 1
วนรอบ
=ถา
ทำ Hello World!
1
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
งาน
สวิทซ 2 =ถา
ทำ
1
โนต โต7 ความยาว 0
วนรอบ
งาน
KidBright ประกอบด้วย 2 ส่วน คือ บอร์ดสมองกลฝังตัว KidBright และโปรแกรมสร้างชุดค�าสั่ง KidBright IDE โดยผู้เรียน
สามารถสร้างชุดค�าสั่งผ่าน KidBright IDE โดยการลากและวางบล็อกค�าสั่งที่ต้องการ จากนั้น KidBright IDE จะ Compile
และส่งชุดค�าสั่งดังกล่าวไปที่บอร์ด KidBright เพื่อให้บอร์ดท�างานตามค�าสั่ง อาทิ รดน้�าต้นไม้ตามระดับความชื้นที่ก�าหนด
หรือเปิดปิดไฟตามเวลาที่ก�าหนด
การทำางานของ KidBright
Compileคือการแปลงโปรแกรมคอมพิวเตอร์ภาษาใดๆไปเป็นภาษาเครื่องหรือรหัสคำาสั่งที่ส่วนควบคุมการทำางานของบอร์ดสมองกลฝังตัวสามารถนำาไปใช้งาน
!
สร้างชุดคำาสั่งควบคุมการทำางานบอร์ด
ประยุกต์การใช้งานตามจินตนาการ
ภาพที่2.7ภาพรวมการใช้งานKidBright
บทที่ 2
บทที่ 2
40
สวิทซ 1
วนรอบ
=ถา
ทำ Hello World!
1
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
งาน
สวิทซ 2 =ถา
ทำ
1
โนต โต7 ความยาว 0
วนรอบ
งาน
บอร์ด KidBright ที่ใช้ในโครงการ Coding at School เป็น
บอร์ดที่พัฒนาขึ้นเป็นรุ่นที่สอง ภายใต้ชื่อ KidBright32
โดยใช้อุปกรณ์ควบคุมการท�างานขนาดเล็กหรือเรียกว่า
ไมโครคอนโทรลเลอร์ (เบอร์ ESP32) เป็นตัวควบคุมการ
ท�างานของบอร์ด พร้อมติดตั้งจอแสดงผล นาฬิกาเรียลไทม์
1
8 910
3 42
5
6
7
11
12
เซนเซอรวัดอุณหภูมิ LED แสดงผล เซนเซอรวัดแสง
ชองเสียบสายไมโครยูเอสบี
พอรตยูเอสบี สว�ตช 1 สว�ตช 2
สว�ตชร�เซ็ต ชองสัญญาณอินพ�ต 1-4 ชองสัญญาณเอาตพ�ต 1-2
ลำโพง คอนเนกเตอร
1 2 3
4 5 6
7 8 9
10 11 12
บอร์ดสมองกลฝังตัวKidBright
ล�าโพง และเซนเซอร์พื้นฐาน โดยบอร์ดจะรับชุดค�าสั่งจาก
โปรแกรมสร้างชุดค�าสั่ง KidBright IDE ผ่านสายยูเอสบี
(USB) บอร์ด KidBright สามารถเช่ือมต่อเซนเซอร์
ภายนอกต่าง ๆ เพิ่มเติมได้ผ่านช่องสัญญาณ IN1-IN4
ดังแสดงในรูปที่ 2.8
ภาพที่2.8องค์ประกอบต่างๆของบอร์ดKidBright(ด้านหน้า)
บทที่ 2
บทที่ 2
41
KidBright32เป็นการนำาเอาตัวKidBrightไปรวมกับIoT(InternetofThings)ช่วยให้มีการส่งข้อมูลผ่านระบบเครือข่ายไปควบคุมอุปกรณ์ต่างๆในระยะไกลไม่ว่าจะเป็นการรดน้ำาต้นไม้ผ่านมือถือหรือการควบคุมสิ่งต่างๆในระยะไกล
14 15
13
นาิกาเร�ยลไทม รางใสแบตเตอร�่ สวนควบคุมการทำงาน13 14 15
!
ภาพที่2.9องค์ประกอบต่างๆของบอร์ดKidBright(ด้านหลัง)
บทที่ 2
บทที่ 2
42
1 เซนเซอรวัดอุณหภูมิใชวัดคาอุณหภูมิที่อยูรอบๆบอรด KidBright
2 จอแสดงผล LEDใชแสดงผลตัวอักษรขอความ หรือรูปภาพ
3 เซนเซอรวัดแสงใชวัดปริมาณแสงที่อยูรอบๆบอรด KidBright
4 ชองเสียบสายไมโครยูเอสบีใชเปนชองรับกระแสไฟฟาจากแหลงจายกระแสไฟฟา และรับขอมูลจากคอมพิวเตอร
5 ลำโพงเปนแหลงกำเนิดเสียงใหกับบอรด KidBright
คอนเนกเตอรเปนชองทางในการเชื่อมตอกับบอรดเสริมของ KidBright
สว�ตช 2ใชควบคุมการทำงานของบอรด KidBright อาทิเชน กดสวิทช 2 แลวมีเสียงเพลง
10 สว�ตชร�เซ็ตใชรีเซ็ตหรือเริ่มตนการทำงานใหมของบอรด
11 ชองสัญญาณอินพ�ต 1-4ใชรับคาสัญญาณอินพุตแบบดิจิทัลจากอุปกรณภายนอกที่มาเชื่อมตอ
12 ชองสัญญาณเอาตพ�ต 1-2ใชสงคาเอาตพุตแบบดิจิทัลจากบอรด KidBright ไปยังอุปกรณภายนอกที่มาเชื่อมตอ
14 รางใสแบตเตอร�่ใสแบตเตอรี่สำหรับเปนแหลงจายไฟฟาใหกับนาิกาเรียลไทม
7 พอรตยูเอสบีใชควบคุมการทำงานของอุปกรณไฟฟาแบบยูเอสบี อาทิเชน เปด-ปดพัดลมยูเอสบี
8 สว�ตช 1ใชควบคุมการทำงานของบอรด KidBright อาทิเชน กดสวิตช 1 แลวใหแสดงขอความบนจอแสดงผล
นาิกาเร�ยลไทม ใชเปนอุปกรณบอกเวลาของบอรด KidBright ถาใสแบตเตอรี่จะทำใหนาิกาเรียลไทมเดินไดตรงเวลาแมไมมีการจายกระแสไฟฟาใหกับบอรด KidBright
13
15สวนควบคุมการทำงานของบอรด KidBrightบอรด KidBright ถูกควบคุมการทำงานโดยไมโครคอนโทรลเลอร ESP32 ซึ่งมีฟงกชันการเชื่อมตออินเทอรเน็ตผานไวไฟ (Wifi) และบลูทูธ (Bluetooth)
9
6
การทำางานขององค์ประกอบต่างๆในบอร์ด KidBright
บทที่ 2
บทที่ 2
43
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
หัววัดอุณหภูมิ
วนรอบ
หัววัดอุณหภูมิ
>
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
ถา
ทำ
นอกเหนือจากนี้
เขียนยูเอสบี สถานะ เปด
เขียนยูเอสบี สถานะ ปด
29
หัววัดอุณหภูมิ
วนรอบ
หัววัดอุณหภูมิ
>
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
ถา
ทำ
นอกเหนือจากนี้
เขียนยูเอสบี สถานะ เปด
เขียนยูเอสบี สถานะ ปด
29
โปรแกรมสร้างชุดค�าสั่ง KidBright IDE จะสร้างชุดค�าสั่ง
โดยใช้ Block Based Programming ซ่ึงสามารถลาก
บลอ็กชดุค�าสัง่มาเรยีงต่อกนัเพ่ือควบคมุให้บอร์ด KidBright
ท�างานตามล�าดับที่ก�าหนด จากนั้น KidBright IDE จะ
ท�าการแปลงชุดค�าสั่งเป็นโค้ดหรือรหัสค�าส่ังท่ีบอร์ดเข้าใจ
และส่งผ่านสายยูเอสบีไปยังบอร์ด เมื่อบอร์ดได้รับค�าสั่งจะ
ท�างานตามขั้นตอนที่ชุดค�าสั่งก�าหนดไว้
ภาพที่2.10โปรแกรมสร้างชุดคำาสั่ง
ภาพที่2.11การทำางานของโปรแกรมสร้างชุดคำาสั่ง
โปรแกรมชุดคำาสั่ง
บทที่ 2
บทที่ 2
44
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
หัววัดอุณหภูมิ
วนรอบ
หัววัดอุณหภูมิ
>
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
ถา
ทำ
นอกเหนือจากนี้
เขียนยูเอสบี สถานะ เปด
เขียนยูเอสบี สถานะ ปด
29
คุณสมบัติของ KidBright
Event-DrivenProgrammingคือวิธีการเขียนโปรแกรมคอมพิวเตอร์ที่ลำาดับการทำางานของโปรแกรมกำาหนดเหตุการณ์อาทิทำางานเมื่อผู้ใช้กดปุ่มMultitaskingProgrammingคือวิธีการเขียนโปรแกรมคอมพิวเตอร์ให้ทำางานแบบขนานทำาให้สามารถทำางานได้มากกว่าหนึ่งงานโดยไม่ต้องรอให้งานใดงานหนึ่งเสร็จก่อน
!
โปรแกรมสร้างชุดค�าสั่ง KidBright
IDE รองรบัการใช้งานบนคอมพวิเตอร์
รองรับการท�างานแบบเชิงเหตุการณ์
(Event-Driven Programming)
รองรับการท�างานแบบมัลติทาสกิ้ง
(Multitasking Programming)
รองรับการเชื่อมต่อเซนเซอร์ที่
หลากหลาย
รองรับการเชื่อมต่อระหว่างอุปกรณ์
(Internet of Things)
บทที่ 2
บทที่ 2
45
ภาพที่2.12การเชื่อมต่อบอร์ดKidBrightกับคอมพิวเตอร์
อุปกรณ์ที่จำาเป็น• คอมพิวเตอร์ส่วนบุคคลระบบปฏิบัติการ
Windows หรือ Mac OS
• บอร์ดสมองกลฝังตัว KidBright
• สายไมโครยูเอสบี
เริ่มการใช้งานขั้นตอนที่ 1 เชื่อมต่อบอร์ด KidBright เข้ากับคอมพิวเตอร์
ดังภาพที่ 2.12 โดยน�าสายไมโครยูเอสบีด้านที่เป็นยูเอสบี
(ด้านท่ีมีหัวต่อขนาดใหญ่) เสียบเข้ากับพอร์ตยูเอสบีของ
คอมพิวเตอร์ และน�าด้านไมโครยูเอสบี (ด้านที่มีหัวต่อ
ขนาดเล็ก) เสียบเข้ากับช่องเสียบสายไมโครยูเอสบีของ
บอร์ด KidBright (ช่องหมายเลข 4 ในภาพ 2.8)
ขั้นตอนการใช้งาน
บทที่ 2
บทที่ 2
46
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
KidBright IDEKidBright IDE
ขั้นตอนที่ 2 เปิดโปรแกรมสร้างชุดค�าสั่ง KidBright IDE
ส�าหรับระบบปฏิบัติการ Windows
ดับเบิ้ลคลิกไอคอนของ KidBright IDE บนหน้าเดสก์ทอป
(Desktop) ดังภาพที่ 2.13 และจะปรากฏ KidBright IDE
ดังภาพที่ 2.15
ภาพที่2.15โปรแกรมสร้างชุดคำาสั่งKidBrightIDE
ภาพที่2.13ไอคอนKidBrightIDEบนหน้าเดสก์ทอป ภาพที่2.14ไอคอนKidBrightIDEบนหน้าแอปพลิเคชัน
ส�าหรับระบบปฏิบัติการ Mac OS
ดบัเบ้ิลคลกิไอคอนของ KidBright IDE บนหน้าแอปพลเิคชนั
(Applicaitons) ดังภาพที่ 2.14 และจะปรากฏ KidBright
IDE ดังภาพที่ 2.15
บทที่ 2
บทที่ 2
47
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
เปดแฟมขอมูลที่เคยบันทึก
แถบเคร�่องมือจัดกลุม
ตามลักษณะการใชงาน
พ�้นที่สรางชุดคำสั่งโดยการลากบล็อกมาวางในพ�้นที่นี้
ลบแฟมขอมูลที่บันทึก
บันทึกบล็อกคำสั่ง
ในแฟมขอมูล
ทำการแปลงบล็อก
ใหเปนรหัสคำสั่งและ
สงรหัสคำสั่งไปยัง
บอรดผานสายยูเอสบี
ตั้งเวลาใหนาิกา
เร�ยลไทมบนบอรด
เปลี่ยนภาษาไทย/อังกฤษ
ส่วนประกอบของโปรแกรมสร้างชุดคำาสั่ง KidBright IDE
ภาพที่2.16ส่วนประกอบของโปรแกรมสร้างชุดคำาสั่งKidBrightIDE
บทที่ 2
บทที่ 2
48
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พ�้นฐาน (Basic Tab)คณิตศาสตร (Math Tab)
ตรรกะ (Logic Tab)
เสียงดนตร� (Music Tab)เซนเซอร (Sensor Tab)
ขั้นสูง (Advance Tab)ไอโอ (Comm Tab)
วนรอบ (Loop Tab)
เวลา (Real-time Clock Tab)
รอ (Wait Tab)
คำาสั่งควบคุมการทำางานของบอร์ด KidBright
คำาสั่งควบคุมการทำางานของบอร์ด KidBright ในรูปของบล็อก
บทที่ 2
บทที่ 2
49
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พื้นฐาน
คณิตศาสตร
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
ลางแอลอีดี 16x8
แอลอีดี 16x8
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
แอลอีดี 16x8 แสดง 2 อักษร
แอลอีดี 16x8 แบบเลื่อน
หนวงเวลา 0.5
วนรอบ
Hello World!
กำหนดการแสดงผลบนจอแสดงผล ขนาด 16x8 จ�ด
ตามตำแหนงจ�ดที่ตองการ โดยการกดเลือก
จะปรากฎจ�ดสีแดงในตำแหนงที่เลือกแสดง
ลบขอความบนจอแสดงผล
แสดงตัวอักษร 2 ตัวบนจอแสดงผล
แสดงตัวอักษรว�่งบนจอแสดงผล
แสดงขอความที่กำหนดบนจอแสดงผล
แสดงตัวอักษรว�่งบนจอแสดงผล และว�่งจนครบตัวอักษรที่กำหนดกอนจึงจะทำคำสั่งอื่น
หนวงการทำงานตามเวลาที่กำหนดเปนว�นาที
วนทำงานซ้ำไปเร�่อย ๆ
พื้นฐาน (Basic Tab)เป็นบล็อกค�าสั่งที่ใช้งานบ่อย ๆ เช่น การแสดงตัวอักษรบนจอแสดงผล การหน่วงเวลา และการวนรอบ
ภาพที่2.17บล็อกในแถบพื้นฐาน
บทที่ 2
บทที่ 2
50
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พื้นฐาน
คณิตศาสตร
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
กำหนดคาคงที่ตามที่ตองการ เม่ือกดตัวเลขจะปรากฎคียบอรดตัวเลขใหกำหนดคา
คำนวณทางคณิตศาสตรของตัวเลขหร�อตัวแปรดานซายและขวา
กำหนดคาใหกับตัวแปร X
สรางตัวแปรที่ตองการ
+
x
0
กำหนด x เปน
คณิตศาสตร์ (Math) เป็นบล็อกค�าสั่งที่ใช้ก�าหนดค่าคงที่ ก�าหนดตัวแปร หรือค�านวณทางคณิตศาสตร์
ภาพที่2.18บล็อกในแถบคณิตศาสตร์
บทที่ 2
บทที่ 2
51
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
กำหนดเง�่อนไขการทำงาน ถาเง�่อนไขหลัง ถา เปนจร�งจะทำคำสั่งใน ทำ
เปร�ยบเทียบคาดานซายและดานขวา สามารถเลือก
เง�่อนไขการเปร�ยบเทียบ เปน =, <, >, !=
กำหนดเง�่อนไขการทำงาน ถาเง�่อนไขหลัง ถา เปนจร�ง
จะทำคำสั่งใน ทำ ถาไมเปนจร�งทำคำสั่งใน นอกเหนือจากนี้
ไม
=
และ
แอลอีดีเมตริกสพรอม
จริง
สวิตช 1 กด
สวิตช 1 ปลอย
สวิตช 2 ปลอย
สวิตช 2 กด
ถา
ทำ
นอกเหนือจากนี้
กำหนดการทำงานจากเง�่อนไขสองเง�่อนไข โดยสามารถกำหนดใหทำงาน
เมื่อเง�่อนไขใดเง�่อนไขหนึ่งเปนจร�ง หร�อ เปนจร�งหร�อเปนเท็จทั้งสองอัน
กลับผลลัพธของสิ�งที่มาตอทาย
กำหนดคาเปน จร�ง หร�อ เท็จ
ตรวจสอบดูวาจอแสดงผลอยูในสถานะพรอมแสดงหร�อไม
ถาพรอมจะสงคา 1 ถาไมพรอมจะสงคา 0
ตรวจสอบการกดสว�ตช 1 ถากดสงคา 1 ถาไมกดสงคา 0
ตรวจสอบการปลอยสว�ตช 1 ถาปลอยสงคา 1 ถาไมปลอยสงคา 0
ตรวจสอบการกดสว�ตช 2 ถากดสงคา 1 ถาไมกดสงคา 0
ตรวจสอบการปลอยสว�ตช 2 ถาปลอยสงคา 1 ถาไมปลอยสงคา 0
ถา
ทำ
ตรรกะ (Logic Tab)เป็นบล็อกค�าสั่งที่ใช้ก�าหนดเงื่อนไข และการตรวจสอบสถานะของสวิตช์ 1 และสวิตช์ 2
ภาพที่2.19บล็อกในแถบตรรกะ
บทที่ 2
บทที่ 2
52
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
คำสั่งใหทำงานวนซ้ำ
ทำซ้ำขณะที่ ทำซ้ำเมื่อเง�่อนไขขางหลังเปนจร�ง
ทำซ้ำจะกระทั่ง หยุดการทำซ้ำเม่ือเง�่อนไขขางหลังเปนจร�ง
หยุดการทำซ้ำ
ดำเนินการทำซ้ำ
ออกจากการวนรอบ
ไปยังรอบถัดไป
ทำ
ทำซ้ำขณะที่
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
รอจนกวาจอแสดงผล จะพรอมทำงาน
รอจนกวาสว�ตช 1 ถูกกด
รอจนกวาสว�ตช 1 ถูกปลอย
รอจนกวาสว�ตช 2 ถูกกด
รอจนกวาสว�ตช 2 ถูกปลอย
รอแอลอีดี 16x8 พรอม
รอสวิตช 1 กด
รอสวิตช 1 ปลอย
รอสวิตช 2 กด
รอสวิตช 2 ปลอย
ภาพที่2.20บล็อกในแถบวนรอบ
ภาพที่2.21บล็อกในแถบรอ
วนรอบ (Loop Tab)เป็นบล็อกค�าสั่งที่ให้ท�างานวนรอบ
รอ (Wait Tab)เป็นบล็อกค�าสั่งให้หยุดการท�างานชั่วคราวเพื่อรอสถานการณ์ เช่น หยุดรอจนกระทั่งมีการกดสวิตช์ 1
บทที่ 2
บทที่ 2
53
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
ใหลำโพงสงเสียงตัวโนตที่กำหนด ตามระยะเวลาที่กำหนด
ใหลำโพงพักการออกเสียงตามระยะเวลาที่กำหนด
ตั้งคาโนตเสียง
ตั้งความดังเสียง
อานคาความดังเสียง
โนต โต7 ความยาว 0
พักโนต ความยาว 0
สเกล ซีเมเจอร โนต โต7 ความยาว 0
ตั้งความดังเสียง 50
อานคาความดังเสียง
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
อานคาจากเซนเซอรวัดอุณหภูมิ
อานคาจากเซนเซอรวัดแสง
ตรวจสอบดูวาสว�ตช 1 มีการกดหร�อไม ถามีสงคา 1 ถาไมมีสงคา 0
ตรวจสอบดูวาสว�ตช 2 มีการกดหร�อไม ถามีสงคา 1 ถาไมมีสงคา 0
สวิตช 1
หัววัดอุณหภูมิ
หัววัดระดับเสียง
สวิตช 2
ภาพที่2.22บล็อกในแถบเสียงดนตรี
ภาพที่2.23บล็อกในแถบเซนเซอร์
เสียงดนตรี (Music Tab)เป็นบล็อกค�าสั่งให้ล�าโพงส่งเสียงตามตัวโน้ตที่ก�าหนด อ่านและตั้งระดับความดังเสียง
เซนเซอร์ (Sensor Tab)เป็นบล็อกค�าสั่งการเรียกใช้งานเซนเซอร์วัดแสงและเซนเซอร์วัดอุณหภูมิ รวมถึงตรวจสอบสถานะสวิตช์
บทที่ 2
บทที่ 2
54
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
อานคาป เดือน วันและเวลาจาก Real-time Clock
อานคาป เดือน วันจาก Real-time Clock
อานคาเวลาจาก Real-time Clock
อานคาวันจาก Real-time Clock
อานคาเดือนจาก Real-time Clock
อานคาปจาก Real-time Clock
อานคาชั่วโมงจาก Real-time Clock
อานคานาทีจาก Real-time Clock
อานคาว�นาทีจาก Real-time Clock
วันเดือนป
วันเดือนป/เวลา
เวลา
วัน
ชั่วโมง
นาที
เดือน
ป
วินาที
เวลา (Real-time Clock Tab)เป็นบล็อกค�าสั่งที่เกี่ยวข้องกับนาฬิกาเรียลไทล์ เช่น วัน เดือน ปี และเวลา
ภาพที่2.24บล็อกในแถบเวลา
บทที่ 2
บทที่ 2
55
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
สงคาสถานะ เปด/ปด ไปยังเอาตพ�ตที่กำหนด
อานคาสถานะเอาตพ�ตที่กำหนด
สงคา เปด/ปด ไปยังยูเอสบี
อานคาสถานะยูเอสบี
สลับคาสถานะเอาตพ�ตที่กำหนด ถาสถานะเดิมเปน เปด
จะสลับเปน ปด ถาสถานะเดิมเปน ปด จะสลับเปน เปด
สลับคาสถานะยูเอสบี ถาสถานะเดิมเปน เปด
จะสลับเปน ปด ถาสถานะเดิมเปน ปด จะสลับเปน เปด
เขียนเอาตพุต 1 สถานะ ปด
เขียนยูเอสบี สถานะ ปด
สลับสถานะยูเอสบี
สลับเอาตพุต 1 สถานะ
อานสถานะเอาตพุต 1
อานสถานะอินพุต 1
อานสถานะยูเอสบี
อานคาสถานะอินพ�ตที่กำหนด
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
กำหนดใหทำงานมัลติทาสกิ�งงาน
ภาพที่2.25บล็อกในแถบไอโอ
ภาพที่2.26บล็อกในแถบขั้นสูง
ไอโอ (Comm Tab)เป็นบล็อกค�าสั่งที่อ่านและควบคุมสถานะของยูเอสบี
ขั้นสูง (Advance Tab)เป็นบล็อกค�าสั่งที่เกี่ยวข้องกับการท�างานแบบมัลติทาสกิ้ง
บทที่ 2
บทที่ 2
56
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
เปดไฟล บันทึกไฟล ลบไฟล ตั้งเวลาสรางโปรแกรม EN TH
ลางแอลอีดี 16x8
แอลอีดี 16x8
แอลอีดี 16x8 แบบเลื่อนเมื่อพรอม
แอลอีดี 16x8 แสดง 2 อักษร
แอลอีดี 16x8 แบบเลื่อน
หนวงเวลา 0.5
เปดไฟล บันทึกไฟล ลบไฟล สรางโปรแกรม
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
แอลอีดี 16x8
ภาพที่2.27เลือกบล็อกแอลอีดี16x8จากแถบพื้นฐาน
ภาพที่2.28วางบล็อกแอลอีดี16x8บนพื้นที่สร้างชุดคำาสั่ง
ทดลองเขียนโปรแกรม เขียนโปรแกรมเพื่อแสดงภาพเลขหนึ่งบนจอแสดงผลของบอร์ด KidBright
ขั้นตอนที่ 1 ที่ KidBright IDE ด้านซ้าย ลากบล็อกแอลอีดี 16x8 จากแถบพื้นฐาน (บล็อกในกรอบสีเหลือง) ดังภาพที่ 2.27
และวางบนพื้นที่สร้างชุดค�าสั่งดังภาพที่ 2.28 แต่ละจุดเล็ก ๆ ที่เรียงต่อกับเป็นเมทริกซ์บนบล็อกแอลอีดี 16x8 คือตัวแทน
ของจุดแต่ละจุดบนจอแสดงผลของบอร์ด KidBright
บทที่ 2
บทที่ 2
57
เปดไฟล บันทึกไฟล ลบไฟล สรางโปรแกรม
พื้นฐาน
คณิตศาสตร
ตรรกะ
วนรอบ
รอ
เสียงดนตรี
เซนเซอร
เวลา
ไอโอ
ขั้นสูง
แอลอีดี 16x8
แอลอีดี 16x8
ขั้นตอนที่ 2 เลือกช่องเล็ก ๆ ในบล็อกแอลอีดี 16x8 ให้เป็นจุดสีแดงในต�าแหน่งที่แสดงตัวเลขหนึ่งดังภาพ 2.29 จุดที่เลือก
เป็นสีแดงบนบล็อกแอลอีดี 16x8 เป็นการสั่งให้จอแสดงผลบนบอร์ด KidBright แสดงเป็นสีแดงด้วย
ขั้นตอนที่ 3 กดปุ่ม สร้างโปรแกรม ดังแสดงในภาพที่ 2.30
ภาพที่2.29เลือกจุดสีแดงในตำาแหน่งที่แสดงตัวเลขหนึ่ง
ภาพที่2.31รูปเลขหนึ่งแสดงบนหน้าจอ
ภาพที่2.30กดปุ่มสร้างโปรแกรม
ขั้นตอนที่ 4 โปรแกรมสร้างชุดค�าสั่งจะท�าการแปลงบล็อก
ไปเป็นรหัสค�าสั่ง เมื่อเรียบร้อยแล้วจะส่งรหัสค�าสั่งไปยัง
บอร์ด KidBright ผ่านสายยูเอสบี และจะปรากฏเลขหนึ่งที่
จอแสดงผลของบอร์ด KidBright
บทที่ 2
บทที่ 2
58
สถานการณ์ที่ 1การเข้าค่ายพักแรมของกิจกรรมลูกเสือ เนตรนารี นักเรียนจะต้องเตรียมอุปกรณ์อะไรบ้าง และอุปกรณ์เหล่าน้ัน
มีความจ�าเป็นเช่นไร
เมื่อเข้าค่ายพักแรมแล้ว เกิดเหตุการณ์ฝนตก ขณะท่ีนักเรียนก�าลังหุงข้าวเพื่อรับประทานอาหารเย็น นักเรียนจะมีขั้นตอน
การแก้ปัญหาอย่างไร อธิบาย
กิจกรรม
บทที่ 2
บทที่ 2
59
สถานการณ์ที่ 2นักเรียนได้รับมอบหมายจากผู้ปกครอง ให้ไปซื้ออาหารกลางวันมารับประทานในวันหยุด ซ่ึงตลาดอยู่ห่างจากบ้านนักเรียน
200 เมตร ขณะที่เดินทางไปตลาด นักเรียนเห็นสุนัขฝูงหนึ่งก�าลังไล่กัดคน นักเรียนจะแก้ไขปัญหาเช่นไร
เมื่อนักเรียนเดินทางไปถึงเป้าหมาย แต่ปรากฏว่า ร้านอาหารที่เป็นร้านประจ�าไม่เปิดขาย นักเรียนจะแก้ปัญหาเช่นไร ที่จะมี
อาหารกลางวันรับประทาน
สรุปเนื้อหาในบทนี้ครอบคลุมเน้ือหาเก่ียวกับความหมายของเขียนโปรแกรม การเขียนภาษาบล็อก รายละเอียดของอุปกรณ์ต่าง ๆ บนบอร์ด KidBright รวมถึงแถบการใช้งานต่าง ๆ ของ KidBright IDE
บทที่ 2
บทที่ 2
60
จงอธิบายหน้าที่ของคำาต่อไปนี้บอร์ดสมองกลฝังตัว KidBright
โปรแกรมสร้างชุดค�าสั่ง KidBright IDE
เซนเซอร์วัดแสงบนบอร์ด KidBright
เซนเซอร์วัดอุณหภูมิบนบอร์ด KidBright
ช่องสัญญาณอินพุตบนบอร์ด KidBright
ช่องสัญญาณเอาต์พุตบนบอร์ด KidBright
บทที่ 2
บทที่ 2
62