ในบทสอนนี้ เราจะมาเรียนรู้วิธีทำให้ข้อความวิ่ง (scroll) บนหน้าจอของ Arduino UNO R4 ด้วย Visuino กัน
จัดไปวัยรุ่น! ดูวิดีโอประกอบด้วยน้า
ขั้นตอนที่ 1: อุปกรณ์ที่ต้องใช้


- Arduino UNO R4 WiFi (หรือ Minima): โปรเจคนี้ต้องใช้บอร์ดรุ่น R4 เท่านั้นนะน้อง เพราะรุ่นเก่า R3 มันไม่มีเมทริกซ์ LED ติดมาบนบอร์ดนั่นเอง UNO R4 WiFi ตัวนี้มาพร้อม CPU 32-bit Cortex-M4, Wi-Fi ในตัว และที่สำคัญคือมีเมทริกซ์ LED สีแดง 96 ดวง (12x8) ติดตั้งมาบนบอร์ดเลย
- โปรแกรม Visuino: ไปโหลดมาให้เรียบร้อย
ขั้นตอนที่ 2: เปิด Visuino และเลือกบอร์ดเป็น Arduino UNO R4 WiFi


คลิกปุ่ม "Tools" บนคอมโพเนนต์ Arduino ใน Visuino (รูปที่ 1) พอดิอะล็อกโผล่มา ให้เลือก "Arduino UNO R4 WiFi" ตามภาพด้านบนเลย
ขั้นตอนที่ 3: ใน Visuino ให้เพิ่มคอมโพเนนต์
- เพิ่มคอมโพเนนต์ "Clock Generator"
- เพิ่มคอมโพเนนต์ "Up/Down Counter"
- เพิ่มคอมโพเนนต์ "Integer Multi Source"
ขั้นตอนที่ 4: ใน Visuino ตั้งค่าคอมโพเนนต์
เลือกบอร์ด Arduino UNO R4 WiFi ในหน้าต่าง Properties ให้ขยาย Modules > Display แล้วเลือก Elements คลิกปุ่ม 3 จุด ในหน้าต่าง Elements ให้ลาก "Draw Text" ไปไว้ฝั่งซ้าย ในหน้าต่าง Properties เลือก "Text" แล้วพิมพ์
HELLO WORLDเลือก "X" คลิกไอคอนพิน แล้วเลือก "Integer SinkPin" ตั้งค่า "Wrap" เป็นFalseด้วย ตั้งค่านี้เสร็จ เราก็จะได้อิลิเมนต์ข้อความสำหรับเมทริกซ์ LED 12x8 บนบอร์ดแล้ว ใช้ง่ายๆ ไม่ต้องมานั่งเขียนโค้ด C++ หรืออาร์เรย์เลขฐานสิบหกให้ปวดหัวปิดหน้าต่าง Elements
เลือก "ClockGenerator1" ในหน้าต่าง Properties ตั้งค่า "Frequency" เป็น 5 ค่านี้ควบคุมความเร็วของข้อความวิ่งน้า อยากให้ช้าหรือเร็วก็ปรับเอาเองได้เลย
เลือก "UpDownCounter1" แล้วในหน้าต่าง Properties ตั้งค่า "Initial Value" เป็น 13 ตัวนี้จะทำให้ข้อความเริ่มต้นอยู่นอกจอ
เลือก "UpDownCounter1" แล้วในหน้าต่าง Properties ตั้งค่า "Max" > "Value" เป็น 13 ตัวนี้หมายความว่าเมื่อข้อความเลื่อนจบ มันจะรีเซ็ตกลับไปตำแหน่งที่มองไม่เห็น
เลือก "UpDownCounter1" แล้วในหน้าต่าง Properties ตั้งค่า "Min" > "Value" เป็น -70 ตัวนี้กำหนดความยาวของการเลื่อนข้อความ ลองปรับเลขนี้ดูตามความยาวข้อความของน้องได้เลยจ้า
ขั้นตอนที่ 5: ใน Visuino เชื่อมต่อคอมโพเนนต์
- เชื่อม "ClockGenerator1" พิน [Out] ไปที่ "UpDownCounter1" พิน [Down]
- เชื่อม "UpDownCounter1" พิน [Out] ไปที่ "MultiSource1" พิน [In]
- เชื่อม "MultiSource1" พิน [1] ไปที่ Arduino UNO R4 WiFi > Display > "Draw Text1" พิน [X]
- เชื่อม "MultiSource1" พิน [1] ไปที่ Arduino UNO R4 WiFi > Display > "Draw Text1" พิน [Clock]
ขั้นตอนที่ 6: Generate, Compile และ Upload โค้ด Arduino

ใน Visuino ด้านล่างให้คลิกแท็บ "Build" ตรวจสอบให้แน่ใจว่าเลือกพอร์ตถูกต้อง แล้วคลิกปุ่ม "Compile/Build and Upload" Visuino จะสร้างไลบรารี C++ ที่ซับซ้อนให้กับ LED matrix ให้อัตโนมัติ และอัปโหลดโค้ดผ่าน USB
ขั้นตอนที่ 7: เล่น
ถ้าน้องจ่ายไฟให้ Arduino หลอด LED บน Arduino Display จะเริ่มเลื่อนข้อความแล้ววว
จัดไปวัยรุ่น! น้องทำโปรเจกต์นี้สำเร็จด้วย Visuino แล้ว ไฟล์โปรเจกต์ Visuino ที่พี่สร้างสำหรับบทความนี้ก็มีให้ดาวน์โหลดไปเปิดดูได้นะ สู้งานนะน้อง!