เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 93 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค 2. ท าการเลือก Resistor โดยการพิมพ์ RES ลงในช่อง Keyword แล้วเลือก Resistor แบบที่ เราต้องใช้งาน รูปที่ 14-5 การเลือกอุปกรณ์ Resistor ในโปรแกรม Proteus 3. ท าการเลือก ตัวต้านทานแบบปรับค่าได้โดยการพิมพ์ Pot-HG ลงในช่อง Keyword แล้ว เลือก Pot-HG แบบที่เราต้องใช้งาน รูปที่ 14-6 การเลือกอุปกรณ์ Pot-HG ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 94 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค 4. ท าการเลือก โมดูลอัลตร้าโซนิค โดยการพิมพ์ Ultrasonic ลงในช่อง Keyword แล้วเลือก Ultrasonic แบบที่เราต้องใช้งาน รูปที่ 14-7 การเลือกอุปกรณ์ Ultrasonic ในโปรแกรม Proteus 5. จากนั้นน าอุปกรณ์ที่เลือกไว้มาท าการต่อวงจร รูปที่ 14-8 การต่อวงจรจากอุปกรณ์ที่เลือก
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 95 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค 6. ท าการต่อ Ground ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Ground รูปที่ 14-9 การต่อ Ground ให้กับวงจร 7. ท าการต่อ Power ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Power รูปที่ 14-10 การต่อ Power ให้กับวงจร
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 96 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค 8. ท าการต่อ Virtual Terminal ให้กับวงจร โดยคลิกที่ ไอคอน Instrument Mode แล้ว คลิกที่ Virtual Terminal รูปที่ 14-11 การต่อ Virtual Terminal ให้กับวงจร 14.3 การเขียนโปรแกรมควบคุมการท างาน 14.3.1 ผังการท างานของโปรแกรม การทดลองที่ 1 เขียนโปรแกรมวัดระยะโดยการใช้โมดูลอัลตร้าโซนิคแบบไม่ใช้ไลบรารี่ แสดงผล ที่จอคอมพิวเตอร์ผ่านทางพอร์ตอนุกรม ผังงาน จากโจทย์สามารถเขียนเป็นผังงานได้ดังนี้
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 97 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค การทดลองที่ 2 เขียนโปรแกรมวัดระยะ โดยการใช้โมดูลอัลตร้าโซนิคแบบใช้ไลบรารี่แสดงผล ที่จอคอมพิวเตอร์ผ่านทางพอร์ตอนุกรม ผังงาน จากโจทย์สามารถเขียนเป็นผังงานได้ดังนี้
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 98 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค 14.3.2 เขียนโปรแกรมควบคุมการท างาน การทดลองที่ 1 เขียนโปรแกรมวัดระยะโดยการใช้โมดูลอัลตร้าโซนิคแบบไม่ใช้ไลบรารี่ แสดงผล ที่จอคอมพิวเตอร์ผ่านทางพอร์ตอนุกรม #define TRIGGER PIN 11 // digital pin D11 #define ECHO_PIN 12 // digital pin D12 void setup() { Serial.begin (9600); pinMode (TRIGGER PIN, OUTPUT); pinMode (ECHO PIN, INPUT); } void loop() { double duration, distance; digitalWrite(TRIGGER PIN, LOW); // Get Start delayMicroseconds (2); // stable the line digitalWrite(TRIGGER PIN, HIGH); //sending 10 us pulse delayMicroseconds (10) : // delay digitalWrite(TRIGGER PIN, LOW); // waiting to receive signals duration • pulseIn (ECHO_PIN, HIGH); // calculating time distance = (duration/2) / 29.1; // single path Serial.print(distance); Serial.println(" Cm"); delay(500); }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 99 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การวัดระยะด้วยโมดูลอัลตร้าโซนิค การทดลองที่ 2 เขียนโปรแกรมอ่านค่าจากเทอร์มิสเตอร์ NTC ขนาด 10KΩ โดยให้แสดงผล เป็นอุณหภูมิที่มีหน่วยเป็นเซลเซียส (เขียนแบบย่อ) แสดงผลที่จอคอมพิวเตอร์ผ่านทางพอร์ตอนุกรม #include <Ultrasonic.h> Ultrasonic ultrasonic(11,12); // (Trig PIN,Echo PIN) void setup() { Serial.begin(9600); } void loop() { Serial.print(ultrasonic.Ranging(CM)); // CM or INC Serial.println(" cm" ); delay(100); }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 100
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 101 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การควบคุมการแสดงผลด้วย LCD ขั้นตอนกำรปฏิบัติกำรปฏิบัติ 15.1 วงจรการเขียนโปรแกรมแสดงข้อความ “hello world!” ในการทดลองใช้ Arduino ในการทดลอง ต่อวงจรดังรูป รูปที่ 15-1 วงจรที่ใช้บอร์ด Arduino ในการทดลอง การต่อวงจรไมโครคอนโทรลเลอร์ Arduino ที่ใช้บอร์ด โมดูล Arduino ส าเร็จรูปลงบอร์ดทดลอง รูปที่ 15-2 การต่อลงบอร์ดทดลอง
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 102 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การควบคุมการแสดงผลด้วย LCD 15.2 โปรแกรมจ าลองการท างานของวงจรเขียนโปรแกรมแสดงข้อความ “hello world!” ในการทดลอง รูปที่ 15-3 การต่อวงจรทดลองในโปรแกรมจ าลองการท างาน ขั้นตอนการต่อวงจรในโปรแกรมจ าลอง 1. เข้าโปรแกรม Proteus ท าการเลือกอุปกรณ์ที่จะใช้ โดยคลิกที่รูปตัว P แล้วพิมพ์ชื่อ อุปกรณ์ ที่จะใช้ จากนั้น ดับเบิ้ลคลิกที่อุปกรณ์ที่เราต้องการ ท าการเลือก Simulino Uno โดยการ พิมพ์ Simulino Uno ลงในช่อง Keyword แล้วเลือก Simulino Uno แบบที่เราต้องใช้งาน รูปที่ 15-4 การเลือกอุปกรณ์ Simulino Uno ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 103 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การควบคุมการแสดงผลด้วย LCD 2. ท าการเลือก จอ LCD โดยการพิมพ์ LM016L ลงในช่อง Keyword แล้วเลือก LM016L แบบที่เราต้องใช้งาน รูปที่ 15-5 การเลือกอุปกรณ์ LM016L ในโปรแกรม Proteus 3. จากนั้นน าอุปกรณ์ที่เลือกไว้มาท าการต่อวงจร รูปที่ 15-6 การต่อวงจรจากอุปกรณ์ที่เลือก
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 104 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การควบคุมการแสดงผลด้วย LCD 15.3 การเขียนโปรแกรมควบคุมการท างาน 15.3.1 ผังการท างานของโปรแกรม การทดลองที่ 1 เขียนโปรแกรมแสดงข้อความ “hello, world!” ผังงาน จากโจทย์สามารถเขียนเป็นผังงาน ได้ดังนี้ การทดลองที่ 2 เขียนโปรแกรมแสดงเวลาที่บอร์ดเริ่มท างานโดยแสดงเวลาหน่วยเป็นวินาที แสดงผลด้วย จอ LCD ผังงาน จากโจทย์สามารถเขียนเป็นผังงานได้ดังนี้
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 105 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การควบคุมการแสดงผลด้วย LCD 15.3.2 เขียนโปรแกรมควบคุมการท างาน การทดลองที่ 1 เขียนโปรแกรมแสดงข้อความ “hello, world!” #include <LiquidCrystal.h> /* The circuit: * LCD RS pin to digital pin 7 * LCD E pin to digital pin 6 * LCD D4 pin to digital pin 8 * LCD D5 pin to digital pin 9 * LCD D6 pin to digital pin 10 * LCD D7 pin to digital pin 11 * LCD R/W pin to ground */ LiquidCrystal lcd(7,6,8,9,10,11); // set up the LCD's connection pins void setup() { lcd.begin(16, 2); // set LCD size lcd.print("hello, world!"); } void loop() {} การทดลองที่ 2 เขียนโปรแกรมแสดงเวลาที่บอร์ดเริ่มท างาน โดยแสดงเวลาหน่วยเป็นวินาทีแสดงผล ด้วยจอ LCD #include <LiquidCrystal.h> /* The circuit: * LCD RS pin to digital pin 7 * LCD E pin to digital pin 6 * LCD D4 pin to digital pin 8 * LCD D5 pin to digital pin 9 * LCD D6 pin to digital pin 10 * LCD D7 pin to digital pin 11 * LCD R/W pin to ground */ LiquidCrystal lcd(7,6,8,9,10,11); // set up the LCD's connection pins void setup() { lcd.begin(16, 2); // set LCD size lcd.print("Running time"); lcd.setCursor(13,1); lcd.print("sec"); } void loop() { lcd.setCursor(8,1); lcd.print(millis()/1000); delay(1000); }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 106
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 107 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD ขั้นตอนกำรปฏิบัติกำรปฏิบัติ 16.1 วงจรเขียนโปรแกรมแสดงอุณหภูมิและความชื้นจาก DHT22 ในการทดลองใช้ Arduinoในการทดลอง ต่อวงจรดังรูป รูปที่ 16-1 วงจรที่ใช้บอร์ด Arduinoในการทดลอง การต่อวงจรไมโครคอนโทรลเลอร์ Arduinoที่ใช้บอร์ดโมดูล Arduino ส าเร็จรูปลงบอร์ดทดลอง รูปที่ 16-2 การต่อลงบอร์ดทดลอง
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 108 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD 16.2 โปรแกรมจ าลองการท างานของวงจรเขียนโปรแกรมแสดงอุณหภูมิและความชื้นจาก DHT22 ในการทดลอง รูปที่ 16-3 การต่อวงจรทดลองในโปรแกรมจ าลองการท างาน ขั้นตอนการต่อวงจรในโปรแกรมจ าลอง 1. เข้าโปรแกรม Proteus ท าการเลือกอุปกรณ์ที่จะใช้ โดยคลิกที่รูปตัว P แล้วพิมพ์ชื่อ อุปกรณ์ ที่จะใช้ จากนั้น ดับเบิ้ลคลิกที่อุปกรณ์ที่เราต้องการ ท าการเลือก Simulino Uno โดยการ พิมพ์ Simulino Uno ลงในช่อง Keyword แล้วเลือก Simulino Uno แบบที่เราต้องใช้งาน รูปที่ 16-4 การเลือกอุปกรณ์ Simulino Uno ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 109 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD 2. ท าการเลือก Resistor โดยการพิมพ์ RES ลงในช่อง Keyword แล้วเลือก Resistor แบบที่ เราต้องใช้งาน รูปที่ 16-5 การเลือกอุปกรณ์ Resistor ในโปรแกรม Proteus 3. ท าการเลือก DHT22 โดยการพิมพ์ DHT22 ลงในช่อง Keyword แล้วเลือก DHT22 แบบ ที่เราต้องใช้งาน รูปที่ 16-6 การเลือกอุปกรณ์ DHT22 ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 110 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD 4. ท าการเลือก จอ LCD โดยการพิมพ์ LM016L ลงในช่อง Keyword แล้วเลือก LM016L แบบที่เราต้องใช้งาน รูปที่ 16-7 การเลือกอุปกรณ์ LM016L ในโปรแกรม Proteus 5. จากนั้นน าอุปกรณ์ที่เลือกไว้มาท าการต่อวงจร รูปที่ 16-8 การต่อวงจรจากอุปกรณ์ที่เลือก
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 111 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD 6. ท าการต่อ Ground ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Ground รูปที่ 16-9 การต่อ Ground ให้กับวงจร 7. ท าการต่อ Power ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Power รูปที่ 16-10 การต่อ Power ให้กับวงจร
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 112 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมแสดงผลด้วย LCD 16.3 การเขียนโปรแกรมควบคุม 16.3.1 ผังการท างานของโปรแกรม การทดลองที่ 1 เขียนโปรแกรมแสดงอุณหภูมิและความชื้นจาก DHT22 ผังงาน จากโจทย์สามารถเขียนเป็นผังงานได้ดังนี้ การทดลองที่ 1 เขียนโปรแกรมแสดงอุณหภูมิและความชื้นจาก DHT22 #include <LiquidCrystal.h> /* The circuit: * LCD RS pin to digital pin 7 * LCD E pin to digital pin 6 * LCD D4 pin to digital pin 2 * LCD D5 pin to digital pin 3 * LCD D6 pin to digital pin 4 * LCD D7 pin to digital pin 5 * LCD R/W pin to ground */ #include <Ultrasonic.h> Ultrasonic ultrasonic(10,11); // (Trig PIN,Echo PIN) LiquidCrystallcd(7,6,2,3,4,5); // set up the LCD's connection pins void setup() { lcd.begin(16, 2); // set LCD size lcd.print("Length is :"); lcd.setCursor(13,1); lcd.print("cm"); } void loop() { delay(500); lcd.setCursor(7,1); float L=ultrasonic.Ranging(CM); lcd.print(L); }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 113
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 114 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 ขั้นตอนกำรปฏิบัติกำรปฏิบัติ 17.1 วงจรเขียนโปรแกรมแสดงค่าที่อ่านได้จากโพเทนชิโอมิเตอร์ ในการทดลอง ใช้ Arduino ในการทดลอง ต่อวงจรดังรูป รูปที่ 17-1 วงจรที่ใช้บอร์ด Arduino ในการทดลอง การต่อวงจรไมโครคอนโทรลเลอร์ Arduino ที่ใช้บอร์ด โมดูล Arduino ส าเร็จรูปลงบอร์ดทดลอง รูปที่ 17-2 การต่อลงบอร์ดทดลอง
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 115 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 17.2 โปรแกรมจ าลองการท างานของวงจรเขียนโปรแกรมแสดงค่าที่อ่านได้จากโพเทนชิโอมิเตอร์ ในการทดลอง รูปที่ 17-3 การต่อวงจรทดลองในโปรแกรมจ าลองการท างาน ขั้นตอนการต่อวงจรในโปรแกรมจ าลอง 1. เข้าโปรแกรม Proteus ท าการเลือกอุปกรณ์ที่จะใช้ โดยคลิกที่รูปตัว P แล้วพิมพ์ชื่อ อุปกรณ์ ที่จะใช้ จากนั้น ดับเบิ้ลคลิกที่อุปกรณ์ที่เราต้องการ ท าการเลือก Simulino Uno โดยการ พิมพ์ Simulino Uno ลงในช่อง Keyword แล้วเลือก Simulino Uno แบบที่เราต้องใช้งาน รูปที่ 17-4 การเลือกอุปกรณ์ Simulino Uno ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 116 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 2. ท าการเลือก Resistor โดยการพิมพ์ RES ลงในช่อง Keyword แล้วเลือก Resistor แบบที่ เราต้องใช้งาน รูปที่ 17-5 การเลือกอุปกรณ์ Resistor ในโปรแกรม Proteus 3. ท าการเลือก เทอร์มิสเตอร์ NTC โดยการพิมพ์ NTC ลงในช่อง Keyword แล้วเลือก NTC แบบที่เราต้องใช้งาน รูปที่ 17-6 การเลือกอุปกรณ์ NTC ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 117 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 4. ท าการเลือก HCMAX7219 โดยการพิมพ์ MAX7219 ลงในช่อง Keyword แล้วเลือก MAX7219 แบบที่เราต้องใช้งาน รูปที่ 17-7 การเลือกอุปกรณ์ MAX7219 ในโปรแกรม Proteus 5. ท าการเลือก จอแสดงผล 7Seg-Mpx โดยการพิมพ์ 7Seg-Mpx ลงในช่อง Keyword แล้วเลือก 7Seg-Mpx แบบที่เราต้องใช้งาน รูปที่ 17-8 การเลือกอุปกรณ์ 7Seg-Mpx ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 118 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 6. จากนั้นน าอุปกรณ์ที่เลือกไว้มาท าการต่อวงจร รูปที่ 17-9 การต่อวงจรจากอุปกรณ์ที่เลือก 7. ท าการต่อ Ground ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Ground รูปที่ 17-10 การต่อ Ground ให้กับวงจร
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 119 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 8.ท าการต่อ Power ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Power รูปที่ 17-11 การต่อ Power ให้กับวงจร 17.3 การเขียนโปรแกรมควบคุม 17.3.1 ผังการท างานของโปรแกรม การทดลองที่ 1 เขียนโปรแกรมแสดงค่าที่อ่านได้จากโพเทนชิโอมิเตอร์ ผังงาน จากโจทย์สามารถเขียนเป็นผังงาน ได้ดังนี้
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 120 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การประยุกต์การแสดงผลด้วยโมดูล MAX7219 17.3.2 เขียนโปรแกรมควบคุมการท างาน #include <Wire.h> #include <LiquidCrystal 12c.h> #define POT 3 LiquidCrystal I2C lcd(0x3F,16,2) ; /* 0x27 for PCE8574 and 0x3F for PCF8574A+/ void setup () { lcd.init () ; led backlight () ; lcd.begin (16, 2) ; // set LCD size } void loop() { int adc analogRead (POT) ; lcd.setCursor (8,1) ; lcd.print("Analog Read : "); lcd.print(adc) ; delay(100); }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 121
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 122 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ ขั้นตอนกำรปฏิบัติกำรปฏิบัติ 18.1 วงจรการเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ไปที่มุมต่าง ๆ ในการ ทดลอง ใช้ Arduino ในการทดลอง ต่อวงจรดังรูป รูปที่ 18-1 วงจรที่ใช้บอร์ด Arduino ในการทดลอง การต่อวงจร ไมโครคอนโทรลเลอร์ Arduino ที่ใช้บอร์ด โมดูล Arduino ส าเร็จรูปลงบอร์ดทดลอง รูปที่ 18-2 การต่อลงบอร์ดทดลอง
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 123 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 18.2 โปรแกรมจ าลองการท างานของวงจรเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โว มอเตอร์ไปที่มุมต่าง ๆ ในการทดลอง รูปที่ 18-3 การต่อวงจรทดลองในโปรแกรมจ าลองการท างาน ขั้นตอนการต่อวงจรในโปรแกรมจ าลอง 1. เข้าโปรแกรม Proteus ท าการเลือกอุปกรณ์ที่จะใช้ โดยคลิกที่รูปตัว P แล้วพิมพ์ชื่อ อุปกรณ์ ที่จะใช้ จากนั้น ดับเบิ้ลคลิกที่อุปกรณ์ที่เราต้องการ ท าการเลือก Simulino Uno โดยการ พิมพ์ Simulino Uno ลงในช่อง Keyword แล้วเลือก Simulino Uno แบบที่เราต้องใช้งาน รูปที่ 18-4 การเลือกอุปกรณ์ Simulino Uno ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 124 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 2. ท าการเลือก Resistor โดยการพิมพ์ RES ลงในช่อง Keyword แล้วเลือก Resistor แบบที่ เราต้องใช้งาน รูปที่ 18-5 การเลือกอุปกรณ์ Resistor ในโปรแกรม Proteus 3. ท าการเลือก เซอร์โวมอเตอร์ โดยการพิมพ์ MOTOR-PWMSERVO ลงในช่อง Keyword แล้วเลือก เซอร์โวมอเตอร์แบบที่เราต้องใช้งาน รูปที่ 18-6 การเลือกอุปกรณ์ เซอร์โวมอเตอร์ในโปรแกรม Proteus
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 125 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 4. ท าการเลือกตัวต้านทานแบบปรับค่าได้ โดยการพิมพ์ Pot-HG ลงในช่อง Keyword แล้วเลือก Pot-HG แบบที่เราต้องใช้งาน รูปที่ 18-7 การเลือกอุปกรณ์ Pot-HG ในโปรแกรม Proteus 5. จากนั้นน าอุปกรณ์ที่เลือกไว้มาท าการต่อวงจร รูปที่ 18-8 การต่อวงจรจากอุปกรณ์ที่เลือก
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 126 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 6. ท าการต่อ Ground ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Ground รูปที่ 18-9 การต่อ Ground ให้กับวงจร 7. ท าการต่อ Power ให้กับวงจร โดยคลิกที่ ไอคอน Terminals Mode แล้วคลิกที่ Power รูปที่ 18-10 การต่อ Power ให้กับวงจร
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 127 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 18.3 การเขียนโปรแกรมควบคุม 18.3.1 ผังการท างานของโปรแกรม การทดลองที่ 1 เขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ไปที่มุมต่าง ๆ โดย รับค่าจากการหมุนโพเทนชิโอมิเตอร์ ผังงาน จากโจทย์สามารถเขียนเป็นผังงานได้ดังนี้
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 128 โปรแกรมจ ำลองกำรท ำงำน (simulation program) รำยวิชำ 2105-2105 ไมโครคอนโทรลเลอร์ 1-3-2 เรื่อง การเขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ 18.3.2 เขียนโปรแกรมควบคุมการท างาน การทดลองที่ 1 เขียนโปรแกรมควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ไปที่มุมต่าง ๆ โดย รับค่าจากการหมุนโพเทนชิโอมิเตอร์ #include <OneWire.h> #include <DallasTemperature.h> OneWire ds(6); //sensor on pin D6 DallasTemperature sensor(&ds); float temp; //variable keep temp value void temp_read(); //prototype of function read temp void setup(void) { Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); sensor.begin(); } void loop(void) { temp_read(); Serial.print("Temperature is: "); Serial.println(temp); Serial.println("-----------Next read---------------"); delay(1000); } void temp_read() // Temperature read { sensor.requestTemperatures(); temp = sensor.getTempCByIndex(0); //Read Temp }
เอกสารโปรแกรมจ าลองการท างาน (Simulation program) 129 บรรณานุกรม ดนุพัฒน์ ดวงมาลัย และคณะ. อุปกรณ์อิเล็กทรอนิกส์และวงจร. กรุงเทพมหานคร : บริษัทศูนย์ หนังสือเมืองไทย จ ากัด, 2558. นพ มหิษานนท์. ออกแบบและทดสอบวงจรด้วย PROTEUS. กรุงเทพมหานคร : ศูนย์หนังสือ จุฬาฯ, 2557. ประภาส สุวรรณเพชร. เรียนรู้และลองเล่น Arduino เบื้องต้น ชัยภูมิ: วิทยาลัยเทคนิคชัยภูมิ, 2560 พันธ์ศักดิ์ พุฒิมานิตพงศ์. วงจรพัลส์และดิจิตอล. กรุงเทพมหานคร : ส านักพิมพ์ ศูนย์ส่งเสริม อาชีวะ, 2548. พุทธรักษ์ แสงกิ่งและคณะ. อุปกรณ์อิเล็กทรอนิกส์และวงจร. กรุงเทพมหานคร : ส านักพิมพ์ศูนย์ ส่งเสริมอาชีวะ, 2558. สมชาย ชื่นวัฒนาประณิธิ.การทดลองวงจรอิเล็กทรอนิกส์บนโปรแกรมโปรติอุส.อุดรธานี: มหาวิทยาลัยราชภัฏอุดรธานี,2550. สุชิน ชินสีห์. ไมโครคอนโทรลเลอร์. นนทบุรี : บริษัทศูนย์หนังสือ เมืองไทย จ ากัด, 2557. อดุลย์ กัลยาแก้ว. อุปกรณ์อิเล็กทรอนิกส์และวงจร. กรุงเทพมหานคร : ส านักพิมพ์ศูนย์ส่งเสริม อาชีวะ, 2556. โอภาส ศิริครรชิตถาวร และคณะ. เรียนรู้ไมโครคอนโทรลเลอร์ง่ายๆกับ Arduino กรุงเทพมหานคร : บริษัทอินโนเวตีฟ เอกเพอริเมนต์ จ ากัด, ม.ป.ป.. โอภ าส ศิ ริคร รชิตถ าว ร แล ะคณะ. เรียนรู้เพื่อพัฒนาโครงงานสร้างสรรค์โดยใช้ ไมโครคอนโทรลเลอร์ กับโปรแกรมภาษา C/C++ ด้วย Arduino และบอร์ด Unicon. กรุงเทพมหานคร : บริษัทอินโนเวตีฟ เอกเพอริเมนต์ จ ากัด, ม.ป.ป.. โอภาส เอี่ยมสิริวงศ์. พื้นฐานการสร้างเว็บไซต์. กรุงเทพมหานคร : ส านักพิมพ์ซีเอ็ดยูเคชั่น,2559.