บทความประกอบการเรียนรู้ => ไมโครคอนโทรลเลอร์ (Arduino) => ข้อความที่เริ่มโดย: admin ที่ เมษายน 29, 2014, 10:01:54 AM

หัวข้อ: งานครั้งที่ 18 เขียนโปรแกรมรับค่าจาก Analog SW แสดงผลค่า 7 Segment 4 digit
เริ่มหัวข้อโดย: admin ที่ เมษายน 29, 2014, 10:01:54 AM
เขียนโปรแกรมรับค่าจาก Analog SW แสดงผลค่า 7 Segment 4 digit
ฟังก์ชั่นที่ใช้งาน
-analogRead() http://arduino.cc/en/Reference/AnalogRead (http://arduino.cc/en/Reference/AnalogRead)
-map() http://arduino.cc/en/reference/map (http://arduino.cc/en/reference/map)
-delay() http://arduino.cc/en/Reference/Delay (http://arduino.cc/en/Reference/Delay)
-millis()http://arduino.cc/en/Reference/Millis (http://arduino.cc/en/Reference/Millis)

ไลบารี่เพิ่มเติม
-Multiplex7Seg.h (ไลบรารี่ตัวเดียวกันกับงานครั้งที่ 16 หากติดตั้งแล้วไม่ต้องทำซ้ำ)
*ดูวิธีติดตั้งในงานครั้งที่ 16 (http://www.praphas.com/forum/index.php?topic=262.0)

ฟังก์ชั่นในไลบารี่ Multiplex7Seg.h
จะต้องประกาศตัวแปลระบุขาต่อกับ 7 segment ก่อนใช้งาน (ประกาศแบบ global นอกฟังก์ชั่น setup,loop)
byte digitPins[] = {9, 10, 11, 12};         // LSB to MSB
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; // Segment a to g
-Multiplex7Seg::set(1, 4, digitPins, segmentPins);  //1=enable,4=4 digit
-Multiplex7Seg::loadValue(value);

โจทย์โปรแกรม
-แสดงผลตัวเลขที่ 7 segment 4 digit โดยใช้สวิตช์เป็นตัวตั้งค่าตัวเลข
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้บอร์ด Arduino
(http://www.praphas.com/PhotoForum/arduino/Lab-18-01.png)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้ไอซี ATmega328 (ที่มี Boot Loader Arduino)
(http://www.praphas.com/PhotoForum/arduino/Lab-18-02.png)

บริเวณใช้งานบอร์ดทดลอง
(http://www.praphas.com/PhotoForum/arduino/Lab-18-03.png)