การทำงานขององค์ประกอบต่างๆ ในบอร์ด KidBright ประกอบด้วย
เซนเซอร์วัดอุณหภูมิ เซนเซอร์วัดอุณหภูมิ ใช้วัดค่าอุณหภูมิที่อยู่รอบๆ บอร์ด KidBright
จอแสดงผล LED ใช้แสดงผลตัวอักษร ข้อความ หรือ รูปภาพ
เซนเซอร์วัดแสง ใช้วัดปริมาณแสงที่อยู่รอบ ๆ บอร์ด KidBright
ช่องเสียบสายไมโครยูเอสบี ใช้เป็นช่องรับกระแสไฟฟ้าจากแหล่งจ่ายกระแสไฟฟ้า และรับข้อมูลจากคอมพิวเตอร์
ลำโพง เป็นแหล่งกำเนิดเสียงให้กับบอร์ด KidBright
คอนเนกเตอร์ เป็นช่องทางในการเชื่อมต่อกับบอร์ดเสริมของ KidBright
พอร์ตยูเอสบี ใช้ควบคุมการทำงานของอุปกรณ์ไฟฟ้าแบบยูเอสบี
สวิตช์ 1 ใช้ควบคุมการทำงานของบอร์ด KidBright
สวิตช์ 2 ใช้ควบคุมการทำงานของบอร์ด KidBright
สวิตช์รีเซ็ต ใช้รีเซ็ตเพื่อเริ่มต้นการทำงานใหม่ของบอร์ด
ช่องสัญญาณอินพุต 1-4 ใช้รับค่าสัญญาณอินพุตแบบดิจิทัลจากอุปกรณ์ภายนอกที่มาเชื่อมต่อ
ช่อสัญญาณเอาต์พุต 1-2 ใช้ส่งค่าเอาต์พุตแบบดิจิทัลจากบอร์ด KidBright ไปยังอุปกรณ์ภายนอกที่มาเชื่อมต่อ
นาฬิกาเรียลไทม์ ใช้เป็นอุปกรณ์บอกเวลาของบอร์ด KidBright ถ้าใส่แบตเตอรี่จะทำให้นาฬิกาเรียลไทม์เดินได้ตรงเวลา แม้ไม่มีการจ่ายกระแสไฟฟ้าให้กับบอร์ด KidBright
รางใส่แบตเตอรี่ ใส่แบตเตอรี่สำหรับเป็นแหล่งจ่ายกระแสไฟฟ้าให้กับนาฬิกาเรียลไทม์
ส่วนควบคุมการทำงานของบอร์ด KidBright บอร์ด KidBright ถูกควบคุมการทำงานโดยไมโครคอนโทรลเลอร์ ESP32 ซึ่งมีฟังก์ชันการเชื่อมต่ออินเทอร์เน็ตผ่าน Wifi และ Bluetooth
ขอบคุณเครดิตข้อมูลจาก https://www.kruaof.com/
KidBright เป็นบอร์ดไมโครคอนโทรลเลอร์ที่พัฒนาโดย สวทช. (NSTDA) ของไทย ตัวซอฟต์แวร์ KidBright IDE ที่เราใช้ลาก-วางบล็อกนั้นอยู่บนพื้นฐานเดียวกับ Google Blockly คล้ายกับ Scratch หรือ mBlock
บล็อกที่เราเห็น 👉 เป็น Block-based Visual Programming (ลากวาง)
เบื้องหลังบล็อก 👉 ตัวบล็อกแต่ละคำสั่งจะถูก แปลงเป็นภาษา C/C++ โดยใช้ Arduino framework และ library ของ KidBright
การทำงานจริงบนบอร์ด 👉 เมื่อกด “อัปโหลดโปรแกรม” โปรแกรมจะแปลงจากบล็อก → C/C++ → คอมไพล์เป็นไฟล์ไบนารี (.bin) → ส่งไปยังไมโครคอนโทรลเลอร์ ESP32 ของบอร์ด KidBright
ตัวอย่าง
เช่น ถ้าเราลากบล็อก “แสดงข้อความบนจอว่า Hello”
เบื้องหลังจะถูกแปลงเป็นโค้ด C++ ประมาณนี้:
#include <KidBright32.h>
KidBright32 kb;
void setup() {
kb.begin();
kb.display("Hello");
}
void loop() {
}
สรุปง่าย ๆ คือ
ผู้ใช้ → เห็นเป็นบล็อก (เข้าใจง่าย ไม่ต้องโค้ดเอง)
เบื้องหลัง → ใช้ ภาษา C/C++ ที่ถูกซ่อนไว้
บอร์ด KidBright → ใช้ ESP32 จึงต้องการโค้ดในรูปแบบที่คอมไพล์แล้ว
เมื่อเริ่มทำงาน
เปิดไฟ LED
หน่วงเวลา 1 วินาที
ปิดไฟ LED
หน่วงเวลา 1 วินาที
วนซ้ำตลอดเวลา
เมื่อเริ่มทำงาน
แสดงข้อความ "Hello" บนจอ
หน่วงเวลา 2 วินาที
ลบหน้าจอ
แสดงข้อความ "KidBright"
วนซ้ำตลอดเวลา
เมื่อเริ่มทำงาน
ถ้า ปุ่ม A ถูกกด → แสดงข้อความ "Win"
ถ้า ปุ่ม B ถูกกด → แสดงข้อความ "Lose"
วนซ้ำตลอดเวลา
เมื่อเริ่มทำงาน
อ่านค่าอุณหภูมิจากเซนเซอร์
แสดงค่าอุณหภูมิบนจอ
หน่วงเวลา 1 วินาที
วนซ้ำตลอดเวลา
เมื่อเริ่มทำงาน
ส่งเสียงบี๊บ 1 ครั้ง
หน่วงเวลา 0.5 วินาที
ส่งเสียงบี๊บ 2 ครั้ง
หน่วงเวลา 2 วินาที
วนซ้ำตลอดเวลา