[2/2567] ใบงานรายวิชาพื้นฐานการอินเตอร์เฟส สัปดาห์ที่ 13
ใบงานประจำสัปดาห์ รายวิชาพื้นฐานการอินเตอร์เฟส
จงเขียนไมโครคอนโทรลเลอร์ โดยกำหนดให้เชื่อมต่อกับโมดูลการแสดงผล lcd16x2 เพื่อควบคุมการแสดงผลให้ได้ตามโจทย์ที่กำหนด. โดยใช้ความรู้ในการเขียนโปรแกรมพื้นฐานที่เรียนในสัปดาห์ที่ผ่านมา นำมาประยุกต์ใช้งาน if , if else , while ,for , switch case
ในสัปดาห์นี้เราจะทำการเรียนรู้ การเขียนโปรแกรมควบคุมการแสดงผลผ่านจอ led 16x2 ซึ่งเป็นโมดูลที่นิยมนำมาใช้ในการเขียนเพื่อแสดงผลตัวอักษรหรือค่าต่างๆ สำหรับไมโครคอนโทรลเลอร์ ซึ่งจะมีวิธีการต่อใช้งานเพื่อส่งข้อมูลหากัน อยู่สองวิธีการด้วยกัน คือ
การต่อตรงเข้ากับ lcd โดยใช้สายทั้งหมด 8 เส้น (รวมขอ Vcc , Gnd ), และการต่อด้วยโมดูลไดร์โดยสื่อสารผ่าน บัส I2C
ณ ที่นี้ผู้เขียนเลือกวิธีการต่อจอ lcd ด้วยโมดูลไดร์ I2C เนื่องจากมีข้อดีคือใช่สายในการต่อใช้งานเพียงแค่ 4 เส้น ทำให้เรายังมีขา pin ที่คงเหลือใช้งานสำหรับการเชื่อมต่อกับอุปกรณ์อิเล็กทรอนิก หรือโมดูลอื่นๆ หากนักเรียนนักศึกษาต้องการเรียนรู้เกี่ยวกับการต่อใช้งานด้วย lcd16x2 แบบต่อตรงให้ หาข้อมูลเพิ่มเติมการต่อใน internet หรือลิ้งดังต่อไปนี้ คลิก!!
ความแตกต่างระหว่างการต่อตรงกับแบบมีโมดูลไดร์หากพิจารณาตามรูปจะเห็นได้ว่าการต่อสายสัญญาณระหว่าง ไมโครคอนโทรลเลอร์กับ lcd1602 แบบชนิดต่อตรงนั้น จะต้องใช้งานสายไฟถึง 8 เส้น (รวม Vcc,Gnd) ถือว่าเป็นการใช้ pin ในการสื่อสารเยอะมากสำหรับการต่อเพื่อใช้งานโมดูลแค่โมดูลเดียว ทำให้เราเหลือสายไฟหรือ pin อื่นๆที่จะใช้เชื่อมต่อกับโมดูลอื่นๆ หรืออุปกรณ์อิเล็กทรอนิกส์อื่นๆนั้นน้อยลง แต่มีข้อดีคือการสื่อสารแบบนี้จะเป็นการรับส่งข้อมูลที่เร็วมากๆ *แต่การแสดงผลนั้นอาจจะไม่จำเป็นต้องใช้งานคุณสมบัติความเร็วในการรรับส่งข้อมูล.
การใช้งานจอ lcd16x2 แบบต่อตรง
การใช้งานจอ lcd16x2 แบบโมดูลไดร์ I2C
ในการต่อใช้งานจอแสดงผล lcd16x2 เข้ากับไมโครคอนโทรลเลอร์ด้วยโมดูลไดร์ I2C มีการเชื่อมต่อดังต่อไปนี้- Vcc -- > Vcc (5v)
- Gnd --> Gnd
- SCL --> A5
- SDA -- >A4
ให้นักเรียนนักศึกษาต่ออุปกรณ์ดังต่อไปนี้แล้วทำให้ได้ตามข้อย่อยที่กำหนด โดยใบงานในสัปดาห์นี้เป็นในงานที่ต่อเนื่องกันทั้งหมด
รายการอุปกรณ์ดังต่อไปนี้
- ไมโครคอนโทรลเลอร์
- lcd 16x2 i2c
- สวิทช์ button 2 button ตัวต้านทาน 1k โอห์ม
ตัวอย่าง code สำหรับการเรียกใช้งาน lcd16x2 i2c ตัวอย่าง code สำหรับการเรียกใช้งาน ปุ่มกด button
ให้นักเรียนนักศึกษาทำไปทีละข้อย่อยแล้วเรียกตรวจ พร้อมอธิบาย
- 1 กำหนดให้นักเรียนนักศึกษาเขียนโปรแกรมเพื่อควบคุมไมโครคอนโทรลเลอร์เพื่อเชื่อมต่อการใช้งานกับ interface ต่างๆดังต่อไปนี้ เขียนให้แสดงเลขที่ของนักเรียนนักศึกษาแสดงผ่านจอ lcd1602 กระพริบ 2 ครั้งแล้วดับไป (ข้อย่อยที่ 1 ต้องแสดงเป็นค่าเริ่มต้นของทุกๆข้อย่อถัดไป)
- 2 กำหนดให้เขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์ที่สื่อสารกับแบบ interface โดยมีการรับค่าจาก keyboard ด้วยการพิมพ์ชื่อนักเรียนนักศึกษาเป็นภาษาอังกฤษแล้วนำชื่อนั้นแสดงผลผ่านจอ lcd1602 ที่บรรทัดแรก
- 3 (ต่อจากข้อย่อยที่ 2 )กำหนดให้แสดงค่าความยาวตัวอักษรของชื่อที่อยู่ในบรรทัดแรก เป็นจำนวนตัวเลขในบรรทัดที่สอง เช่น แสดงชื่อ "veerapat" และแสดงเลข 8 ในบรรทัดที่ 2 เพราะว่าจำนวนตัวอักษรของชื่อมีทั้งหมด 8 ตัว)
- 4 กำหนดให้เขียนโปรแกรมแสดงผลผ่านจอ lcd1602 เป็นเงื่อนไขต่อไปนี้
4.1 แสดงคำด้วยคำว่า "Enter length text" ที่บรรทัดแรก
4.2 รับค่าจาก keyboard เป็นคำใดๆก็ได้ แต่ว่าการแสดงผลต้องไม่เกินกว่า 4.1 กำหนด เช่น 4.1 ป้อนเลข 4 )4.2 ป้อน "veerapat" : ดังนั้นการแสดงผล ต้องได้ "veera" ขึ้นที่ lcd1602 ที่บรรทัดที่ 2 - 5 (ต่อจากข้อย่อยที่ 4) เขียนแสดงผลลัพธ์ของการคำนวนออกทาง Serial monitor ว่าค่าที่ไม่ได้แสดงผลยังเหลืออีกกี่ตัวอักษร
ความคิดเห็น
แสดงความคิดเห็น