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 บท6 การใช้งานแอนะลอกและ PWM ของบอร์ด Arduino

บท6 การใช้งานแอนะลอกและ PWM ของบอร์ด Arduino

Published by Yotsapol Jearanai, 2023-06-29 07:02:38

Description: บท6

Search

Read the Text Version

CHUMPHON TECHNICAL COLLEGE 30105-2007 MICROCONTROLLER ep.6 การใช้งานแอนะลอกและ PWM ของบอร์ด Arduino นายยศพล เจียรนัย แผนกวิชาช่างอิเล็กทรอนิกส์

64 แผนการจดั การเรยี นรหู นว ยท่ี 6 สอนครั้งท่ี 9 เร่อื ง การใชง านแอนะลอกและ PWM ของบอรด Arduino

65 ชื่อวิชา. ไมโครคอนโทรลเลอร แผนการจัดการเรียนรูท ี่ 6 เวลาเรียนรวม 5 ชัว่ โมง ช่ือหนวย การใชงานแอนะลอกและ PWM ของบอรด Arduino สอนครั้งที่ 9 ชอื่ เรื่อง การใชง านแอนะลอกและ PWM ของบอรด Arduino จำนวน 5 ช่ัวโมง หวั ขอเรอื่ ง 6.1 พอรต แอนะลอกอินพุตของบอรด Arduino 6.2 การใช PWM ของบอรด Arduino 6.3 การสรา งสญั ญาณเสยี งดว ย Buzzer สาระสำคัญ ไอซีไมโครคอนโทรลเลอรตระกูล AVR จะมีโมดูลแปลงสัญญาณแอนะลอกเปนสัญญาณดิจิทัล ความละเอียด 10 บิต สว นจำนวนชองทส่ี ามารถตอแอนะลอกไดน ั้นแตกตางกนั ไป เชน ไอซไี มโครคอนโทรลเลอรเบอร ATmega328/p มีจำนวน 8 ชอง เบอร ATmega32U4 มีจำนวน 12 ชอง เบอร ATmega2560 มีจำนวน 12 ชอง ถึงอยางไรก็ตามเมื่อนำมาสรางเปนบอรด Arduino รุนมาตรฐาน ผูออกแบบไดอ อกแบบชองแอนะลอกอินพุตไวเพียง 6 ชอง คือชอง A0 ถึง A5 สวนบอรด Arduino รุน Mega นั้น มี ชองแอนะลอกอินพุตจำนวน 16 ชอง คือชอง A0 ถึง A15 สำหรับบอรด Arduino รุนที่สอง (DUE) จะมีชองชองแอนะลอกอินพุต จำนวน 12 ชอง คือชอง A0 ถึง A11 และมีความละเอียด 12 บิต เนื่องจากใชไอซีไมโครคอนโทรลเลอรเบอร ATSAM3X8E บอรด Arduino รุน UNO จะมีขาสำหรับสงออก PWM จำนวน 6 ขา ไดแก D3, D5, D6, D9, D10 และ D11 ความถข่ี อง PWM ประมาณ 490 Hz การกำหนดคา Duty cycle สามารถกำหนดไดโ ดยคาตวั เลข 0 ถึง 255 หมายถึงคากำหนดคา Duty cycle 0 % ถึง 100 % น้ัน กำหนดดวยคาตัวเลข 0 ถึง 255 ฟงกชันที่กำหนดใหสงสัญญาณ PWM สำหรับ Buzzer เปนอุปกรณไฟฟาที่นำผลของ แมเหล็กไฟฟามาดึงดูดใหแกนอามาเจอร (Armature) เคลื่อนท่ีมาเคาะกับกระดิ่ง (Bell) ทำใหเกิดเสียงดังได ฟงกชันที่ใชกำเนิด สัญญาณเสยี งคอื wave(speakerPin, f, t) ซึ่ง speakerPin คือพอรต ท่ตี อกบั Buzzer หรอื ลำโพง f คอื คา ความถี่ทตี่ อ งการใหเกิดข้ึน มี หนวยเปน Hz สว น t คอื เวลาทีเ่ กดิ เสยี ง มหี นว ยเปน ms สมรรถนะหลัก (สมรรถนะประจำหนวย) แสดงความรูเ ก่ยี วกับการใชงานแอนะลอกและ PWM ของบอรด Arduino สมรรถนะยอ ย (สมรรถนะการเรยี นร)ู สมรรถนะท่ัวไป (ทฤษฏ)ี 6.1 แสดงความรเู ก่ียวกับพอรต แอนะลอกอนิ พตุ ของบอรด Arduino 6.2 แสดงความรูเกี่ยวกบั การใช PWM ของบอรด Arduino สมรรถนะท่ีพงึ ประสงค (ทฤษฏี) 6.1 ระบุจำนวนชองสำหรบั รบั สญั ญาณแอนะลอกของบอรด Arduino แตล ะรนุ ได 6.2 อธบิ ายการใช PWM ของบอรด Arduino ได

66 ชอื่ วชิ า. ไมโครคอนโทรลเลอร แผนการจดั การเรยี นรูที่ 6 เวลาเรียนรวม 5 ชัว่ โมง ชอื่ หนว ย การใชง านแอนะลอกและ PWM ของบอรด Arduino สอนคร้ังที่ 9 ชอื่ เร่ือง การใชงานแอนะลอกและ PWM ของบอรด Arduino จำนวน 5 ชว่ั โมง สมรรถนะทวั่ ไป (ปฏบิ ตั ิ) 6.3 แสดงความรูเ ก่ียวกบั การสรา งสญั ญาณเสยี งดวย Buzzer สมรรถนะทพ่ี ึงประสงค (ปฏิบตั )ิ 6.3เขียนโปรแกรมใหส ัญญาณเสยี งดว ย Buzzerไดไ ด กิจกรรมการเรยี นการสอน ในการจัดการเรยี นการสอนรายวิชาไมโครคอนโทรลเลอร ไดกำหนดกิจกรรมการเรียนการสอนใหผเู รียนเกิด การเรยี นรูโ ดยใชการจดั การเรียนรแู บบบทบาทสมมติ ( Role p laying ) ดานเทคนคิ การจดั การเรียนการสอนแบบ MAIP โดย มีขนั้ ตอนในการดำเนนิ กจิ กรรมการเรียนการสอน ดงั นี้ กจิ กรรมการเรียนการสอน (สอนครัง้ ท่ี 9 ) เวลา 5 ช่วั โมง/สัปดาห ๑.ผสู อนแจง จุดประสงคก ารเรยี นประจำสัปดาห และนำเขาสบู ทเรยี น ๒.ผสู อนถายทอดความรใู นหนว ยท่ี 3 เรื่อง การใชง านแอนะลอกและ PWM ของบอรด Arduino ๓.ผสู อนแสดงใบงานเร่อื งการใชงานแอนะลอกและ PWM ของบอรด Arduino ๔.ผสู อนใหผ ูเรยี นปฏิบตั ิงานเขยี นแบบตามใบงานเร่อื งการใชง านแอนะลอกและ PWM ของบอรด Arduino ๕.ผสู อนประเมินผลการปฏบิ ตั ิงานของผูเรยี นและใหผ เู รยี นสรุปสาระสำคญั ของเรื่องทเ่ี รยี นประจำสปั ดาห สื่อการสอน ๑.เอกสารประกอบการสอน ๒.เอกสารประกอบการเรยี น ๓.สอื่ นำเสนอ PowerPoint งานที่มอบหมาย/กจิ กรรม ใหน กั เรียนทำแบบฝกเสรมิ ทักษะตามใบงานทายหนวยการเรยี นท่ี 4 การวดั และประเมนิ ผล วิธกี าร เครื่องมือ เกณฑ วัดผล/ประเมนิ ผล - ทำแบบฝก เสริมทกั ษะทาย - แบบฝกเสริมทักษะทาย - ผานเกณฑร อ ยละ ๖๐ หนว ย หนว ย ๑.สมรรถนะทพ่ี ึงประสงค

67 แผนการจดั การเรียนรทู ี่ 6 เวลาเรียนรวม 5 ชวั่ โมง ชื่อวิชา. ไมโครคอนโทรลเลอร สอนครัง้ ที่ 9 ชอ่ื หนวย การใชงานแอนะลอกและ PWM ของบอรด Arduino ช่อื เรือ่ ง การใชง านแอนะลอกและ PWM ของบอรด Arduino จำนวน 5 ชวั่ โมง 1. พอรต แอนะลอกอินพตุ ของบอรด Arduino 1.1 พ้ืนฐานของแอนะลอกอินพุตของบอรด Arduino ADC Multiplexer select ADMUX ADC control & status register ADCSRA ADC 0 ADSC ADEN INPUT MUX ADC 1 ADC Data register ADC 8 ADC .. Conversion circuit 2 ADCL ADCH ADC n 1.2 ฟงกชนั สำหรับอานสญั ญาณแอนะลอก anaฟlงoกgชWันrทit่ีใeช(0) 2. การใช PWM ของบอรด Arduino anaฟlงoกgช Wันrทit่ีใeช(64) anaฟlงoกgชWนั rทit่ใีeช(127) Duty cycle anaฟlงoกgชWันrทitใ่ีeช(191) 0% anaฟlงoกgชWนั rทitี่ใeช(255) Duty cycle 25 % Duty cycle 50 % Duty cycle 75 % Duty cycle 100 %

68 16 MHz RESET DIGITAL (WPM ∼)1R501AG∼∼RN∼1111ED32901F Ω 8 +5 V R3GIG5VO.EVNNi3nRSVDDEEFT POWER ATmega328p L LED1∼∼567 10VRkΩ AAAAAA231540 ∼43 TRXX ARDUINO 2 TX 1 ANALOG IN ON RX 0 UNO ICSP 16 MHz RESET DIGITAL (WPM ∼)AG∼∼RN∼1111ED20319F R3IGG5VO.EVNNi3nRSVDDEEFTPOWER ATmega328p L 8 AAAAAA213450 TRXX ARDUINO ∼∼567 ∼43 ANALOG IN ON 2 UNO ICSP TX 1 LED1 R1 RX 0 LED2 R2 LED3 R3 R1 ถึง R6 = 150 Ω LED4 R4 LED5 R5 LED6 R6

69 แผนการจดั การเรยี นรูท่ี 6 เวลาเรยี นรวม 5 ชั่วโมง ชอื่ วิชา. ไมโครคอนโทรลเลอร สอนครงั้ ท่ี 9 ชอ่ื หนว ย การใชง านแอนะลอกและ PWM ของบอรด Arduino ชอ่ื เรอื่ ง การใชง านแอนะลอกและ PWM ของบอรด Arduino จำนวน 5 ชว่ั โมง ตอนท่ี 1 ใหกาเครือ่ งหมายถูก √ ในขอ ท่คี ดิ วา ถูก และกาเครอื่ งหมายผดิ x ในขอ ท่ีคิดวาผิด ……… 1. จำนวนชองแอนะลอ็ กของไอซไี มโครคอนโทรลเลอรเบอร ATmega328/p มจี ำนวน 8 ชอ ง ……… 2. จำนวนชอ งแอนะล็อกของไอซีไมโครคอนโทรลเลอรเบอร ATmega32U4 มจี ำนวน 12 ชอง ……… 3. บอรด Arduino UNO ทใ่ี ชไอซเี บอร ATmega328/p มชี อ งทส่ี ามารถตอ แอนะล็อกมีจำนวน 6 ชอ ง ……… 4. บอรด Arduino LEONARDO ท่ใี ชไอซีเบอร ATmega32U4 มีชอ งที่สามารถตอแอนะล็อก มีจำนวน 10 ชอง ……… 5. โมดลู ADC ของไอซไี มโครคอนโทรลเลอรเบอร ATmega328/p มคี วามละเอยี ด 12 บติ ……… 6. ฟงกชัน int value = analogRead(0) เปน การอานสัญญาณแอนะล็อกเขา ทีช่ อ ง 0 เก็บคา ไวที่ ตัวแปร value ……… 7. การใช PWM ของบอรด Arduino UNO สามารถใชทีพ่ อรต D3, D4, D5, D6, D7 และ D13 ……… 8. ฟง กช ัน analogWrite(4, 255) เปนการสงสญั ญาณ PWM ออกที่ขาพอรต D4 มคี า duty cycle เทา กับ 100 % ……… 9. Buzzer เปน อุปกรณท ่ีสำหรับสรา งเสยี งดนตรี ……… 10. ฟงกช ัน wave(10, 540, 40) เปนฟงกชันสำหรบั สรางความถี่ 540 Hz เปนเวลา 40 มลิ ลวิ ินาที จำนวน 10 คร้งั ตอนท่ี 2 จงอธิบายสัน้ ๆ ใหไ ดใจความ 1. analogRead(channel) เปนฟงกชนั เก่ยี วกับ.................................................................................................. 2. ฟง กชัน int value = analogRead(0) ใชกบั บอรด Arduino UNO คาของ value มีคา ตง้ั แต.........ถงึ .......... 3. คำสั่ง map ในภาษา C++ มไี วเ พ่อื .................................................................................................................. 4. ฟงกชนั int x = map(value,0,1023,0,100); คา ของ x มีคา ตงั้ แต....................ถึง........................................ 5. หากตองการให A0 เปน พอรต ดจิ ิทลั อินพตุ ตองใชคำส่ัง ................................................................................. 6. หากตอ งการใหเกดิ สัญญาณ PWM ทีม่ คี า duty cycle เทา กับ 50% ที่ D6 ตองใชค ำส่งั ............................... 7. ฟง กช นั int ledArr[] = {3,5,6,9,10,11} มจี ุดประสงคเ พอื่ ........................................................................... 8. ฟง กช นั analogWrite(LED, 100) มจี ุดประสงคเพ่อื ...................................................................................... 9. ฟง กชัน long int startTime = millis() มจี ุดประสงคเ พื่อ ............................................................................ 10. ฟง กช นั delayMicroseconds(15) มีจดุ ประสงคเพื่อ .................................................................................

ชอื่ เร่ือง แผนการจัดการเรยี นรทู ่ี 6 70 ช่อื วชิ า. ไมโครคอนโทรลเลอร ชอ่ื หนว ย การใชงานแอนะลอกและ PWM ของบอรด Arduino เวลาเรียนรวม 5 ชว่ั โมง การใชง านแอนะลอกและ PWM ของบอรด Arduino สอนครั้งท่ี 9 จำนวน 5 ช่วั โมง การประเมนิ 4321 ท่ี รายการประเมิน 1 การมีสว นรว มในการทาํ งานของกลมุ 2 ความถูกตองของเนอื้ หา 3 สิง่ ท่ใี ชประกอบการนาํ เสนอ 4 รูปแบบการนําเสนอหนาชน้ั เรยี น ชัดเจน เขา ใจ งาย 5 ตรงตอเวลา กระตือรือรน รอบคอบ ขอเสนอแนะ …………………………………………………………………………………………………………………………. …………..……………………………………………………………………………………………………………... ………………………………..………………………………………………………………………………………...


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