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 บท8 การใช้งาน Real Time Clock ร่วมกับ Arduino

บท8 การใช้งาน Real Time Clock ร่วมกับ Arduino

Published by Yotsapol Jearanai, 2023-06-29 07:03:27

Description: บท8

Search

Read the Text Version

CHUMPHON TECHNICAL COLLEGE 30105-2007 MICROCONTROLLER ep.8 การใช้งาน Real Time Clock ร่วมกับ Arduino นายยศพล เจียรนัย แผนกวิชาช่างอิเล็กทรอนิกส์

78 แผนการจดั การเรยี นรูหนว ยที่ 8 สอนครง้ั ท่ี 12-13 เรื่อง การใชง าน Real Time Clock

79 ช่ือวชิ า. ไมโครคอนโทรลเลอร แผนการจัดการเรยี นรูท ี่ 8 เวลาเรยี นรวม 10 ชัว่ โมง ช่ือหนวย การใชง าน Real Time Clock สอนคร้ังที่ 12-13 ชอ่ื เร่ือง การใชง าน Real Time Clock จำนวน 10 ชั่วโมง หัวขอ เร่ือง 8.1 ไอซีกำเนดิ ฐานเวลาจรงิ (Real Time Clock) 8.2 บอรด Real Time Clock 8.3 การใชง าน Real Time Clock รว มกบั บอรด Arduino สาระสำคัญ สัญญาณนาิกาที่เปนเวลาปจจุบัน มีประโยชนสำหรับการประยุกตใชกับงานในไมโครคอนโทรลเลอรที่เกี่ยวของกับ เวลาทีเ่ ปนวินาท่,ี นาที, ชั่วโมง, วนั ที,่ วัน, เดอื น, และป ไอซีเบอร DS1307 และเบอร DS3231 เปนไอซสี รางฐานเวลาจริงสามารถ ตงั้ คา เปนปจ จุบนั ได ภายในมหี นวยความจำและรจี สิ เตอรท่สี ามารถคำนวณวัน เดือน ป อยางเทยี่ งตรงไปจนถึงป ค.ศ. 2099 ไอซี สรา งฐานเวลาจรงิ (RTC : Real Time Clock) เบอร DS1307 เปนไอซที ่ีสรางฐานเวลาจรงิ ท่ีมกี ารประมวลผลเกยี่ วกับวนิ าที (Second) นาที (Minute) ชั่วโมง (Hours) วันที่ (Date) วันในสัปดาห (Day) เดือน (Month) และป (Year) สามารถปรับตั้งใหตรงกับเวลาปจจุบัน ได และมีการคำนวณสามารถกำหนดวันในอธิกสุรทินดวย สามารถคำนวณเวลา วัน เดือน ป ไดอยางเที่ยงตรงไปจนถึงป ค.ศ. 2099 และยังมหี นว ยความจำ RAM ขนาด 56 ไบต มกี ารเชือ่ มตอการสอ่ื สารแบบ I2C มวี งจรตรวจจบั ไฟเลยี้ งตำ่ อยา งอัตโนมัติ มีขา ตอแบตเตอร่สี ำรองเปนไฟเลี้ยงการทำงาน สมรรถนะหลกั (สมรรถนะประจำหนวย) แสดงความรูเ กีย่ วกบั การใชงาน Real Time Clock สมรรถนะยอ ย (สมรรถนะการเรียนร)ู สมรรถนะท่ัวไป (ทฤษฏ)ี 8.1 แสดงความรเู กี่ยวกบั ไอซกี ำเนิดฐานเวลาจริง (Real Time Clock) 8.2 แสดงความรูเ กย่ี วกบั บอรด Real Time Clock สมรรถนะท่ีพึงประสงค (ทฤษฏี) 8.1 บอกประโยชนของ Real Time Clock ได 8.2 อธิบายคณุ สมบตั ิของ Real Time Clock เบอร DS3231 ได

80 ชอื่ วชิ า. ไมโครคอนโทรลเลอร แผนการจดั การเรยี นรูท่ี 8 เวลาเรียนรวม 10 ช่ัวโมง ชื่อหนว ย การใชง าน Real Time Clock สอนครัง้ ที่ 12-13 ช่ือเรื่อง การใชง าน Real Time Clock จำนวน 10 ชั่วโมง สมรรถนะทว่ั ไป (ปฏิบตั ิ) 8.3 แสดงความรเู ก่ยี วกบั การใชง าน Real Time Clock รวมกับบอรด Arduino สมรรถนะทพ่ี ึงประสงค (ปฏิบัติ) 8.3 เขยี นโปรแกรมภาษา C++ เพอ่ื อานคา เวลาจากโมดลู Real Time Clock เบอร DS1307 ได กิจกรรมการเรียนการสอน ในการจดั การเรยี นการสอนรายวิชาไมโครคอนโทรลเลอร ไดกำหนดกจิ กรรมการเรยี นการสอนใหผ เู รียนเกดิ การเรยี นรูโดยใชก ารจัดการเรยี นรแู บบบทบาทสมมติ ( Role p laying ) ดา นเทคนคิ การจดั การเรียนการสอนแบบ MAIP โดย มีขนั้ ตอนในการดำเนินกจิ กรรมการเรยี นการสอน ดังนี้ กิจกรรมการเรียนการสอน (สอนคร้ังท่ี 12 ) เวลา 5 ชว่ั โมง/สัปดาห ๑.ผสู อนแจง จุดประสงคก ารเรยี นประจำสัปดาห และนำเขา สบู ทเรยี น ๒.ผสู อนถา ยทอดความรูใ นหนวยที่ 8 เร่ือง ไอซกี ำเนดิ ฐานเวลาจริง (Real Time Clock) ๓.ผสู อนแสดงใบงานเร่ืองการใชง านไอซีกำเนดิ ฐานเวลาจรงิ (Real Time Clock) ๔.ผสู อนใหผ เู รียนปฏิบัตงิ านเขียนแบบตามใบงานเรอื่ งไอซกี ำเนดิ ฐานเวลาจรงิ (Real Time Clock) ๕.ผสู อนประเมนิ ผลการปฏิบตั ิงานของผูเรียนและใหผเู รยี นสรุปสาระสำคัญของเรือ่ งทเ่ี รยี นประจำสปั ดาห กจิ กรรมการเรยี นการสอน (สอนครั้งท่ี 13 ) เวลา 5 ชว่ั โมง/สัปดาห ๑.ผสู อนแจงจดุ ประสงคก ารเรยี นประจำสปั ดาห และนำเขาสูบทเรยี น ๒.ผสู อนถายทอดความรูในหนว ยท่ี 8 เรอ่ื ง การใชงาน Real Time Clock รวมกับบอรด Arduino ๓.ผสู อนแสดงใบงานเร่อื งการใชง าน Real Time Clock รวมกบั บอรด Arduino ๔.ผสู อนใหผูเ รียนปฏิบัตงิ านเขยี นแบบตามใบงานเรอื่ งการใชงาน Real Time Clock รวมกับบอรด Arduino ๕.ผสู อนประเมินผลการปฏิบตั ิงานของผเู รยี นและใหผเู รยี นสรุปสาระสำคัญของเร่ืองท่ีเรยี นประจำสปั ดาห สอ่ื การสอน ๑.เอกสารประกอบการสอน ๒.เอกสารประกอบการเรยี น ๓.สอ่ื นำเสนอ PowerPoint งานท่มี อบหมาย/กิจกรรม ใหนกั เรยี นทำแบบฝก เสริมทกั ษะตามใบงานทายหนวยการเรยี นที่ 4 การวดั และประเมินผล วิธกี าร เคร่อื งมอื เกณฑ วดั ผล/ประเมนิ ผล - ทำแบบฝกเสริมทักษะทา ย - แบบฝกเสริมทกั ษะทาย - ผานเกณฑร อยละ ๖๐ หนว ย หนวย ๑.สมรรถนะท่ีพึงประสงค

81 แผนการจดั การเรยี นรทู ่ี 8 เวลาเรยี นรวม 10 ชั่วโมง ชอ่ื วชิ า. ไมโครคอนโทรลเลอร สอนคร้งั ท่ี 12-13 ช่ือหนว ย การใชง าน Real Time Clock ชือ่ เร่ือง การใชง าน Real Time Clock จำนวน 10 ช่วั โมง 1. ไอซกี ำเนดิ ฐานเวลาจรงิ (Real Time Clock) 1.1 ไอซีกำเนิดฐานเวลาจริงเบอร DS1307 Vcc X1 X2 00H OSCILLATOR VBAT CPOONWTREORL AND DIVIDER RTC GND 0087HH SQW/OUT WSAQVUEAOREUT COLNOTGRICOL RAM (56× 8) SCL SINERTIEARLFABCUES RAEDGDISRTESESR 3FH SDA 1.2 ไอซีกำเนิดฐานเวลาจรงิ เบอร DS3231 RESET DS3231 1µF 4.7 kΩ 4.7 kΩ +5V 32.768 kHz SCLDS3231 2 1 µF Vcc SDA SDA 16 SDA 32 KHz 1 32 kHz INT/SQW VbattSCL15SCL RST GNDRST4RSTINT/SQW 3 INT/SQW N.C. N.C.14Batt N.C. N.C.+ N.C. N.C. N.C. N.C. 4.7 kΩ 4.7 kΩ 3 V 13

82 2. บอรด Real Time Clock 2.1 โมดูล Real Time Clock DS1307 +5V DS1307 8 4.7 kΩ SQW/OUT 7 4.7 kΩ 15 pF 1 SXQ1W/OUTSSDCAL 5 SDA 6 SCL 15 pF 2 X2 Batt 3 +3V 32.768 KHz 4 2.2 โมดูล Real Time Clock DS3231

แผนการจัดการเรยี นรทู ่ี 8 83 ชอ่ื วชิ า. ไมโครคอนโทรลเลอร ช่ือหนวย การใชงาน Real Time Clock เวลาเรยี นรวม 10 ชว่ั โมง สอนคร้งั ที่ 12-13 ชอื่ เรอื่ ง การใชง าน Real Time Clock จำนวน 10 ชั่วโมง ตอนท่ี 1 จงอธบิ ายสนั้ ๆ ใหไ้ ดใ้ จความ 1. Real Time Clock สามารถใหค้ า่ เวลาในรปู แบบใด......................................................................................... .......................................................................................................................................................................... 2. Real Time Clock จะบอกวนั เวลา เดอื น ปี โดย ปีจะระบุเป็น .................................................................... .......................................................................................................................................................................... 3. RTC เบอร์ DS1307 นัน้ ท่ี Address 0x00h จะเกบ็ ขอ้ มลู เกย่ี วกบั ............................................................... .......................................................................................................................................................................... 4. RTC เบอร์ DS1307 นัน้ ท่ี Address 0x01h จะเกบ็ ขอ้ มลู เกย่ี วกบั ............................................................... .......................................................................................................................................................................... 5. RTC เบอร์ DS1307 นนั้ ท่ี Address 0x04h จะเกบ็ ขอ้ มลู เกย่ี วกบั ............................................................... .......................................................................................................................................................................... 6. RTC เบอร์ DS1307 นัน้ ท่ี Address 0x06h จะเกบ็ ขอ้ มลู เกย่ี วกบั ............................................................... .......................................................................................................................................................................... 7. ถา้ ใชฟ้ ังกช์ นั #include <Wire.h> มจี ดุ ประสงคเ์ พ่อื .................................................................................... .......................................................................................................................................................................... 8. ถา้ ใชฟ้ ังกช์ นั RTC_DS1307 RTC; มจี ดุ ประสงคเ์ พอ่ื ...................................................................................... .......................................................................................................................................................................... 9. ฟังกช์ นั if (! rtc.begin()) มคี วามหมายวา่ ....................................................................................................... .......................................................................................................................................................................... 10. ฟังกช์ นั DateTime now = RTC.now(); มคี วามหมายว่า ........................................................................... .......................................................................................................................................................................... ตอนที่ 2 จงเลือกคำตอบทีถ่ กู ที่สดุ แลว ทำเคร่อื งหมาย x ลงในกระดาษคำตอบ 1. ประโยชนข อง Real Time Clock คอื ขอใด ก. ใหขอมูลเก่ยี วกับเวลา วัน เดอื น ป แกระบบคอมพวิ เตอรหรือไมโครคอนโทรลเลอร ข. ระบุคา เวลาท่แี นนอน ค. แจงเตอื นเมอ่ื ถงึ เวลาทีก่ ำหนด ง. กำหนดความเร็วใหแ ก CPU 2. ขอ ใดไมใ ชคุณสมบตั ิของ Real Time Clock เบอร DS1307 ก. ใชไฟเลีย้ งไดต ั้งแต 3 V ถึง 5 V ข. เก็บขอมูลเปน ป พ.ศ. ค. สามารถบอกเวลาเปน 12AM, 12PM และ 24 ได ง. สามารถบอกวันเปน วนั อาทติ ยถ งึ วันเสารไ ด

84 3. แอดเดรสหมายเลข 0x03h ของ Real Time Clock เบอร DS1307 ใชเ กบ็ ขอ มูลใด ก. Sec ข. Minute ค. Day ง. Date 4. เหตุใด Real Time Clock เบอร DS3231 จึงมีคาความเทีย่ งตรงกวา เบอร DS1307 ก. ราคาแพงกวา ข. มีหนวยความจำมากกวา ค. ใช Crystal ความถี่สงู กวา ง. มวี งจรชดเชยผลทเี่ กดิ จากความรอ น 5. ฟง กช ันทเ่ี ปนตัวระบุออฟเจกของ Real Time Clock เบอร DS1307 คือขอใด ก. #include <Wire.h> ข. RTC_DS1307 rtc; ค. #include \"RTClib.h\" ง. #include <LiquidCrystal_I2C.h> 6. ฟง กชนั ที่เปน ตัวระบุไลบรารีของ Real Time Clock คอื ขอใด ก. #include <Wire.h> ข. RTC_DS1307 rtc; ค. #include \"RTClib.h\" ง. #include <LiquidCrystal_I2C.h> วงจรสำหรับขอ 7-10 16 MHz RESET DIGITA L (WPM ∼)AG∼∼RN∼1111E23109DF L 8 TX ∼∼657 โมดูล RTC3231 RX ∼43 2 R3IOE.3RSVEEFTP OW E R ATmega328p ARDUINO GND DS3231 GVNcDc 5V TX 1 Vcc SDA GN D RX 0 SDA SQSCWL GN D ANALOG IN ON SCL 24C 32kHz Vin AAAAAA251340 UNO ICSP SCL SDA 1 16 LCD 16x2 VVRVDDDDDDDDdRsEKAS07541236Wdso GVNccD SDA SCL 7. จากวงจรทกี่ ำหนด ฟงกช ันท่ใี ชตดิ ตอส่ือสารระหวา Arduino กบั RTC-3231 คือขอ ใด ก. #include <DS3231.h> ข. #include <LCD.h> ค. #include <LiquidCrystal_I2C.h> ง. DS3231 rtc(SDA, SCL); 8. จากวงจรทีก่ ำหนด ภาษา C++ ทที่ ำหนา ทอี่ า นขอมูลจาก RTC-13071 คือขอ ใด ก. Wire.begin(); ข. lcd.print(now.hour()); ค. DateTime now = RTC.now(); ง. lcd.print(now.second()); 9. จากวงจรที่กำหนด ภาษา C++ ที่ทำหนาท่ีตรวจสอบความถกู ตองของขอมลู จาก RTC-13071 คือขอ ใด ก. Wire.begin(); ข. RTC.adjust(DateTime(__DATE__, __TIME__)); ค. DateTime now = RTC.now(); ง. RTC.begin(); 10. จากวงจรทีก่ ำหนด หากตอ งการแสดงคาที่ LCD บรรทดั ที่ 1 คอลมั นที่ 7 คำส่ังภาษา C++ คอื ขอ ใด ก. lcd.setCursor(0,6); ข. lcd.setCursor(0,7); ค. lcd.setCursor(1,6); ง. lcd.setCursor(1,7);

85 แผนการจัดการเรียนรูท ่ี 8 เวลาเรียนรวม 10 ชัว่ โมง ชอื่ วชิ า. ไมโครคอนโทรลเลอร สอนครั้งท่ี 12-13 ชอ่ื หนว ย การใชง าน Real Time Clock ชื่อเร่อื ง การใชง าน Real Time Clock จำนวน 10 ชวั่ โมง การประเมิน 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