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 เรื่อง การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจริง

หน่วยที่ 8 เรื่อง การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจริง

Published by kik.fuu2021, 2021-06-10 03:40:26

Description: หน่วยที่ 8 เรื่อง การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจริง

Search

Read the Text Version

0 เอกสารประกอบการสอน 36 หน่วยท�ี 8 การประยุกตใ ชง านไมโครคอนโทรลเลอรก ับจอแสดงผล และไอซสี รา งฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 160 หนว่ ยที่ 8 การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์ กบั จอแสดงผลและไอซสี ร้างฐานเวลาจรงิ สาระสาคัญ จอแสดงผลแบบ LCD (Liquid Crystal Display) ได้รับความนิยมอย่างแพร่หลายในวงการ แสดงผล ซ่ึงสามารถแสดงผลไดท้ ้ังตัวเลข ตวั อักษร หรือสญั ลกั ษณ์ต่าง ๆ ไดต้ ามความตอ้ งการ ระบบฐานเวลา เป็นส่ิงสาคัญที่สามารถนาไปใช้ในอุปกรณ์อิเล็กทรอนิกส์ได้หลากหลาย ภายในไมโครคอนโทรเลอร์เองก็มีไทเมอร์เพ่ือใช้ในการจับเวลา หรือนาไปใช้เป็นฐานเวลาจริงได้ เช่นกัน แต่เน่ืองจากไมโครคอนโทรเลอร์สามารถทางานได้ต่อเมื่อมีไฟเลี้ยงเท่าน้ัน ดังน้ัน การใช้ ไทเมอร์ของไมโครคอนโทรลเลอร์สร้างฐานเวลาจริงจึงไม่เหมาะสมสาหรับบางงานจงึ นิยมใช้ไอซสี ร้าง ฐานเวลาจริง RTC (Real Time Clock) เบอร์ DS1307 สาระการเรียนรู้ 1. การเรยี นรเู้ กี่ยวกับจอแสดงผล LCD 2. การเรียนรู้เกย่ี วกับการควบคุมจอแสดงผล LCD 3. การเรียนรเู้ กยี่ วกับไอซสี รา้ งฐานเวลาจริง RTC 4. การเรียนรเู้ กี่ยวกับการตดิ ต่อไอซสี ร้างฐานเวลาจริง RTC 5. การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอรก์ ับจอแสดงผล LCD และ ไอซสี รา้ งฐานเวลาจรงิ RTC จุดประสงค์เชงิ พฤติกรรม 1. นกั เรียนอธิบายการความรู้เบ้ืองต้นเก่ียวกับจอแสดงผล LCD และ ไอซีสร้างฐานเวลาจริง RTC ไดถ้ กู ตอ้ ง 2. นักเรียนต่อวงจรควบคุมจอแสดงผล LCD และ ติดต่อไอซีสร้างฐานเวลาจริง RTC ไดถ้ ูกต้อง 3. นักเรียนเชื่อมต่อคอนโทรลเลอร์กับจอแสดงผล LCD และ ไอซีสร้างฐานเวลาจริง RTC ไดถ้ กู ต้อง 4. นักเรียนใช้งานคอนโทรลเลอร์กับจอแสดงผล LCD และ ไอซีสร้างฐานเวลาจริง RTC ไดถ้ ูกต้อง หน่วยท่ี 8 : การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซสี ร้างฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 161 แบบทดสอบกอ่ นเรียน หนว่ ยท่ี 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับ จอแสดงผลและไอซีสร้างฐานเวลาจริง คาสง่ั จงเลอื กคาตอบที่ถกู ที่สุดเพยี งข้อเดียว 1. LCD ยอ่ มาจาก? ก. Light Crystal Display ข. Light Cathode Display ค. Liquid Crystal Diode ง. Liquid Crystal Display จ. Liquid Format Display 2. RTC ยอ่ มาจาก? ก. Real Timer Clock ข. Real Time Clock ค. Right Timer Cycle ง. Right Time Cycle จ. Right To Cover 3. จอแสดงผล LCD มกี ารส่งข้อมูลออกทางบัส 2 แบบคือ? ก. แบบ 8 บิต และ แบบ 4 บิต ข. แบบ 4 บติ และ แบบ 4 บิต ค. แบบ 2 บติ และ แบบ 4 บิต ง. แบบ 1 บิต และ แบบ 4 บิต จ. แบบ 2 บติ และ แบบ 8 บิต 4. จอแสดงผล LCD ขา 7-14 (D0-D7) เป็นขาสาหรับ? ก. จา่ ยไฟเลี้ยงให้กับจอ ข. เขียน/อา่ นข้อมลู ระหวา่ งจอกับอุปกรณ์ภายนอก ค. แสดงสถานะการอา่ นของข้อมูล ง. แสดงสถานการณ์เขยี นของข้อมลู จ. แสดงการนาเขา้ ข้อมลู 5. จอแสดงผล LCD ขนาด 16x2 หมายความวา่ ? ก. จอมขี นาด 16 x 2 เซนติเมตร ข. จอมขี นาด 16 x 2 นว้ิ ค. จอมขี นาด 16 บรรทัด 2 ตัวอกั ษร ง. จอมีขนาด 16 ตัวอกั ษร 2 บรรทดั จ. ไมม่ ขี ้อใดถูก หนว่ ยท่ี 8 : การประยุกต์ใชง้ านไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 162 6. โมดลู แสดงผล LCD ผา่ นบสั I2C โดยใช้ไอซเี บอร์? ก. PCF8574 ข. LM7905 ค. DS1307 ง. LM7805 จ. PCF8574A 7. ไอซีสร้างฐานเวลาเบอร์ DS1307 มขี าจานวน? ก. 6 ขา ข. 7 ขา ค. 8 ขา ง. 9 ขา จ. 11 ขา 8. โมดลู RTC ใชแ้ บตเตอรี่สารองขนาด? ก. LR44 1.5V ข. CR2032 3V ค. AA 1.5V ง. AAA 1.5V จ. CR2032 1.5V 9. การส่อื สารระหวางไมโครคอนโทรลเลอรกับไอซี DS1307 ใชการสือ่ สารแบบใด? ก. 1-Wire ข. SPI ค. USB ง. I2C จ. 3-wire interface 10. โมดูล RTC ผา่ นบสั I2C โดยใชไ้ อซีเบอร์? ก. PCF8574 ข. DS1307 ค. LM7805 ง. LM7905 จ. PCF8574A หนว่ ยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ

VSS เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 163 VDD VEEการควบคุมจอแสดงผล LCD และไอซีสรา้ งฐานเวลา RSจริง จอแสดงผลแบบ LCD (Liquid Crystal Display) ได้รับความนิยมอย่างแพร่หลายในวงการ RWแสดงผล ซึ่งสามารถแสดงผลได้ท้ังตวั เลข ตัวอกั ษร หรอื สัญลักษณ์ต่าง ๆ ไดต้ ามความต้องการ ดังน้ัน Eในหน่วยการเรียนนี้จะกล่าวถึง โครงสร้างและการทางานของจอแสดงผล LCD การเช่ือมต่อ D0จอแสดงผล LCD กับไมโครคอนโทรลเลอร์ รวมทั้งการเขียนโปรแกรมเพ่ือควบคุมการแสดงผลของ D1จอแสดงผล LCD ในรูปแบบตา่ ง ๆ เพือ่ นาไปประยุกตใ์ ชง้ านกับอปุ กรณต์ ัวอน่ื ๆ ต่อไป D2 D3ระบบฐานเวลา เป็นสิ่งสาคัญที่สามารถนาไปใช้ในอุปกรณ์อิเล็กทรอนิกส์ได้หลากหลาย D4ภายในไมโครคอนโทรเลอร์เองก็มีไทเมอร์เพ่ือใช้ในการจับเวลา หรือนาไปใช้เป็นฐานเวลาจริงได้ D5เช่นกัน แต่เนื่องจากไมโครคอนโทรเลอร์สามารถทางานได้ต่อเม่ือมีไฟเล้ียงเท่านั้น ดังนั้นการใช้ไท D6เมอร์ของไมโครคอนโทรลเลอร์สร้างฐานเวลาจริงจึงไม่เหมาะสมสาหรับบางงานจึงนิยมใช้ไอซีสร้างฐาน D7เวลาจรงิ RTC (Real Time Clock) เบอร์ DS1307 รูปท่ี 8.1 จอแสดงผล LCD และ RTC Module 8.1 โครงสรา้ งและการทางานของจอแสดงผล LCD การใช้งานจอแสดงผล LCD ร่วมกับไมโครคอนโทรลเลอร์ จะต้องเขียนโปรแกรมเพ่ือควบคุม การแสดงผลท่ีหน้าจอ โดยการส่งข้อมูลออกทางบัส (Data Bus) ของจอแสดงผล LCD โดยการส่ง ขอ้ มลู มี 2 แบบ คือ แบบ 8 บิต ส่งข้อมูลออกขา 0-7 และแบบ 4 บติ ส่งข้อมูลออกขา 4-7 นอกจากน้ี ยงั มีขาสัญญาณตา่ ง ๆ อีกหลายขา ดงั รูปที่ 8.2 LCD 16 x 2 รูปท่ี 8.2 ขาสญั ญาณของจอแสดงผล LCD ขนาด 16 x 2 บรรทัด ขา 1 VSS ตอ่ ลงกราวน์ ขา 2 VDD เป็นขาไฟเลย้ี งให้กบั จอแสดงผล LCD ขนาด +5 VDC ขา 3 VEE เปน็ ขาทใ่ี ช้สาหรับปรับคา่ ความสวา่ งของหน้าจอแสดงผล LCD หน่วยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 164 ขา 4 RS เป็นขาแสดงสถานะของขอ้ มลู ท่ีสง่ ออกทางขาดาตา้ ว่าเป็นคาส่ังหรือ ข้อมูล โดยถ้าขาน้ี ลอจกิ 0 ข้อมลู ทสี่ ่งเข้ามาคือคาสั่ง ลอจิก 1 ขอ้ มูลท่สี ง่ เข้ามาคอื ขอ้ มลู สาหรบั แสดงผล ขา 5 RW เป็นขาแสดงสถานะของการอ่านหรือเขยี นขอ้ มูลของจอแสดงผล LCD โดยถ้าขาน้ี ลอจกิ 0 จะเปน็ การเขียนขอ้ มลู ลงในจอแสดงผล LCD ลอจิก 1 จะเป็นการอ่านขอ้ มูลจากจอแสดงผลLCD ขา 6 E เปน็ ขากาหนดการทางานของจอแสดงผล LCD ขา 7-14 (D0-D7) เปน็ ขาสาหรบั เขียนหรืออา่ นขอ้ มูลระหว่างจอแสดงผล LCD กบั อุปกรณภ์ ายนอก 8 บิต จอแสดงผล LCD ที่มีจาหน่ายทั่วไป มีมากมายหลายแบบและหลายขนาด เช่น 16 ตัวอักษร ไปจนถึง 40 ตัวอักษร หรือจานวนบรรทัดมีต้ังแต่ 1 บรรทัดไปจนถึง 4 บรรทัด หรือ มากกว่า ซึ่งจานวนขาท่ีต่อใช้งานจะมีจานวนเท่ากัน แต่จานวนตัวอีกษรและจานวนบรรทัดท่ีแตกต่าง กันสามารถแสดงผลได้ โดยการเขียนโปรแกรมจัดตาแหน่งหน่วยความจาของจอแสดงผล LCD ดังตารางที่ 8.1 ตารางที่ 8.1 แสดงตาแหนง่ หน่วยความจาสาหรับแสดงผลของจอแสดงผล LCD ขนาดตา่ ง ๆ - LCD ขนาด 16 ตัวอกั ษร 1 บรรทัด 80 81 82 83 84 85 86 87 C0 C1 C2 C3 C4 C5 C6 C7 - LCD ขนาด 16 ตวั อกั ษร 2 บรรทัด 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF - LCD ขนาด 16 ตวั อกั ษร 4 บรรทัด 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF หนว่ ยท่ี 8 : การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 165 สาหรับการเช่ือมต่อไมโครคอนโทรลเลอร์กับจอแสดงผล LCD นั้นสามารถทาได้ 2 ลักษณะ คอื การเช่อื มต่อแบบ 8 บิต และ การเชอื่ มตอ่ แบบ 4 บิต ซ่งึ มีรายละเอยี ดดังต่อไปนี้ 8.2.1 การเช่ือมตอ่ จอแสดงผล LCD แบบ 8 บติ รปู ท่ี 8.3 การเชือ่ มตอ่ ไมโครคอนโทรลเลอร์กบั จอแสดงผล LCD แบบ 8 บิต ทม่ี า : http://www.electronicwings.com การเช่ือมต่อไมโครคอนโทรลเลอร์กับจอแสดงผล LCD แบบ 8 บิต ขาที่ใช้สาหรับส่งข้อมูล ระหว่างจอแสดงผล LCD กบั ไมโครคอนโทรลเลอรจ์ ะใช้ 8 ขา คือ D0-D7 สาหรับขา 1 (VSS) ต่อเข้า กับกราวน์ ขา 2 (VDD) ต่อเข้ากับไฟ +5VDC ขา 3 (VEE) ตอ่ เข้ากับตัวต้านทานปรบั ค่าไดเ้ พื่อทาการ ปรับค่าความสว่างของหน้าจอ ขา 4 (RS) ต่อเขา้ กับขา 13 ขา 5 (RW) ต่อเข้ากับ ขา 12 และขา 6 (E) ต่อเขา้ กบั ขา 11 ดังรปู ท่ี 8.3 8.2.2 การเชอ่ื มต่อจอแสดงผล LCD แบบ 4 บติ รปู ที่ 8.4 การเชอ่ื มตอ่ ไมโครคอนโทรลเลอร์กับจอแสดงผล LCD แบบ 4 บติ ทม่ี า : http://www.poti-poti.org หน่วยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 166 การเชื่อมต่อไมโครคอนโทรลเลอร์กับจอแสดงผล LCD แบบ 4 บิต แตกต่างกับแบบ 8 บิต คือ ขาที่ใช้สาหรับส่งข้อมูลระหว่างจอแสดงผล LCD กับไมโครคอนโทรลเลอร์จะใช้ 4 ขา คือ D4-D7 เทา่ นนั้ สาหรบั ขาอนื่ ๆ ต่อเชน่ เดยี วกับแบบ 8 บิต ดังรูปที่ 8.4 8.2.3 การเชือ่ มโมดูล LCD ทเ่ี ชือ่ มตอ่ ผา่ นบสั I2C รปู ท่ี 8.5 การเช่ือมตอ่ ไมโครคอนโทรลเลอร์กบั จอแสดงผล LCD ผ่านบสั I2C ท่ีมา : http://enrique.latorres.org โมดูลแสดงผลแบบ LCD ผา่ นบสั I2C โดยใช้ไอซี PCF8574 เพ่ือลดจานวนสายสัญญาณที่ ต้องใช้ ซง่ึ ทาหนา้ ที่เป็นตัวรับสง่ ขอ้ มลู ผ่านบัส I2C และมขี า 16 ขา แสดงดงั ตารางท่ี 8.2 สาหรบั นาไป ต่อกบั โมดูล LCD นอกจากนั้นยงั มวี งจรปรบั แรงดนั ด้วย Trimpot เพอื่ ใชป้ รับความเขม้ ของตวั อักษร ท่ปี รากฏบนจอแสดงผล LCD ดังรปู ท่ี 8.5 ส่วนการส่งขอ้ มูลรูปแบบ I2C ที่ใชข้ าเพยี ง 4 ขาทใ่ี ชใ้ นการ เชื่อมตอ่ เทา่ น้นั แสดงดงั ตารางที่ 8.3 ตารางท่ี 8.2 แสดงการเช่อื มตอ่ โมดูล LCD ผ่านบัส I2C โดยใชไ้ อซี PCF8574 ขาสญั ญาณ LCD ขาไอซี PCF8574 หน้าท่ี 1 1 ขา Ground 2 2 ขา VCC แรงดันไฟเลีย้ ง Vcc (+4.5V ถงึ +5.5V) 3 3 ขา VEE ปรับความเข้มของตวั อักษร 4 P0 RS สาหรับเลอื กเขยี นอา่ นข้อมลู ในรีจิสเตอร์ 5 P1 RW เลือกโหมดเขียนหรืออ่านขอ้ มลู 6 P2 EN สญั ญาณ Pluse เมื่อต้องการเขยี นหรอื อ่านข้อมลู 7 7 ไม่ได้ใช้งาน 8 8 ไมไ่ ด้ใชง้ าน 9 9 ไมไ่ ด้ใชง้ าน 10 10 ไมไ่ ดใ้ ชง้ าน 11 P4 Data Bit 4 12 P5 Data Bit 5 หน่วยท่ี 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซสี รา้ งฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 167 13 P6 Data Bit 6 14 P7 Data Bit 7 15 LED+ เปน็ ขา Vcc สาหรบั LED backlight (ตอ่ ผ่าน +5V ผ่าน Jumper ) 16 LED- เปน็ ขา Gnd สาหรับ LED backlight (ใช้ขา P3 ของ PCF8574 ควบคมุ เปดิ -ปดิ กระแส) ตารางท่ี 8.3 หนา้ ท่ีขาสัญญาณของโมดลู LCD-I2C ขา สญั ลกั ษณ์ คาอธบิ าย 1 GND เป็น Ground ของวงจร 2 VCC เป็นไฟเลี้ยงวงจรท่ีป้อนให้กบั LCD มีขนาด +5VDC 3 SDA Serial Data เป็นขาทใ่ี ช้ในการรบั ส่งข้อมลู 4 SCL Serial Clock เป็นขาสัญญาณนาฬิกาในการรบั ส่งข้อมลู รูปที่ 8.6 รูปแบบการรบั -สง่ ข้อมลู แบบ I2C BUS ทม่ี า : http://www.thaimicrotron.com ขน้ั ตอนการรับ-สง่ ข้อมูลแบบ I2C BUS มดี งั นี้ 1. MCU จะทาการสง่ สถานะเร่มิ ตน้ (START Conditions) เพ่ือแสดงการขอใชบ้ ัส 2. แลว้ ตามด้วย รหัสควบคมุ (Control Byte) ซึ่งประกอบ ด้วยรหัสประจาตวั อปุ กรณ์ (Device ID), ทีอ่ ยู่อปุ กรณ์ (Device Address) และ Mode ในการเขยี นหรอื อา่ น ขอ้ มลู 3. เมอ่ื อุปกรณร์ บั ทราบว่า MCU ต้องการจะติดต่อดว้ ย ก็ต้องสง่ สถานะรบั รู้ (Acknowledge) หรอื แจง้ ให้ MCU รบั รู้วา่ ขอ้ มลู ที่ไดส้ ่งมามีความถูกตอ้ ง 4. เมื่อสิ้นสุดการส่งขอ้ มลู MCU จะต้องส่งสถานะสนิ้ สุด (STOP Conditions) เพอ่ื บอก กับอปุ กรณ์วา่ สนิ้ สุดการใชบ้ ัส หน่วยที่ 8 : การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 168 8.3 การควบคมุ จอแสดงผล LCD 8.3.1 ฟงั กช์ ่ันของไลบรารี่ LiquidCrystal.h สาหรบั การควบคุมจอแสดงผล LCD - LiquidCrystal lcd(12, 11, 5, 4, 3, 2); กาหนดขาพอรต์ และใชช้ ่อื lcd ไว้สาหรับ เรียกใชง้ านฟังก์ชัน่ ต่าง ๆ ดังรูปที่ 8.4 LCD RS pin to digital pin 12 LCD Enable pin to digital pin 11 LCD D4 pin to digital pin 5 LCD D5 pin to digital pin 4 LCD D6 pin to digital pin 3 LCD D7 pin to digital pin 2 ฟังกช์ ่ัน begin(16, 2); ใชก้ าหนดจานวน columns และ rows ของจอแสดงผล LCD เมือ่ 16 คือ ขนาดจอแสดงผลจานวน 16 ตวั 2 คือ ขนาดจอแสดงผลจานวน 2 บรรทัด ฟงั ก์ชัน่ print(); แสดงข้อความภายใน “hello, world!” บนจอแสดงผล LCD ฟังก์ชน่ั setCursor(0, 1); กาหนดตาแหนง่ จุดเริ่มตน้ ของ Cursor (columns, rows) ฟงั ก์ช่นั backlight(); เปดิ ไฟแบล็กไลค์ ฟังกช์ นั่ noBacklight(); ปดิ ไฟแบล็กไลค์ และฟังก์ชั่นอน่ื ๆ ศึกษาเพม่ิ เติมได้ที่ https://www.arduino.cc/en/Reference/LiquidCrystal 8.3.2 ฟังกช์ ่นั ของไลบราร่ี LiquidCrystal_I2C สาหรับการควบคุมจอแสดงผล LCD คาส่ังท่ีใช้ในการควบคุมจอแสดงผล LCD ของ Arduino แบบ I2C นั้นไมต่ ่างจากจอ LCD แบบธรรมดา (Parallel) มากนัก ทั้งนี้ยังได้มีการพัฒนา Library I2C มาให้ใช้งานได้อย่างสะดวกมาก ย่ิงข้ึน ข้ันตอนแรกคือการติดต้ังไลบรารี่ LiquidCrystal_I2C โดยสามารถดาวน์โหลดได้จาก อินเทอรเ์ น็ตก่อนเพอ่ื ให้งา่ ยตอ่ การเรียกใช้ Library โดยมีฟงั ก์ช่ันดงั นี้ ฟังกช์ ั่น LiquidCrystal_I2C lcd(Address, columns, rows); Address ท่อี ยูแ่ อดเดรสของจอ เชน่ 0x27 columns ขนาดของจอคือ 16 ตวั อกั ษร rows ขนาด 2 บรรทัด ฟังกช์ ั่น begin(); ใช้ในการกาหนดการเริ่มต้นในการใชง้ านจอ ฟังกช์ นั่ setCursor(); ใช้ในการกาหนดตาแหนง่ ของ Cursor เชน่ lcd.setCursor(0, 1); คือเคอรเ์ ซอรไ์ ปที่ ตาแหนง่ ท่ี 0 บรรทดั ท่ี 1 (การนบั ตาแหน่งเร่มิ จาก 0) ฟังกช์ ่ัน clear(); ใชล้ า้ งหนา้ จอ LCD และตาแหน่ง cursor หน่วยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 169 8.3.3 โปรแกรม Hello World สาหรับหัวข้อน้ีเป็นการเขียนโปรแกรมแสดงข้อความบนจอแสดงผล LCD ที่ต่อแบบ 4 บติ และต่อจอแสดงผลผา่ นบสั I2C ดังตวั อย่างโปรแกรมท่ี 8.1 และ โปรแกรมที่ 8.2 ตามลาดับ ตวั อย่างโปรแกรมท่ี 8.1 รปู ท่ี 8.7 โปรแกรมแสดงข้อความ Hello World บนจอแสดงผล LCD ผลการรันโปรแกรมไมโครคอนโทรลเลอร์จะทาการส่งข้อมูลออกไปยังจอแสดงผล LCD โดย จะส่งข้อความ hello, world! ออกหน้าจอ LCD จากนนั้ ต้งั ตา่ เคเซอรไ์ ปตัวอักษรที่ 0 นบั จากทางซา้ ย และอยู่บรรทดั ท่ี 1 เพ่อื แสดงตัวเลขวนิ าทตี ้งั แต่โปรแกรมเรม่ิ ตน้ ทางานดว้ ยอ้างอิงฟังก์ชน่ั millis(); ตวั อยา่ งโปรแกรมที่ 8.2 รูปท่ี 8.8 โปรแกรมแสดงขอ้ ความและตัวอักษรออกทางหน้าจอโมดูลแสดงผล LCD หน่วยที่ 8 : การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซสี ร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 170 ผลการรันโปรแกรมไมโครคอนโทรลเลอร์จะทาการส่งข้อมูลออกไปยังจอแสดงผล LCD โดยจะส่งข้อความ hello, world! ออกหน้าจอ LCD จากน้ันตั้งต่าเคเซอร์ไปตัวอักษรท่ี 0 นับจาก ทางซ้ายและอยู่บรรทัดท่ี 1 เพ่ือแสดงข้อความ Count: ตามด้วยตัวเลขต้ังแต่ 0-60 เมื่อครบตาม จานวนจะล้างหนา้ จอแล้วเร่ิมโปรแกรมใหมไ่ ปเร่ือย ๆ 8.4 โครงสรา้ งและการทางานของไอซีสร้างฐานเวลาจรงิ ระบบฐานเวลา เป็นส่ิงสาคัญท่ีสามารถนาไปใช้ในอุปกรณ์อิเล็กทรอนิกส์ได้หลากหลาย ภายในไมโครคอนโทรเลอร์เองก็มีไทเมอร์เพ่ือใช้ในการจับเวลา หรือนาไปใช้เป็นฐานเวลาจริง ได้เช่นกัน แต่เนื่องจากไมโครคอนโทรเลอร์สามารถทางานได้ต่อเม่ือมีไฟเล้ียงเท่าน้ัน ดังน้ัน การใช้ ไทเมอร์ของไมโครคอนโทรลเลอรส์ รา้ งฐานเวลาจรงิ จึงไม่เหมาะสมสาหรับบางงาน จงึ นิยมใช้ไอซีสร้าง ฐานเวลาจรงิ RTC (Real Time Clock) แสดงดังรปู ท่ี 8.9 รปู ท่ี 8.9 โมดลู สร้างฐานเวลาจริงด้วยไอซีเบอร์ DS1307 DS1307 เป็น IC ฐานเวลาของดัลลัสเซมิคอนดักเตอร์ (Dallas Semiconductor) มีบัส รบั ส่งข้อมูลแบบ I2C ซ่ึงเป็นแบบ 2 wire สามารถส่ือสารได้ 2 ทิศทาง (bi-direction bus) ฐานเวลา ของ DS1307 นั้นสามารถเก็บข้อมูล วินาที, นาที, ช่ัวโมง, วัน, วันท่ี, เดือน และปี ได้ ระบบเวลาสามารถ ทางานโหมดรูปแบบ 24 ชั่วโมง หรือ 12 ช่ัวโมง AM/PM ก็ได้ ภายมีระบบตรวจจับแหล่งจ่ายไฟ โดยถ้าแหล่งจ่ายไฟหลักถูกตัดไป DS1307 สามารถสวิตซ์ไปใช้ไฟจากแบตเตอร่ีและทางานต่อไป โดย ทีย่ ังสามารถรักษาขอ้ มูลไว้ได้อย่างเที่ยงตรงไปจนถึงปค.ศ. 2099 และยังมีหน่วยความจา RAM ขนาด 56 ไบต์ โครงสรา้ งมีขาทั้งหมด 8 ขาดงั แสดงในรปู ท่ี 8.10 และสามารถสง่ สัญญาณความถีร่ ูปสี่เหลย่ี ม โดยสามารถเลือกความถ่ี 1Hz, 4.096KHz, 8.192 KHz และ 32.768 KHz ไอซีฐานเวลาจริงจะ ต่อเชื่อมการใชงานกับระบบไมโครคอนโทรลเลอร์ ไมโครโปรเซสเซอร์ หรือในระบบคอมพิวเตอร์ มีประโยชนในการนาไปประยุกตใชในงานที่ตองเกี่ยวของกับเวลา และวันเดือนประบบควบคุมการ ทางานตา่ ง ๆ หนว่ ยท่ี 8 : การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี ร้างฐานเวลาจริง

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 171 รปู ท่ี 8.10 โครงสร้างและขาของไอซีเบอร์ DS1307 รปู ที่ 8.11 ไดอะแกรมการทางานของไอซี RTC เบอร DS1307 ท่ีมา : https://www.sparkfun.com หนว่ ยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 172 รปู ท่ี 8.12 รายละเอียดของ RTC แอดเดรสท่ี 00H ถงึ 07H และ RAM แอดเดรสท่ี 08H ถึง 3FH ท่มี า : https://www.sparkfun.com ตารางที่ 8.4 แสดงหน้าที่การทางานของแตล่ ะขาสัญญาณของไอซีเบอร์ DS1307 ขาไอซี คาอธบิ าย DS1307 ขาต่อไฟเลี้ยง +5V VCC ขาตอ่ กราวด์ GND ใช้ตอ่ กบั แบตเตอร่ี 3V เพ่ือรกั ษาการทางาน ในกรณที ่ีไมม่ ีไฟเลยี้ งจา่ ย VBAT ขารับสง่ ข้อมูลด้วยระบบบัส I2C SDA ขาสัญญาณนาฬิกาสาหรับการรบั สง่ ข้อมลู ด้วยระบบบสั I2C SCL ขาเอาต์พุตสัญญาณ Square Wave สามารถเลือกความถ่ีได้ SQW/OUT ใชต้ อ่ กับครสิ ตอลความถมี่ าตรฐาน 32.768 kHz เพอื่ สรา้ งฐานเวลาจรงิ ใหก้ บั IC X1, X2 หนว่ ยที่ 8 : การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 173 8.5 การเชือ่ มตอ่ ไมโครคอนโทรเลอร์กับโมดลู สร้างฐานเวลาจรงิ (RTC Module) สาหรับการเชื่อมต่อไมโครคอนโทรลเลอร์ร่วมกับโมดูลสร้างฐานเวลาจริง (RTC Module) โดยใช้ไอซีสร้างฐานเวลาจริงเบอร์ DS1307 สาหรับการส่ือสารเป็นการสื่อสารแบบ I2C และมีราง แบตเตอร่ีสารองเปนไฟเลี้ยงการทางานโดยใช้แบตเตอรี่สารองเบอร์ CR2032 3V Lithium coin battery เทา่ นั้น รูปท่ี 8.10 การเช่อื มต่อไมโครคอนโทรลเลอร์กับโมดูล RTC ท่ีมา : https://microcontrollerelectronics.com/ รูปท่ี 8.11 การเช่อื มไมโครคอนโทรลเลอรก์ บั โมดลู RTC แสดงผลท่ีจอแสดงผล LCD ทม่ี า : http://cyaninfinite.com หนว่ ยท่ี 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซีสรา้ งฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 174 8.6 การเขยี นโปรแกรมติดตอ่ กับโมดลู RTC การเขียนโปรแกรมเพ่ือให้ไมโครคอนโทรลเลอร์อ่านและเขียนข้อมูลกับโมดูลสร้างฐานเวลาจริง (RTC) 8.6.1 การอ่านขอ้ มูลจากโมดลู RTC สาหรับคาสั่งที่ใช้ในการติดต่อกับโมดูล RTC ของ Arduino แบบ I2C มีไลบรารี่มาให้ ใช้งานได้อย่างสะดวกมากย่ิงข้ึน ข้ันตอนแรกคือการติดต้ังไลบรารี่ RTC โดยสามารถดาวน์โหลดได้ จากอินเทอร์เน็ต หรือสามารถค้นหาได้จากเมนู Sketck>Include Library>Manage Libraries จากนั้นค้นหาคาว่า “RTC” และติดต้ังให้เรียบร้อยเพ่ือให้ง่ายต่อการเรียกใช้ Library โดยมีฟังก์ช่ัน ดงั น้ี ตัวอยา่ งการใชง้ านไลบรารีช่ อ่ื RTClib.h ฟงั กช์ ่นั RTC_DS1307 RTC; ใชก้ าหนดชอื่ RTC ในการเรียกใช้งานฟงั ก์ชั่นตา่ ง ๆ ฟงั ก์ช่นั RTC.begin(); ใช้เรยี กการเรมิ่ ต้นในการใช้งานตดิ ตอ่ กับโมดูล RTC ฟังก์ช่นั RTC.isrunning(); ตรวจสอบการทางานของโมดูล ฟังก์ช่นั DateTime now = RTC.now(); เรยี กอา่ นจากโมดลู เกบ็ ไวใ้ นตัวแปร now ฟังกช์ ัน่ now.year(); เรยี กอ่านคาปีซงึ่ ตัวเลขเปนเลขฐานสบิ หก ฟงั ก์ชั่น now. month(); เรียกอา่ นคาเดือนซ่งึ ตัวเลขเปน็ เลขฐานสบิ หก ฟงั กช์ ั่น now.day(); เรียกอา่ นคาวนั ซ่งึ ตัวเลขเป็นเลขฐานสบิ หก ฟงั กช์ น่ั now.hour(); เรียกอา่ นคาชั่วโมงซ่ึงตวั เลขเป็นเลขฐานสบิ หก ฟังกช์ ั่น now.minute(); เรยี กอา่ นคานาทีซึ่งตัวเลขเป็นเลขฐานสบิ หก ฟังก์ชน่ั now.second(); เรียกอา่ นคาวินาทีซึง่ ตัวเลขเป็นเลขฐานสิบหก ฟังก์ชน่ั RTC.adjust(DateTime(__DATE__, __TIME__)); ตง้ั ค่าวันเวลาใหม่ หนว่ ยที่ 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจริง

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 175 ตวั อยา่ งโปรแกรมที่ 8.3 รูปที่ 8.12 โปรแกรมการอา่ นคา่ ข้อมูลจาก RTC แสดงคา่ ออกทางพอรต์ อนกุ รม ผลการรันโปรแกรมเร่ิมต้นไมโครคอนโทรลเลอร์ทาการตรวจสอบตรวจสอบการทางาน ของโมดูลหลังจากนั้น อ่านค่าข้อมูลที่ได้แสดงผลข้อความตามด้วย ปี เดือน และ วันออกทางพอร์ต อนกุ รมโดยแปลงค่าแตล่ ะค่าท่อี ่านได้เป็นเลขฐานสบิ หน่วยท่ี 8 : การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจริง

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 176 ตวั อย่างโปรแกรมท่ี 8.4 รปู ท่ี 8.13 โปรแกรมการอา่ นคา่ ข้อมูลจาก RTC แสดงคา่ ออกทางจอแสดงผล LCD ผลการรันโปรแกรมอ่านค่าข้อมลู จาก RTC แสดงคา่ ปี เดือน และวัน แปลงค่าเปน็ เลขฐานสิบ ออกทางจอแสดงผล LCD หนว่ ยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 177 แบบทดสอบหลงั เรียน หน่วยท่ี 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์ กับจอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ คำสงั่ จงเลอื กคาตอบท่ีถกู ที่สดุ เพียงขอ้ เดยี ว 1. LCD ย่อมาจาก? ก. Light Crystal Display ข. Light Cathode Display ค. Liquid Crystal Diode ง. Liquid Crystal Display จ. Liquid Format Display 2. RTC ย่อมาจาก? ก. Real Timer Clock ข. Real Time Clock ค. Right Timer Cycle ง. Right Time Cycle จ. Right To Cover 3. จอแสดงผล LCD มกี ารสง่ ขอ้ มลู ออกทางบสั 2 แบบคือ? ก. แบบ 8 บติ และ แบบ 4 บิต ข. แบบ 4 บิต และ แบบ 4 บิต ค. แบบ 2 บิต และ แบบ 4 บิต ง. แบบ 1 บติ และ แบบ 4 บิต จ. แบบ 2 บติ และ แบบ 8 บิต 4. จอแสดงผล LCD ขา 7-14 (D0-D7) เป็นขาสาหรบั ? ก. จ่ายไฟเลยี้ งให้กบั จอ ข. เขยี น/อา่ นข้อมลู ระหวา่ งจอกับอุปกรณ์ภายนอก ค. แสดงสถานะการอา่ นของข้อมลู ง. แสดงสถานการณเ์ ขียนของขอ้ มูล จ. แสดงการนาเข้าข้อมูล 5. จอแสดงผล LCD ขนาด 16x2 หมายความว่า? ก. จอมขี นาด 16 x 2 เซนตเิ มตร ข. จอมีขนาด 16 x 2 นิว้ ค. จอมขี นาด 16 บรรทดั 2 ตวั อักษร ง. จอมีขนาด 16 ตวั อกั ษร 2 บรรทดั จ. ไม่มขี อ้ ใดถูก หนว่ ยท่ี 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซสี รา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 178 6. โมดลู แสดงผล LCD ผา่ นบสั I2C โดยใช้ไอซเี บอร์? ก. PCF8574 ข. LM7905 ค. DS1307 ง. LM7805 จ. PCF8574A 7. ไอซีสร้างฐานเวลาเบอร์ DS1307 มขี าจานวน? ก. 6 ขา ข. 7 ขา ค. 8 ขา ง. 9 ขา จ. 11 ขา 8. โมดลู RTC ใชแ้ บตเตอรี่สารองขนาด? ก. LR44 1.5V ข. CR2032 3V ค. AA 1.5V ง. AAA 1.5V จ. CR2032 1.5V 9. การส่อื สารระหวางไมโครคอนโทรลเลอรกับไอซี DS1307 ใชการสือ่ สารแบบใด? ก. 1-Wire ข. SPI ค. USB ง. I2C จ. 3-wire interface 10. โมดูล RTC ผา่ นบสั I2C โดยใชไ้ อซีเบอร์? ก. PCF8574 ข. DS1307 ค. LM7805 ง. LM7905 จ. PCF8574A หนว่ ยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 179 แบบฝึกหดั หนว่ ยที่ 8 การประยุกต์ใช้งานไมโครคอนโทรลเลอร์ กับจอแสดงผลและไอซสี รา้ งฐานเวลาจริง ตอนที่ 1 ใหผ้ เู้ รยี นกาเครือ่ งหมายถกู () หนา้ ขอ้ ท่ีคิดว่าถกู และกาเครื่องหมายผดิ () ในขอ้ ทีค่ ิดวา่ ผิด การส่งขอ้ มูลออกทางบัสแบบ 4 บิตส่งขอ้ มูลออกขา 4-7 Control Byte ประกอบดว้ ย Device ID และ Device Address เทา่ นั้น ไลบรารส่ี าหรับการควบคมุ จอแสดงผล LCD ชื่อ LiquidCrystal การควบคุมจอแสดงผล LCD แบบ I2C LiquidCrystal เรมิ่ ตน้ เรียกฟงั ก์ชน่ั LiquidCrystal_I2C lcd(Address, columns, rows); เพื่อระบแุ อดเดรสและขนาดจอ setCursor(0, 1); กาหนดตาแหน่งจดุ เร่มิ ตน้ ของ Cursor ตัวอักษรที่ 1 บรรทัดท่ี 0 หากต้องการล้างหน้าจอใหเ้ รยี กใช้ฟงั กช์ ั่น clearLCD(); DS1307 เป็น IC ฐานเวลาของดัลลัสเซมิคอนดักเตอร์ ไอซี DS1307 มีหนวยความจา RAM ขนาด 128 ไบต์ คาสั่ง DateTime now = RTC.now(); เปน็ การเรียกอ่านจากโมดลู เก็บไว้ในตัวแปร now ฟังกช์ น่ั adjust(DateTime(__DATE__, __TIME__)); เปน็ การตัง้ ค่าวันเวลาใหม่ หนว่ ยท่ี 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซีสร้างฐานเวลาจริง

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 180 ตอนท่ี 2 คาสง่ั ใหผ้ ูเ้ รยี นทดลองการติดตอ่ ไมโครคอนโทรลเลอร์กับจอแสดงผล LCD และ โมดลู RTC ดว้ ยบอรด์ Arduino Uno R3 โดยใช้เวลา 180 นาที จดุ ประสงค์เชงิ พฤตกิ รรม 1. สามารถควมคมุ จอแสดงผล LCD ไดถ้ ูกต้อง 2. สามารถอ่านข้อมลู จากโมดูล RTC ได้ถูกต้อง 3. สามารถแก้ปญั หาในการทางานของบอรด์ Arduino Uno R3 ได้ 4. สามารถต่อใช้งานและอัพโหลดโปรแกรมใหก้ ับบอร์ด Arduino Uno R3 ได้ อุปกรณ์การทดลอง 1 โปรแกรม 1. โปรแกรม Arduino IDE 1 เส้น 2. สายโหลด USB Arduino Uno R3 1 บอรด์ 3. บอรด์ Arduino Uno R3 1 ชดุ 4. สายต่อวงจร 1 เคร่อื ง 5. เครือ่ งคอมพิวเตอร์ 1 ชดุ 6. โมดลู RTC 1 ชุด 7. จอแสดงผล LCD การทดลองที่ 8.1 SerialDisplay ใหแ้ สดงข้อความ Typing… ตามดว้ ยข้อความที่ได้รบั จากพอร์ตอนกุ รมและแสดงกระพรบิ บลอ๊ กของ cursor ข้นั ตอนการทดลอง 1. เปิดโปรแกรม Arduino IDE 2. ต่อวงจรดังรปู ที่ 8.14 3. เขยี นโปรแกรมและอัพโหลดโปรแกรม หน่วยที่ 8 : การประยุกตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 181 รูปท่ี 8.14 การเชือ่ มต่อบอรด์ Arduino ร่วมกบั จอแสดงผล LCD สาหรับการทดลองที่ 8.1 Code รูปที่ 8.15 โปรแกรมสาหรับการทดลองท่ี 8.1 หนว่ ยที่ 8 : การประยุกต์ใช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซสี ร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 182 ประเมนิ ผลการทดลอง 10 คะแนน 10 คะแนน 1. สามารถเขียนโปรแกรมและต่อวงจรไดถ้ ูกตอ้ ง ……………… คะแนน 2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง รวมคะแนนภาคปฏบิ ตั ิ การทดลองที่ 8.2 การเชือ่ มต่อไมโครคอนโทรเลอร์กบั โมดูล RTC เพือ่ ควบคุมรเี ลย์ ขนั้ ตอนการทดลอง 1. เปิดโปรแกรม Arduino IDE 2. ต่อวงจรดงั รูปท่ี 8.16 3. เขียนโปรแกรมและอัพโหลดโปรแกรม รูปท่ี 8.16 การเชื่อมต่อบอร์ด Arduino กบั โมดูล RTC เพอ่ื ควบคุมรเี ลย์ หนว่ ยที่ 8 : การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสร้างฐานเวลาจรงิ

เอกสารประกอบการสอน วิชา ไมโครคอนโทรลเลอร์ 183 Code รปู ท่ี 8.17 โปรแกรมสาหรบั การทดลองที่ 8.2 หน่วยที่ 8 : การประยุกตใ์ ช้งานไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสรา้ งฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 184 ประเมินผลการทดลอง 1. สามารถเขียนโปรแกรมและตอ่ วงจรได้ถูกต้อง 10 คะแนน 2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง 10 คะแนน ………………………… คะแนน รวมคะแนนภาคปฏิบตั ิ การทดลองท่ี 8.3 การเชอ่ื มตอ่ ไมโครคอนโทรเลอรก์ ับโมดลู RTC เพื่อแสดงค่าวนั -เวลาออก จอแสดงผล LCD ขน้ั ตอนการทดลอง 1. เปิดโปรแกรม Arduino IDE 2. ตอ่ วงจรดงั รูปที่ 8.18 3. เขียนโปรแกรมและอัพโหลดโปรแกรม รูปที่ 8.18 การเชอื่ มต่อบอรด์ Arduino รว่ มกบั หลอดแสดงผล 7-Segment สาหรับการทดลองท่ี 8.3 หนว่ ยท่ี 8 : การประยกุ ต์ใชง้ านไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสรา้ งฐานเวลาจรงิ

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 185 Code รูปที่ 8.19 โปรแกรมสาหรบั การทดลองท่ี 8.3 ประเมินผลการทดลอง 10 คะแนน 1. สามารถเขยี นโปรแกรมและต่อวงจรไดถ้ ูกต้อง 10 คะแนน 2. สามารถทดสอบและอธิบายการทางานได้ถูกต้อง …………………… คะแนน รวมคะแนนภาคปฏบิ ตั ิ หน่วยที่ 8 : การประยกุ ต์ใช้งานไมโครคอนโทรลเลอร์กับจอแสดงผลและไอซีสรา้ งฐานเวลาจริง

เอกสารประกอบการสอน วชิ า ไมโครคอนโทรลเลอร์ 186 เฉลยแบบทดสอบก่อนเรยี น หน่วยที่ 8 การประยุกตใ์ ช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซสี ร้างฐานเวลาจริง 1. ง 2. ข 3. ก 4. ข 5. ง 6. ก 7. ค 8. ข 9. ง 10. ข เฉลยแบบทดสอบหลังเรยี น หนว่ ยท่ี 8 การประยกุ ต์ใช้งานไมโครคอนโทรลเลอรก์ บั จอแสดงผลและไอซีสร้างฐานเวลาจริง 1. ข 2. ก 3. ง 4. ค 5. ข 6. ง 7. ข 8. ก 9. ค 10. ง เฉลยแบบฝกึ หดั หนว่ ยท่ี 8 การประยกุ ตใ์ ช้งานไมโครคอนโทรลเลอรก์ ับจอแสดงผลและไอซีสร้างฐานเวลาจรงิ ตอนท่ี 1 ให้ผเู้ รยี นกาเคร่ืองหมายถูก () หน้าข้อท่คี ิดวา่ ถูก และกาเครื่องหมายผิด () ในขอ้ ท่คี ิดว่าผิด  การสง่ ขอ้ มูลออกทางบสั แบบ 4 บติ ส่งข้อมูลออกขา 4-7  Control Byte ประกอบด้วย Device ID และ Device Address เทา่ น้นั  ไลบรารส่ี าหรับการควบคุมจอแสดงผล LCD ช่อื LiquidCrystal  การควบคมุ จอแสดงผล LCD แบบ I2C LiquidCrystal เริ่มตน้ เรยี กฟังก์ชั่น LiquidCrystal_I2C lcd(Address, columns, rows); เพ่ือระบุแอดเดรส และขนาดจอ  setCursor(0, 1); กาหนดตาแหนง่ จดุ เริม่ ตน้ ของ Cursor ตัวอกั ษรท่ี 1 บรรทัดที่ 0  หากตอ้ งการลา้ งหนา้ จอให้เรยี กใช้ฟังก์ชัน่ clearLCD();  DS1307 เปน็ IC ฐานเวลาของดลั ลัสเซมคิ อนดักเตอร์  ไอซี DS1307 มหี นวยความจา RAM ขนาด 128 ไบต์  คาสงั่ DateTime now = RTC.now(); เปน็ การเรยี กอา่ นจากโมดูลเก็บไว้ ในตวั แปร now  ฟังกช์ ัน่ adjust(DateTime(__DATE__, __TIME__)); เปน็ การต้งั คา่ วันเวลาใหม่ หนว่ ยที่ 8 : การประยกุ ตใ์ ชง้ านไมโครคอนโทรลเลอร์กบั จอแสดงผลและไอซีสร้างฐานเวลาจริง