ใบงานรายวิชาการประยุกต์ไมโครคอนโทรลเลอร์ สัปดาห์ที่ 9
ใบงานประจำสัปดาห์ รายวิชาการประยุกต์ไมโครคอนโทรลเลอร์
จงเขียนไมโครคอนโทรลเลอร์ โดยกำหนดให้เชื่อมต่อกับโมดูลการแสดงผล 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
- สวิทช์ button 1 button
ให้นักเรียนนักศึกษาทำไปทีละข้อย่อยแล้วเรียกตรวจ พร้อมอธิบาย
- 1 กำหนดให้นักเรียนนักศึกษาเชื่อมต่อไมโครคอนโทรลเลอร์เข้ากับโมดูล lcd1602 โดยให้แสดงผลการทำงานดังต่อไปนี้แสดงชื่อนักเรียนในบรรทัดแรก และแสดงเลขที่ ในบรรทัดที่ 2 (นั้งคู่ให้เลือกคนใดคนหนึ่ง)
- 2 (ต่อ) จากข้อย่อยที่ 1 ให้เขียนโปรแกรมเพิ่มเติมโดยกำหนดให้แสดงเลขที่กระพริบ 3 ครั้งแล้วดับไป แล้วชื่อกระพริบ 2 ครั้งแล้วดับไป (เขียนใน void loop จุดเริ่มต้นคือทั้งชื่อเละเลขที่ต้องแสดงทั้งคู่ ชื่อต้องกระพริบก่อนเลขที่ยังค้างอยู่)
- 3 (ต่อ) จากข้อย่อยที่ 1 ให้เขียนโปรแกรมเพิ่มเติมโดยกำหนดให้แสดงเฉพาะเลขที่ เลื่อนตำแหน่งในบรรทัดที่ 2 จากจุดเริ่มต้นไปยังสิ้นสุดฝั่งตรงข้ามครั้งละ 1 วินาทีและเลื่อนกลับไปยังจุดเริ่มต้น วนซ้ำตลอดไป (ชื่อค้างไว้ตำแหน่งเดิม )
- 4 กำหนดให้นักเรียนนักศึกษาเชื่อมต่อไมโครคอนโทรลเลอร์เข้ากับโมดูล lcd1602 ให้แสดงผลบรรทัดแรกเป็นตัวเลขโดยการกดปุ่ม button แล้วเพิ่มจำนวนครั้งละ 1 หน่วย เมื่อกดไปถึง 10 จำนวนให้แสดงคำว่า "End" ในบรรทัดที่ 2 และกด button ไม่ได้แล้ว
- 5 กำหนดให้นักเรียนนักศึกษาเชื่อมต่อไมโครคอนโทรลเลอร์เข้ากับโมดูล lcd1602 ให้แสดงผลคำว่า "TC" โดยการเลื่อนตำแหน่งจากจุดเริ่มต้นไปยังสิ้นสุดฝั่งตรงข้ามในบรรทัดที่ 1 โดยการกดปุ่ม button เมื่อครบแล้วเริ่มใหม่ ส่วนการแสดงผลบรรทัดที่ 2 แสดงจำนวนรอบที่กด "TC" ถึงปลายทาง (บรรทัดที่ 2 แสดงเลข 0 เป็นค่าเริ่มต้นค้างไว้)
ความคิดเห็น
แสดงความคิดเห็น