Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Lab3

Lab3

Published by kowit2558, 2018-03-27 19:53:33

Description: ใบงานการทดลองที่ 3 การใช้งาน Arduino เพื่ออ่านค่าดิจิทัลอินพุต

Search

Read the Text Version

ใบงานการทดลองที่ 3 การใชง้ านอาร์ดยุ โนเพ่ืออา่ นค่าดิจิทลั อินพุตวัตถุประสงค์เชิงพฤติกรรมเพือ่ ให้นกั ศกึ ษาสามารถ 1. เขยี นโปรแกรมอ่านคา่ จากการกดสวติ ช์ได้อยา่ งถกู ต้อง 2. อธบิ ายวธิ กี ารใช้งานฟังก์ชัน่ ในการอา่ นคา่ อนิ พุตแบบดจิ ิทัลได้ 3. เขยี นโปรแกรมอ่านค่าสวติ ช์เพ่ือนาไปควบคมุ หลอดแอลอีดีได้อยา่ งถูกตอ้ งอปุ กรณ์ประกอบการทดลอง 1 เคร่ือง 1 บอรด์ 1. คอมพวิ เตอร์ทม่ี ชี อ่ งเสยี บ USB 1 บอร์ด 2. บอรด์ Arduino Mega 2560 18 เสน้ 3. บอรด์ One the all 4. สายเชื่อมต่อลงชอ่ื ผทู้ ดลอง 1._______________________________ 2. ______________________________ทฤษฎีท่ีเกยี่ วข้อง สวิตช์เป็นอุปกรณ์อินพุตพื้นฐานท่ีไมโครคอนโทรลเลอร์สามารถรับรู้ข้อมูลได้ แต่ในการต่อสวิตช์เพ่ือใช้ในงานดิจิทัลนั้นจะต่ออนุกรมกับความต้านทาน 10 KΩ เพื่อไม่ให้สถานะขณะท่ีไม่ได้กดสวิตช์น้ันลอย โดยการต่อใชง้ านจะมีการต่อ 2 แบบ คอื 3.1 การต่อแบบ Pull-Down R1 10 KΩรปู ใบงานท่ี 3-1 การต่อสวติ ช์แบบ Pull-Down หนังสือชุดฝึกดา้ นดิจทิ ลั 67

ในการต่อแบบนี้ในสภาวะที่หน้าสัมผัสของสวิตช์ไมไดเชื่อต่อกนั หรือสวิตช์ไม่ไดถูกกดไว ทางฝ่ัง LEDจะไดรับสภาวะเป็น LOW หรือเป็น “Logic 0” LED จึงยังไม่ทางาน แต่เมื่อสวิตช์ถูกกดหน้าสัมผัสของสวิตช์จะเชื่อมต่อกัน จะทาให้เกิดกระแสไฟฟ้าไหล และเกิดแรงดันท่ีขาแอโนดของ LED ทาให้ LED ติดสว่างเพราะไดร้ ับสภาวะเปน็ High หรอื เป็น “Logic 1” ซ่ึงการตอ่ ใชง้ านแสดงได้ดงั รูปใบงานท่ี 3-1 3.2 การตอ่ แบบ Pull-Up รูปใบงานที่ 3-2 การตอ่ สวิตช์แบบ Pull-Up ในการต่อวงจรแบบน้ี ตาแหน่งของสวิตช์จะตรงกันข้ามกับการต่อแบบแรก ที่ขาแอโนดของ LEDจะไดรับสภาวะตรงกนั ข้ามกับแบบแรก คอื เมื่อสวติ ช์ไมไดรับการกด หรือหนา้ สัมผัสยังไมไดสัมผัสกันน้ัน ที่ขาแอโนดของ LED จะไดรับสภาวะ High หรือ “Logic 1” LED จึงติดสว่าง แต่เมื่อสวิตช์ไดรับการกดหรือหน้าสัมผัสเชอ่ื มต่อกนั แลว จะทากระแสจากท่ีเคยไหลเขาของแอโนดของ LED ไหลลงไปที่ตาแหน่งกราวด์แท น ทาให้ที่ ขาแอโนด ไดรับ สภ าวะ Low หรือ “Logic 0” โดยลักษณ ะการต่อวงจรแสดงได้ดงั รูปใบงาน ท่ี 3-2ซึ่งผลของการตอ่ วงจรสวิตชท์ ้ังสองแบบร่วมกบั สวิตชแ์ บบกดติดปล่อยดับ สามารถสรปุ ไดด้ ังตารางรปู แบบการต่อสวิตช์ สถานะเมอื่ กดสวติ ช์ สถานะเมอ่ื ปล่อยสวติ ช์ Pull-Up “0” “1” Pull-Down “1” “0”68 หนังสอื ชดุ ฝกึ ด้านดิจิทัล

ขน้ั ตอนและคาสงั่ ในการควบคุมเอาตพ์ ุตดิจทิ ัล ในการควบคมุ เอาตพ์ ุตดิจิทลั น้ัน มขี น้ั ตอนและในการใช้งานฟังกช์ ่ันตา่ งๆ ดงั นี้ 1. กาหนดโหมดการทางานของขาสญั ญาณให้เปน็ อินพุตในฟงั กช์ ั่น setup คาส่ัง pinMode (PIN, MODE); ตัวอย่างเช่น ตอ้ งการให้ขา 3 ใชง้ านในโหมดอินพตุ กาหนดดงั น้ี pinMode (3, INPUT); 2. อ่านค่าสถานะจากขาท่ีตอ้ งการโดยใชค้ าส่ัง คาส่งั digitalRead (PIN); ตวั อย่างเช่น ต้องการอ่านค่าจากขา 3 เขา้ มาไวใ้ นตัวแปร N จะใช้คาสัง่ คอื int N = digitalRead (3); 3. นาคา่ ที่ได้จากการอ่านคา่ ไปใช้งาน เชน่ นาไปใชก้ บั คาสง่ั เง่อื นไข If, Switch case, while เปน็ ต้น จากสามข้ันตอนข้างต้นก็จะสามารถควบคุมการใช้งานเพ่ือรับค่าอินพุตดิจิทัลบนอาร์ดุยโนได้ โดยจะเห็นได้ว่า ในการที่จะส่ังงานขาใดเป็นอินพุตนั้น จะต้องกาหนดโหมดการทางานเป็นอินพุตเสียก่อน จึงจะสามารถใช้งานได้ โดยยกตัวอย่างการส่ังงานให้เมือ่ กดสวิตช์ท่ีต่อไวแ้ บบ Pull-up ท่ีขา 14 จะทาให้ LED ท่ีต่อไวก้ ับขา 1 สว่างขน้ึ โดยลกั ษณะการตอ่ วงจรแสดงได้ ดงั รปู ใบงานที่ 3-3 รูปใบงานที่ 3-3 ลกั ษณะการต่อสวิตช์แบบ pull-up เข้ากับไมโครคอนโทรลเลอร์ หนงั สือชุดฝึกดา้ นดจิ ิทลั 69

การใช้งานสวิตชอ์ ินพตุ บนบอรด์ One the all รูปใบงานที่ 3-4 ภาพโมดลู INPUT SW บนบอรด์ One the all บนบอร์ด One the all ในส่วนของโมดูล SW INPUT ซ่ึงมีลักษณะดังรูปใบงานท่ี 3-4 มีการต่อไว้ในส่วนท่ีเป็น SW แบบกดติดปล่อยดับท้ังหมด 8 ตัว โดยแต่ละตัวได้ต่อพูลอัพไว้กับตัวต้านทาน 10k ohm เข้ากับไฟเลี้ยง 5VDC ดังรูปใบงานท่ี 3-5 ดังนั้น หากมีการกดสวิตช์ จะให้สถานะ LOW หรือ ‘0’ และหากปลอ่ ยสวติ ชห์ รือไมไ่ ด้กดสวิตช์ จะให้สถานะ HIGH หรือ ‘1’ นั่นเอง รปู ใบงานที่ 3-5 Schematic ของโมดลู SW INPUT บนบอรด์ One the All70 หนังสอื ชุดฝกึ ดา้ นดิจทิ ัล

ขัน้ ตอนการทดลอง1. เช่ือมต่อวงจรบนบอรด์ ทดลอง One the all เข้ากับบอร์ดอาร์ดยุ โน โดยเชือ่ มตอ่ ดังตารางที่ 3-1 ดงั นี้ตารางใบงานท่ี 3-1 การเชอ่ื มตอ่ ในการทดลองบอรด์ Mega2560 One the all Board บอรด์ Mega2560 One the all Board D1 LED1 D14 SW1 D2 LED2 D15 SW2 D3 LED3 D16 SW3 D4 LED4 D17 SW4 D5 LED5 D18 SW5 D6 LED6 D19 SW6 D7 LED7 D20 SW7 D8 LED8 D21 SW8 Vin 9V GND GNDโดยตวั อยา่ งการเช่อื มต่อ แสดงดงั รูปใบงานท่ี 3-6 รูปใบงานท่ี 3-6 ภาพการเชื่อมตอ่ เพื่อใช้ในการทดลอง หนงั สือชุดฝกึ ดา้ นดจิ ิทลั 71

2. ทดลองเขยี นโปรแกรมตามโปรแกรมการทดลองท่ี 3-1 ดงั น้ีโปรแกรมการทดลองท่ี 3-1 1 int LED1 = 1; 2 int LED2 = 2; 3 4 int SW1 = 14; 5 int SW2 = 15; 6 7 void setup (){ 8 pinMode(LED1,OUTPUT); 9 pinMode(LED2,OUTPUT); 10 11 pinMode(SW1,INPUT); 12 pinMode(SW2,INPUT); 13 } 14 15 void loop(){ 16 if (digitalRead(SW1) == 0){ 17 digitalWrite(LED1,LOW); 18 }else digitalWrite(LED1,HIGH); 19 20 if (digitalRead(SW2) == 0){ 21 digitalWrite(LED2,LOW); 22 }else digitalWrite(LED2,HIGH); 23 }3. เชื่อมต่อสาย USB เข้ากับคอมพิวเตอร์และบอร์ดอาร์ดุยโนแล้วคอมไพล์ และอัพโหลดโปรแกรมลงบนบอรด์ อาร์ดยุ โน ซ่ึงเมอื่ เสรจ็ สน้ิ จะแสดง ดงั รปู ใบงานที่ 3-7 แลว้ บนั ทึกผลการทางาน รูปใบงานที่ 3-7 สถานะแสดงการอพั โหลดเสร็จสนิ้72 หนงั สือชดุ ฝึกดา้ นดจิ ทิ ลั

4. ทดลองกดปมุ่ ท่ี SW1 และ SW2 แล้วบันทึกผลการทางานของโปรแกรม…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………..…………………………………………………………………………….5. จากโปรแกรมท่ี 3-1 จงอธบิ ายการทางานของโปรแกรมในบรรทดั ตอ่ ไปนี้ บรรทดั ท่ี 1 ………………………………………………………………………………………………………………… บรรทัดที่ 4 ………………………………………………………………………………………………………………… บรรทดั ที่ 8 ………………………………………………………………………………………………………………… บรรทัดที่ 11 ………………………………………………………………………………………………………………… บรรทัดท่ี 16 ………………………………………………………………………………………………………………… บรรทัดที่ 17 ………………………………………………………………………………………………………………… บรรทัดท่ี 18 …………………………………………………………………………………………………………………6. ทดลองเปลี่ยนคา่ ในคาสง่ั if จาก if (digitalRead (SW1 == 0) เป็น if (digitalRead (SW1 ==1)ดังภาพท่ี 3-8 แล้วอพั โหลดลงบอรด์ อาร์ดุยโนและบนั ทกึ ผลการทดลอง รูปใบงานที่ 3-8 ลักษณะการคอมเมนต์บรรทัดทไ่ี มต่ ้องการนามาคอมไพล์บันทึกผลการทางานของโปรแกรม…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………….……………………………………………….……………………………………………………………………..………………………………….………………………………………………. หนังสือชุดฝึกดา้ นดิจิทัล 73

สรปุ ผลการทดลอง…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………………………..คาถามทา้ ยการทดลอง1. จากโปรแกรมทท่ี าการทดลอง จงบอกความสาคัญของคาสัง่ digitalRead();………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….……………………………………………………………………………………………………………………………………………………………………….……………………2. จงเขียนโปรแกรม โดยรับค่าจาก SW1 ถึง SW8 และแสดงผลทาง LED1 ถึง LED8 โดยกาหนดให้เมื่อกดSW1 ให้ LED1 ติด แต่เม่ือปล่อย SW1 ก็จะส่งผลให้ LED1 ดับลงตามเดิม โดยกาหนดให้เป็นเช่นนี้ทุกดวงต้งั แต่ปุม่ ท่ี 1 – ปุ่มท่ี 8บันทึกโปรแกรม………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………………………..…..……………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………..……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….……………………………………………………………………………………………………………………………………………………………………..……………………74 หนงั สือชุดฝึกดา้ นดจิ ิทลั

………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….…………………………………………………………………………………………………………………………………………………..………..…………………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..…………………………………….……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………….……………………………………………………………………………………………………………………………………..……………………….…………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………..……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………….…………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………..……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………………..…………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………………… หนงั สอื ชดุ ฝกึ ดา้ นดจิ ทิ ลั 75

3. จงเขียนโปรแกรมเพ่ือให้ LED ติดในลักษณะดวงเวน้ ดวง โดยเม่ือกดปุม่ SW1 ให้ LED ติดในลักษณะ stateท่ี 1 แต่หากกดปุม่ ที่ 2 ใหต้ ดิ ในลักษณะ state ท่ี 2 โดยหากไมไ่ ดก้ ดปุม่ ใดๆ เลย ให้ LED ดับทกุ ๆ ดวงบันทกึ โปรแกรม………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………………………………………………………………………………………………………………………………………………….…………..……………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………….………………………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………..……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………..………………………………………………………………………………………………………………………………..……………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..…………………………..………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..……………………………………..……………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………….………….……………………………………………………………………………………………………………………………………..………………………………………………………….76 หนังสอื ชุดฝึกดา้ นดิจทิ ัล


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook