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 ตรงตอเวลา กระตือรือรน รอบคอบ ขอเสนอแนะ …………………………………………………………………………………………………………………………. …………..……………………………………………………………………………………………………………... ………………………………..………………………………………………………………………………………...
Search
Read the Text Version
- 1 - 9
Pages: