3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.10 คา สง ั่การต ิ ดต ่ อส ื่อสาร -คา สง ั่ Serial.flush() เป็ นการลบขอ ้ ม ู ลท ้ ง ั หมดในบฟั เฟอร ์ -คา สง ั่ Serial.print() เป็ นการพิมพ์ข้อมูลไปยังพอร์ตอนุกรม -คา สง ั่ Serial.println() เป็ นการพิมพ์ข้อมูลไปยังพอร์ตอนุกรม และข ้ึ น บรรทด ัใหม ่ -คา สง ั่ Serial.write() เป็ นการส ่ งขอ ้ ม ู ลไบตไ์ปยง ั พอร ์ ตอน ุ กรม
หน่วยที่ 4 Arduino กบ ั พอร ์ ตดจ ิ ต ิ อลเอาต ์ พต ุ
1. การใช ้ งานพอร ์ ตเอาต ์ พต ุ ดจ ิิ ตอลของ Arduino พอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ ท ้ ง ั หมด 14 พอร ์ ต แต ่ ละพอร์ต สามารถจ ่ ายกระแสใหก ้ บ ั อ ุ ปกรณ ์ อ ิ เลก ็ ทรอน ิ กส ์ไดเพียง ้ 40 มิลลิแอมป์ พอร์ตดิจิตอลเอาต์พุต
2. การต่อ Arduino กับหลอดแอลอีดี การต ่ อหลอดแอลอ ี ด ี กบ ั พอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ สามารถต ่ อได ้2วิธี คือ 1. การต ่ อแบบกระแสซอร์ส (Source current) ขาแอโนด (A) ของหลอด แอลอ ี ด ี ถ ู กต ่ อเขา ้ กบ ัไมโครคอนโทรลเลอร ์ และขาแคโถด (K) ต ่ อลงกราวด์ เม ื่อจ ่ ายลอจ ิ ก“1” ออกมาทางขาเอาตพ ์ ต ุ ส ่ งผลใหม ้ี กระแสไหลผา ่ นหลอด แอลอ ี ด ี ทา ใหห ้ ลอดแอลอ ี ด ี ต ิ ดสวา ่ งแต ่ เม ื่อจ ่ ายลอจ ิ ก“0” ส ่งผลให้หลอด แอลอีดีดับ
2. การต่อ Arduino กับหลอดแอลอีดี 2. การต ่ อแบบกระแสซิงค์(Sink current) ขาแอโนด (A) ของหลอด แอลอ ี ด ี ถ ู กต ่ อเขา ้ กบ ั แรงดน ัไฟ VCC หรือไฟ +5 โวลต์ และขาแคโถด (K) ต ่ อขา ้ กบ ัไมโครคอนโทรลเลอร ์ เม ื่อจ ่ ายลอจ ิ ก“1” ส ่ งผลใหห ้ ลอดแอลอีดี ดบ ั แต ่ เม ื่อจ ่ ายลอจ ิ ก“0”หรือ กราวด์ (GND.) ออกมาทางขาเอาต์พุตส ่ งผล ให้มีกระแสไหลจากแรงดันไฟ VCC ผา ่ นหลอดแอลอ ี ด ี เขา ้ พอร ์ ตขาท ี่จ ่ าย ลอจิก “0”หรือ กราวด์ (GND.) ทา ใหห ้ ลอดแอลอ ี ด ี ต ิ ดสวา ่ ง
3. การต่อ Arduino กบ ัโหลดทก ี ่ น ิ กระแสส ู ง กรณ ี ท ี่โหลดก ิ นกระแสเก ิ น 40 มิลลิแอมป์แต ่ ถา ้โหลดก ิ นกระแส มากกวา ่ น ้ ี บอร ์ ด Arduino ไม ่ สามารถขบ ั อ ุ ปกรณ ์ เหล ่ าน ้ น ั ไดโ้ ดยตรง เช ่ น หลอดไฟ ร ี เลย ์ มอเตอร ์ เป็ นตน ้ ว ิ ธ ี การต ่ อค ื อนา ทรานซ ิ สเตอร ์ มาต ่ อเป็ น สวิตซ์เพื่อเปิ ด-ปิ ดอ ุ ปกรณ ์ เหล ่ าน ้ น ั แทน
4. การต่อ Arduino กบ ั อ ุ ปกรณ ์ ร ี เลย ์ การต ่ อร ี เลยซ ์ ่ึ งควบค ุ มการทา งานโดยพอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ ของบอร์ด Arduino ผา ่ นทรานซ ิ สเตอร ์โดยร ี เลยท ์ า การสง ั่งานใหห ้ ลอดไฟ 220 โวลต์ ทา งาน เม ื่อพอร ์ ตเอาตพ ์ ต ุ ส ่ งสญ ั ญาณลอจ ิ ก“1” ออกมา กระแสไฟฟ้าไหล ผา ่ นร ี ซ ิ สเตอร ์ เขา ้ไปไบอส ั ขาเบส (B) ของทรานซิสเตอร์ท าให้ ทรานซ ิ สเตอร ์ ทา งาน เม ื่อทรานซ ิ สเตอร ์ ทา งานส ่ งผลใหร ้ี เลยท ์ า งานด้วย เช ่ นกน ั และทา ใหห ้ ลอดไฟ 220โวลตต ์ิ ดสวา ่ งดว ้ ย
4. การต่อ Arduino กบ ั อ ุ ปกรณ ์ ร ี เลย ์ การต ่ อร ี เลยซ ์ ่ึ งควบค ุ มการทา งานโดยพอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ ของบอร์ด Arduino ผา ่ นทรานซ ิ สเตอร ์โดยร ี เลยท ์ า การสง ั่งานใหห ้ ลอดไฟ 220 โวลต์ ทา งาน เม ื่อพอร ์ ตเอาตพ ์ ต ุ ส ่ งสญ ั ญาณลอจ ิ ก“1” ออกมา กระแสไฟฟ้าไหล ผา ่ นร ี ซ ิ สเตอร ์ เขา ้ไปไบอส ั ขาเบส (B) ของทรานซิสเตอร์ท าให้ ทรานซ ิ สเตอร ์ ทา งาน เม ื่อทรานซ ิ สเตอร ์ ทา งานส ่ งผลใหร ้ี เลยท ์ า งานด้วย เช ่ นกน ั และทา ใหห ้ ลอดไฟ 220โวลตต ์ิ ดสวา ่ งดว ้ ย
Arduino กบ ั พอร ์ ตดจ ิิ ตอลเอาต ์ พต ุ การเข ี ยนโปรแกรมเพ ื่อใชง ้ านเป็ นพอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ เร ิ่มต้นด้วย การกา หนดโหมดการทา งานใหก ้ บ ั พอร ์ ตโดยใชค ้ า สง ั่ pinMode( ) คา สง ั่ pinMode( ) เป็ นคา สง ั่สา หร ั บกา หนดการทา งานของพอร ์ ตท ี่ตอ ้ งการใช้งาน ให้ เป็ นพอร์ตเอาต์พุตหรือ พอร์ตอินพุต ร ู ปแบบคา สง ั่ pinMode(ตา แหน ่ งพอร ์ ต, โหมด OUTPUT หรือ INPUT )
Arduino กบ ั พอร ์ ตดจ ิิ ตอลเอาต ์ พต ุ การเข ี ยนโปรแกรมเพ ื่อใชง ้ านเป็ นพอร ์ ตด ิ จ ิ ตอลเอาตพ ์ ต ุ เร ิ่มต้นด้วย การกา หนดโหมดการทา งานใหก ้ บ ั พอร ์ ตโดยใชค ้ า สง ั่ pinMode( ) คา สง ั่ pinMode( ) เป็ นคา สง ั่สา หร ั บกา หนดการทา งานของพอร ์ ตท ี่ตอ ้ งการใช้งาน ให้ เป็ นพอร์ตเอาต์พุตหรือ พอร์ตอินพุต ร ู ปแบบคา สง ั่ pinMode(ตา แหน ่ งพอร ์ ต, โหมด OUTPUT หรือ INPUT )
Arduino กบ ั พอร ์ ตดจ ิิ ตอลเอาต ์ พต ุ คา สง ั่ digitalWrite( ) ร ู ปแบบคา สง ั่ digitalWrite(ตา แหน ่ งพอร ์ ต, ค ่ า HIGH หรือ LOW)
หน่วยที่ 5 Arduino กบ ั พอร ์ ตดจ ิ ต ิ อลอน ิ พต ุ
1. การต่อสวิตช์กับไมโครคอนโทรลเลอร์ Arduino ตว ั อยา ่ งอ ุ ปกรณ ์ อ ิ นพต ุ ไดแ ้ ก ่ สวต ิ ชห ์ ร ื อป่ ุ มกด สัญญาณ อ ิ นพต ุ ท ี ่ ต ่ อเขา ้ พอร ์ ตไมโครคอนโทรลเลอร ์ Arduino มีการ เปล ี ่ ยนแปลงสถานะอย ู ่ 2 สภาวะ คือ ลอจิก “1” กบ ั ลอจ ิ ก“0” Button Switch Slide Switch DIP Switch Rotary Switch Toggle Switch Micro Switch
1. การต่อสวิตช์กับไมโครคอนโทรลเลอร์ Arduino การต ่ อสว ิ ตชเ ์ ขา ้พอร์ต Arduino สามารถต ่ อใชง ้ านได ้2 แบบ ไดแ ้ ก ่ 1. การต ่ อสวิตช์แบบแอคทีฟ ไฮท์(Active High) เป็ นการต ่ อจาก แหล ่ งจ ่ ายไฟผา ่ นสว ิ ตชแ ์ ละตว ั ตา ้ นทานลงกราวด ์ จ ุ ดต ่ อระหวา ่ งขาสว ิ ตชก ์ บ ั ตว ั ตา ้ นทานต ่ อเขา ้ ท ี่พอร ์ ตไมโครคอนโทรลเลอร ์ Arduino ลักษณะการต ่ อ ตว ั ตา ้ นทานแบบน ้ ี เร ี ยกวา ่ การต ่ อตว ั ตา ้ นทานแบบพลดาวน์ ู (Pull-down resistor)
1. การต่อสวิตช์กับไมโครคอนโทรลเลอร์ Arduino 2. การต ่ อสว ิ ตชแบบแอคทีฟ ์ โลว์(Active low) เป็ นการต ่ อจาก แหล ่ งจ ่ ายไฟผา ่ นตว ั ตา ้ นทานและผา ่ นสว ิ ตชล ์ งกราวด ์ จ ุ ดต ่ อระหวา ่ งขาตว ั ตา ้ นทานกบ ั สว ิ ตชต ์ ่ อเขา ้ พอร ์ ตด ิ จ ิ ตอลของไมโครคอนโทรลเลอร ์ Arduino ลก ั ษณะการต ่ อตว ั ตา ้ นทานแบบน ้ ี เร ี ยกวา ่ การต ่ อตว ั ตา ้ นทานแบบพูลอัฟ
1. การต่อสวิตช์กับไมโครคอนโทรลเลอร์ Arduino การต ่ อสว ิ ตชส ์ ว ิ ตชแ ์ บบแอคท ีฟ ไฮท์(Active High) หรือแบบแอคทีฟ โลว์(Active low) ม ีปั ญหาท ี่เก ิ ดข ้ึ นในการใชส้ ว ิ ตชแ ์ บบหนา ้สมผัสคือ ั ขณะกดสว ิ ตชแ ์ ละปล ่ อยสว ิ ตชน ์ ้ น ั เก ิ ดการแตะกน ั ของหนา ้สม ั ผสหลายๆ ั คร ้ ั งเก ิ ดข ้ึ น ขณะกดสวิตช์ ขณะปล่อยสวิตช์
2. การแก้ปัญหาด้วยฮาร์ดแวร์ ดีเบราว์ (Hardware Debouncing) วงจรการแกป้ ั ญหาดว ้ ยฮาร ์ ดแวร ์ดีเบราว์
3. การแก้ปัญหาด้วยซอฟแวร์ ดีเบราว์(Softwave Debouncing) การแกป้ ั ญหาดว ้ ยว ิ ธ ี น ้ ี สามารถทา ไดง ้่ ายท ี่ส ุ ดค ื อเม ื่อโปรแกรมท า การตรวจสอบวา ่ สว ิ ตชถ ์ ู กกดแลว ้ ใหท ้ า การหน ่ วงเวลาออกไปประมาณ 10 มิลลิวินาที คา สง ั่ digitalRead( ); เป็ นการอ ่ านค ่ าสถานะของตา แหน ่ งพอร ์ ตด ิ จ ิตอลที่ ตอ ้ งการอ ่ าน ต ้ ง ั แต ่ พอร ์ ต 0 ถึง 13 วา ่ ม ี ค ่ าเป็ น HIGH หรือ LOW ร ู ปแบบคา สง ั่ digitalRead (ตา แหน ่ งพอร ์ ต)
หน่วยที่ 6 Arduino กับแอลอีดีแสดงผล 7 ส่วน
Arduino กับแอลอีดีแสดงผล 7 ส่วน แอลอีดีแสดงผล 7 ส ่ วน (LED 7 Segment) เป็ นอุปกรณ์ที่ใช้ ส ำหรับกำรแสดงผลในอุปกรณ์อิเล็กทรอนิกส์ วงจรภำยในของ แอลอีดีแสดงผล 7 ส ่ วน ประกอบดว ้ ยไดโอดเปล ่ งแสง (LED) ต ่ อ อยภ ู ่ ำยในจำ นวน 8 ตัว และชนิดของแอลอีดีแสดงผล 7 ส ่ วน สำมำรถแบ ่ งออกได ้2 ชนิด คือ 1. แอลอีดีแสดงผล 7 ส ่ วนชน ิ ดคอมมอนแอโนด (Common Anode) 2. แอลอีดีแสดงผล 7 ส ่ วนชน ิ ดคอมมอนแคโทด (Common Cathode)
Arduino กับแอลอีดีแสดงผล 7 ส่วน ร ู ปร ่ ำงและโครงสร ้ ำงของแอลอ ี ด ี แสดงผล7 ส ่ วน
1. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแอโนด แอลอีดีแสดงผล 7 ส ่ วนชน ิ ดคอมมอนแอโนด (Common Anode) เป็ นกำรนำ เอำไดโอด เปล ่ งแสงจำ นวน 8 ตว ั มำต ่ อเขำ ้ ดว ้ ยกน ัโดยโดยขำ แอโนดของไดโอดเปล ่ งแสงท ้ ง ั 8 ตว ั มำต ่ อร ่ วมกน ั เป็ นขำคอมมอน (Common) ส ่ วนขำแคโทดของไดโอดเปล ่ งแสงแต ่ ละตว ั ถ ู กต ่ อเป็ นขำ ควบค ุ มเพ ื่อใหไ้ ดโอดเปล ่ งแสงต ิ ดเป็ นตว ั เลขต ่ ำงๆ กน ั ช ื่อเร ี ยกของขำ ควบค ุ มม ี ดง ั ต ่ อไปน ้ ี a, b, c, d, e, f, g และ dot
1. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแอโนด กำรต ่ อใชง ้ ำนแอลอ ี ด ี แสดงผล7 ส ่ วนชน ิ ดคอมมอนแอโนดร ่ วมกบ ั ไมโครคอนโทรลเลอร์ Arduino ท ำได้โดยกำรน ำเอำขำควบคุม a, b, c, d, e, f, g และ dot ไปต ่ อเขำ ้ กบ ั พอร ์ ตด ิ จ ิ ตอลของไมโครคอนโทรลเลอร ์ Arduino ไดท ้ น ั ท ี ส ่ วนขำคอมมอน (Common) นำ ไปต ่ อท ี่ไฟบวก VCC หรือ +5V
1. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแอโนด กำรส ่ งขอ ้ ม ู ลให ้ LED 7-Segment ชนิดคอมมอนแอโนด แสดงตัวเลข 0-9
2. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแคโทด แอลอีดีแสดงผล 7 ส ่ วนชน ิ ดคอมมอนแคโทด (Common Cathode) เป็ นกำรนำ เอำไดโอด เปล ่ งแสงจำ นวน 8 ตว ั มำต ่ อเขำ ้ ดว ้ ยกน ัโดยโดยขำ แคโทดของไดโอดเปล ่ งแสงท ้ ง ั 8 ตว ั มำต ่ อร ่ วมกน ั เป็ นขำคอมมอน (Common) ส ่ วนขำแอโนดของไดโอดเปล ่ งแสงแต ่ ละตว ั ถ ู กต ่ อเป็ นขำ ควบค ุ มเพ ื่อใหไ้ ดโอดเปล ่ งแสงต ิ ดเป็ นตว ั เลขต ่ ำงๆ กน ั ช ื่อเร ี ยกของขำ ควบค ุ มม ี ดง ั ต ่ อไปน ้ ี a, b, c, d, e, f, g และ dot
2. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแคโทด กำรต ่ อใชง ้ ำนแอลอ ี ด ี แสดงผล7 ส ่ วนชน ิ ดคอมมอนแคโทดร ่ วมกบ ั ไมโครคอนโทรลเลอร์ Arduino ท ำได้โดยกำรน ำเอำขำควบคุม a, b, c, d, e, f, g และ dot ไปต ่ อเขำ ้ กบ ั พอร ์ ตด ิ จ ิ ตอลของไมโครคอนโทรลเลอร ์ Arduino ไดท ้ น ั ท ี ส ่ วนขำคอมมอน (Common) นำ ไปต ่ อท ี่ไฟลบหร ื อกรำวด ์(GND)
2. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแคโทด กำรส ่ งขอ ้ ม ู ลให ้ LED 7-Segment ชนิดคอมมอนแคโทด แสดงตัวเลข 0-9
หน่วยที่ 7 Arduino กบ ัโมด ู ลแสดงผล LCD
Arduino กบ ัโมด ู ลแสดงผล LCD โมดูลแสดงผลแบบผลึกเหลวหรือ Liquid Crystal Display ใชต ้ ว ั ยอ ่ วา ่ LCD เป็ นจอแสดงผลอีกรูปแบบหนึ่งที่นิยมน ามาใช้ งานกบ ั Arduino ชนิดของโมดูลแสดงผล LCD ม ี ท ้ ง ั แบบแสดงผล เป็ นตัวอักขระ (Character LCD) เป็ นการกา หนดตว ั อก ั ษรหร ื อ อก ั ขระท ี ่ สามารถแสดงผลไวแ ้ ลว ้ ส ่ วนอ ี กแบบสามารถแสดงผล เป็ นรูปภาพหรือสัญลักษณ์ได้ตามความต้องการ (Graphic LCD)
Arduino กบ ัโมด ู ลแสดงผล LCD การเขียนโปรแกรม Arduino เพื่อควบคุมโมดูลแสดงผล LCD ใหแ ้ สดงผลเป็ น ตว ั อก ั ขระโดยทว ั ่ ไปโมด ู ลแสดงผล LCD มีหลายแบบดว ้ ยกน ั ม ี ท ้ ง ั แบบ 8, 16, 20 ตัวอักษรหรือมากกวา ่ และ ม ี จา นวนบรรทด ั ต ้ ง ั แต ่ 1, 2, 4 บรรทด ั หร ื อมากกวา ่ ตามแตความ ่ ตอ ้ งการและลก ั ษณะของการใชง ้ าน การต ิ ดต ่ อส ื ่ อสารระหวา ่ ง ไมโครคอนโทรลเลอร์ Arduino กบ ัโมด ู ลแสดงผล LCD สามารถ ท าได้ 2 วธ ิี ค ื อการเช ื ่ อมต ่ อแบบขนาน (Parallel) และการเชื่อมต ่ อ อนุกรม (Serial) แบบ I2C
Arduino กบ ัโมด ู ลแสดงผล LCD ตว ั อย ่ างโมด ู ลแสดงผล LCD แบบต่างๆ ภายในโมดูลแสดงผล LCD ม ี ส ่ วนประกอบหลก ั อย ู ่ 3 ส ่ วน ค ื อ 1. ส ่ วนของตัวแสดงผล (display) 2. ส ่ วนของการควบค ุ ม (controller) 3. ส ่ วนของการขบ ั (driver)
1. โมด ู ลแสดงผล LCD แบบอักขระ โมดูลแสดงผล LCD แบบอักขระมีลักษณะเป็ นจอแสดงผลขาว-ด า ม ี ร ู ปร ่ างขนาดท ี่แตกต ่ างกน ั ออกไปตามลก ั ษณะการใชง ้ าน ม ี ความยาว ตว ั อก ั ษรต ้ ง ั แต ่ 8, 16, 20, 24, 32, และ 40 ตัวอักษร และมีจ านวนบรรทัดที่ ใชใ้ นการแสดงผลม ี ต ้ ง ั แต ่ 1, 2, 3 และ 4 บรรทัด จ านวนขาสัญญาณที่ใช้ สา หร ั บการต ิ ดต ่ อกบ ัไมโครคอนโทรลเลอร ์ Arduino ม ี ท ้ ง ั หมด 14-16ขา
2. บลอ ็ กไดอะแกรมโมด ู ลแสดงผล LCD แบบอักขระ บล็อกไดอะแกรมโมดูลแสดงผล LCD แบบอักขระแบบ 16 ตัวอักษร 2 บรรทัด ควบคุมการแสดงผลโดยใช้ไอซีเบอร์ ST7065C และ ST7066U และมีขาควบคุมโมดูลแสดงผล LCD คือ ขา E, ขา R/W, ขา R/S และขา DB0-DB7
3. การตด ิ ต ่ อโมด ู ลแสดงผล LCD กับ Arduino วงจรการต ่ อโมด ู ลแสดงผล LCD กับ Arduino
3. การตด ิ ต ่ อโมด ู ลแสดงผล LCD กับ Arduino การเขียนโปรแกรมเพื่อใช้ในการควบคุมโมดูลแสดงผล LCD เร ิ่มตน ้ ให้ท า การเรียกใช้ ไลบรารีจากไฟล์ชื่อ LiquidCrystal.hจากน ้ น ั เร ี ยกใชฟ้ ั งกช ์ น ั่ เพ ื่อสง ั่งานโมด ู ลแสดงผล LCD ดง ั น ้ ี คา สง ั่ LiquidCrystal(); เป็ นการประกาศใชข ้ าท ี่ตอ ้ งการเพ ื่อส ่ งขอ ้ ม ู ลไปยง ัโมด ู ลแสดงผล LCD ร ู ปแบบคา สง ั่ LiquidCrystal lcd(RS, Enable, D4, D5, D6, D7)
2. การต่อใช้งาน Arduino กับแอลอีดีแสดงผล 7 ส่วนชนิดคอมมอนแคโถด การส ่ งขอ ้ ม ู ลให ้ LED 7-Segment ชนิดคอมมอนแคโถด แสดงตัวเลข 0-9
3. การตด ิ ต ่ อโมด ู ลแสดงผล LCD กับ Arduino -คา สง ั่ lcd.begin(); เป็ นการกา หนดขนาดของโมด ู ลแสดงผล LCD รูปแบบคา สง ั่ lcd.begin(width, height); -คา สง ั่ lcd.setCursor (); เป็ นการใชก ้ า หนดตา แหน ่ งและบรรทด ั ของ เคอร์เซอร์ รูปแบบคา สง ั่ lcd.setCursor(x, y); -คา สง ั่ lcd.print(); เป็ นการเขียนข้อความที่ต้องการแสดงบนโมดูล แสดงผล LCD รูปแบบคา สง ั่ lcd.print(anything);
หน่วยที่ 8 Arduino กับอนาล็อก อินพุต
1. สญญาณอนาล็อก ั สญญาณอนาล็อก ั (Analog Signal) คือ สญญาณที่มีการเปลี่ยนแปลงของข ้อมูล ั แบบต่อเนื่อง(Continuous Data) หรือคลื่น ไซน์ มีความถี่และความแรงของสญญาณไม่ ั คงที่ มีลักษณะเป็นเสนโค ้งต่อเนื่องกันไป ้
2. การแปลงสญญาณ ั อนาล็อกเป็ นสญญาณดิจิตอล ั เป็นสญญาณที่มีการเปลี่ยนแปลงแบบ ั ต่อเนื่องทั้งขนาดความแรงของสญญาณและ ั เวลา ดังนั้นเมื่อวาดสญญาณอนาล็อกออก ั มาเป็นกราฟ จะมีลักษณะเป็นเสนแบบต่อ ้ เนื่องกัน สวนส ่ ญญาณดิจิตอลเป็นส ั ญญาณ ั ที่มีการเปลี่ยนแปลงแบบขั้นทั้งขนาดความ แรงของค่าสญญาณและเวลา ั AD C สญญาณอนาล็อก ั สญญาณดิจิตอล ั
3. วิธีการอ่านค่าอนาล็อกของ บอร์ด Arduino บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 มีพอร์ตอนาล็อก อินพุต (Analog Input) จำนวน 6 พอร์ตคือ พอร์ต A0 ถึง A5 แต่พอร์ตมี ความละเอียดขนาด 10 บิต ซงสามารถ ึ่ แบ่งระดับความแตกต่างได ้ทั้งหมด 1,024 ค่า - แรงดัน 0 โวลต์ = 00 0000 00002 หรือมีเท่ากับ010
3. วิธีการอ่านค่าอนาล็อกของ บอร์ด Arduino พอร์ตอะ นาล็อก พอร์ตอะนาล็อกของ บอร์ด Arduino
3. วิธีการอ่านค่าอนาล็อกของ บอร์ด Arduino การต่อโพเทนทิโอมิเตอร์กับบอร์ด Arduino ซงจะเห็นได ้ว่าถ ้าปรับค่า ึ่ ความต ้านทานต่ำสุดทำให ้ค่าแรงดันมี ค่าเท่ากับ 0 โวลต์ และถ ้าปรับค่าความ ต ้านทานสูงสุดทำให ้ค่าแรงดันมีค่า เท่ากับ 5 โวลต์ สญญาณเอาต์พุตของ ั โพเทนทิโอมิเตอร์ถูกสงเข ้าไปยังพอร์ต ่ อนาล็อกของบอร์ดArduinoที่ต้องการ
3. วิธีการอ่านค่าอนาล็อกของ บอร์ด Arduino การต่อโพเทนทิโอมิเตอร์กับ บอร์ด Arduino
Arduino กับอนาล็อกอินพุต การเขียนโปรแกรมเพื่อใชงานการอ่านค่า ้ สญญาณอนาล็อก มีค ั ำสงเพื่อใช ั่ ในการอ่าน ้ อนาล็อกดังนี้ - คำสง ั่ analogRead(); เป็นคำสงส ั่ ำ หรับการ อ่านค่าสญญาณอนาล็อกที่พอร์ตอินพุตที่ต ้องการ ั รูปแบบคำสง ั่ analogRead(ตำแหน่งพอร์ต INPUT)
หน่วยที่ 9 Arduino กับสวิตชเม ์ ทริกซ์
1. วงจรสวิตชเมทริกซ ์ ์ สวิตชเมทริกซ ์ ์(matrix switch)หรือ เรียกว่า คีย์แพด (keypad) เป็นสวิตซที่ต่อ ์ อยู่ในรูปแบบเมทริกซ ใช์ การป้อนข ้อมูลร่วม ้ กับงานไมโครคอนโทรลเลอร์ มีสวนประกอบ ่ คือ หน้าสมผัสสวิตช ั ติดแผ่นลาเบลปิดช ์ อ ื่ คีย์ และสายต่อสญญาณ สวิตช ั เม ์ ทริกซหรือแป้นตัวเลข ์ (Keypad) ที่นำมาใช ้ งานกับไมโครคอนโทรลเลอร์มีขนาด 4x3 สามารถใชแทนสวิตช ้ ได ้ ์ 12 ตัว ใช ้ พอร์ตของไมโครคอนโทรลเลอร์จำนวน7
1. วงจรสวิตชเมทริกซ ์ ์ วงจรสวิตชเมทริกซ ์ ์ แบบ 4 X 3
2. หลักการเขียนโปรแกรม สแกนคีย์ (Scan key) วงจรสวิตชเมทริกซ ์ ซ ์ งการต่อวงจร ึ่ สวิตชให ้น ์ ำสายสญญาณแนวนอน ั (Row) ตั้งแต่แถว Row1- Row3 ต่อ เข ้าที่พอร์ตดิจิตอลขา 5, 4, 3, 2 กำหนดให ้เป็นพอร์ตเอาต์พุต สวนสาย ่ สญญาณแนวตั้ง ั (Column) ตั้งแต่แถว Col1- Col3 ต่อเข ้าที่พอร์ตดิจิตอลขา 6, 7, 8 และกำหนดให ้เป็นพอร์ตอินพุต สวนการแสดงผลน่ำข้อมลปรากฏบน
2. หลักการเขียนโปรแกรม สแกนคีย์ (Scan key) วงจรคีย์สวิตชแบบเม ์ ทริกซ์