ใบงานไมโครคอนโทรลเลอร์ ประจำสัปดาห์ที่ 17

text is Not Run Script

การเรียนรู้ไมโครคอนโครลเลอร์ผ่านการจำลองหรือ simulate ด้วยสื่อออนไลน์ Tinkercad เพื่อให้นักเรียนนักศึกษาได้ศึกษาเรียนรู้เกี่ยวกับการใช้งานการอ่านค่าเซ็นเซอร์และอุปกรณ์ การประยุกต์การเขียนโปรแกรม การต่ออุปกรณ์วงจรไฟฟ้าพื้นฐาน การรู้จักอินเตอร์เฟสในการใช้งานโปรแกรมขั้นพื้นฐาน ให้นักเรียนฟังครูผู้สอน อธิบายการทำงานขั้นพื้นฐานก่อนเริ่มทำข้อย่อย


- เว็บไซต์ Tinkercad เพื่อเข้าใช้งานคลิ๊ก!

จงเขียนไมโครคอนโทรลเลอร์ โดยกำหนดให้เชื่อมต่อกับ led กับไมโครคอนโทรลเลอร์จำนวน 4 ดวง และเชื่อมต่อปุ่มกดจำนวน 1 ปุ่ม และเชื่อมต่อ LDR หรือเซ็นเซอร์แสงจำนวน 1 ชิ้นเข้าในตำแหน่งขา analog แล้วจงใช้ความรู้ในการเขียนโปรแกรมพื้นฐานที่เรียนในสัปดาห์ที่ผ่านมานำมาประยุกต์ใช้งาน if , if else , while ,for , switch case ให้นักเรียนนักศึกษาทำไปทีละข้อย่อย จนครบโจทย์ที่สมบูรณ์

การเรียกใช้งาน analog โดยอ้างอิง code ดังต่อไปนี้


 analogWrite(3,255);
  

- การเรียกใช้งานคำสั่ง analogWrite(ตำแหน่งขา analog, ระดับbit) โดยมีระดับการใช้งานตั้งแต่ 0-255 อ้างอิงจาก 0 volt ไปจนถึงค่าสูงสุด 5 volt หากเรากำหนดค่าระดับบิท ที่ 0 แรงดันที่ออกไปยัง led จะเป็น 0 volt และหากกำหนดค่าระดับบิทที่ 255 แรงดันที่ออกไปจะเป็น 5v แทน *การเปรียบเทียบนี้เป็นลักษณะเบื้อนต้นเท่านั้น เพื่อให้นักเรียนนักศึกษาเข้าใจได้ง่าย หากแต่การทำงานจริง จะเป็นการใช้งานสัญญาณ pwm ซึ่งไม่ได้ส่งค่าแรงดันที่ต่างดับกันโดยตรง กล่าวคือการกำหนดความกว้างของสัญญาณ Pulse เป็นค่า % โดยจะแปรผันตรงกับระดับบิทที่เรากำหนดซึ่งเทียบบัญญัติไตรยางค์ต่อกัน



 analogRead(A0);
  

- ในกรณีของการใช้งานคำสั่ง analogRead(ตำแหน่งขา analog) จะแตกต่างจากการใช้งาน analogWrite อยู่เล็กน้อยโดยคำสั่งที่นักเรียนนักศึกษาได้ทำการเรียนรู้ไปก่อนหน้านี้ ถึงการใช้งานเขียนสัญญาณอนาล๊อกจะเป็นการอ้างอิงระดับบิต เพื่อส่งแรงดันออกตามแอมพลิจูดนั้นๆ ซึ่งอ้างอิงการส่งข้อมูลที่ 8 bit หรือ 28 จะได้จำนวนทั้งหมด 256 จำนวนและอ้างอิงได้ตั้งแต่ 0 ถึง 255 ระดับ แต่การใช้งานการอ่านหรือรับสัญญาณ analog นั้นต้องอ้างอิงระดับ 10 bit หรือ 210 จะได้จำนวนทั้งหมด 1024 จำนวนและอ้างอิงได้ตั้งแต่ 0 ถึง 1023 ระดับ และการอ่านค่า analog ต้องอ่านที่ตำแหน่งขา A0,A1,A2,A3,A4,A5 เท่านั้น
















สัปดาห์ที่ 18 สอบปลายภาค เขียนและปฏิบัติ

ให้นักเรียนนักศึกษาทำไปทีละข้อย่อย จนครบโจทย์ที่สมบูรณ์

  • 1 กำหนดให้นักเรียนนักศึกษาเชื่อมต่อ ไมโครคอนโทรลเลอร์กับ led จำนวน 4 ดวง ปุ่มกด 1 ปุ่ม และ LDR เซ็นเซอร์แสงตามรูปตัวอย่างด้านบน ด้วยโปรแกรมการจำลอง simulate ผ่านเว็บไซต์ Tinkercad
  • 2 กำหนดให้ นักเรียนนักศึกษาทำการเขียนโปรแกรมกำหนดให้เมื่อมีการกดปุ่ม 1 ครั้งจะเป็นการอ่านค่าจากเซ็นเซอร์แสง LDR มาแสดงผลที่ serial monitor (กดก่อน 1 ครั้งแสดงผล 1 ครั้ง หากไม่กดจะไม่แสดงผลใดๆ) เสร็จข้อ 1, 2 เรียกตรวจ
  • 3 (ต่อ) กำหนดให้นักเรียนนักศึกษาทำการเขียนปรับปรุงโปรแกรมจากข้อย่อยที่ 2 โดยเมื่อมีการกดปุ่ม 1 ครั้งจะเป็นการอ่านค่าจากเซ็นเซอร์แสง LDR มาแสดงผลที่ serial monitor ตลอดไป (การกดครั้งถัดไปจะไม่มีผลกับโปรแกรม)
  • 4 (ต่อ) กำหนดให้นักเรียนนักศึกษาทำการเขียนปรับปรุงโปรแกรมจากข้อย่อยที่ 3 เมื่อมีการกดปุ่มเดิมซ้ำจะเป็นการหยุดการแสดงผลที่ serial monitor และกดซ้ำอีกครั้งจะเป็นการอ่านค่าจากเซ็นเซอร์แสง LDR มาแสดงผลที่ serial monitor ( สลับกัน )
  • 5 (ต่อ) กำหนดให้นักเรียนนักศึกษาทำการเขียนโปรแกรม แปลงค่าจากการอ่านขา analog ที่ได้จาก 10bit ให้กลายเป็น 8bit
  • 6 กำหนดให้นักเรียนนักศึกษาทำการเขียนโปรแกรมกำหนดให้อ่านค่า LDR แล้วแสดงผลใน serial monitor (ตลอดเวลา) และกำหนดการกระพริบของ led เมื่อมีการอ่านค่าข้อมูลจากเซ็นเซอร์แสง LDR อ่านได้ค่าข้อมูลที่มากกว่า 127 แล้ว led 4 ดวงแสดงผลแบบดาวตก(digital) และทำเพียง 1 ครั้งเท่านั้นจะไม่กลับมาทำซ้ำอีกจนกว่าจะมีการกดปุ่ม 1 ครั้ง ถึงจะเข้าเงื่อนไขการทำงานอีกครั้ง
  • 7 จดบันทึกและทำความเข้าใจเกี่ยวกับ analogRead, analogWrite, digitalRead , digitalWrite และการใช้งาน map() เตรียมความพร้อมก่อนสอบปลายภาค



test
#

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ใบงาน รายวิชาโปรแกรมโครงสร้าง(ซัมเมอร์)

[16/07/67] ใบงานรายวิชาไมโครโปรเซสเซอร์และ ไมโครคอนโทรลเลอร์ สัปดาห์ที่ 9

[11/08/2567] ใบงานรายวิชาไมโครคอนโทรลเลอร์และโปรเซส สัปดาห์ที่ 13