ใบงานพื้นฐานการอินเตอร์เฟส สัปดาห์ที่ 12

ใบงานประจำสัปดาห์ รายวิชาพื้นฐานการอิเตอร์เฟส


จงเขียนไมโครคอนโทรลเลอร์ โดยกำหนดให้เชื่อมต่อกับ led โดยใช้งานคำสั่งที่ส่ง input, output สัญญาณ digital เพื่อควบคุม led ให้ได้ตามโจทย์ที่กำหนด. โดยในสัปดาห์นี้จะเป็นการทำความเข้าใจเรื่องการรับ ส่งข้อมูลผ่าน Serial monitor ซึ่งสอดคล้องกับเนื้อหารายวิชาพื้นฐานการอินเตอร์เฟสโดยจะเป็นลักษณะการสื่อสารกันระหว่างคอมพิวเตอร์และอุปกรณ์ไมโครคอนโทรลเลอร์ผ่านการส่งข้อมูลแบบ Serial Transmission (สาย USB) และจงใช้ความรู้ในการเขียนโปรแกรมพื้นฐานที่เรียนในสัปดาห์ที่ผ่านมา นำมาประยุกต์ใช้งาน if , if else , while ,for , switch case ให้นักเรียนนักศึกษาทำไปทีละข้อย่อย จนครบโจทย์ที่สมบูรณ์

1. กำหนดให้นักเรียนนักศึกษาเชื่อมต่อ ไมโครคอนโทรลเลอร์ กับ led จำนวนทั้งหมด 4 ดวง

โดยเนื้อหาในสัปดาห์นี้จะเป็นการ เรียกใช้งาน Serial available คือการรับค่าส่งค่าข้อมูลระหว่างคอมพิวเตอร์และไมโครคอนโทรลเลอร์ ตัวอย่าง code ดังต่อไปนี้

 void loop(){
	while(Serial.available()) { 
    		String a1 = Serial.readString();
    		Serial.print("your typing : ");
            a1.trim();
    		Serial.println(a1);
  	}
  }

หรือ


  void loop() {
  	if (Serial.available() > 0) {
    		String msg = Serial.readString();
    		Serial.print("Echo: ");
    		Serial.println(msg);
  	}
}
  

ชุดคำส่ง Serial available จะทำการรอรับค่าจาก keyboard ที่ผู้ใช้งานพิมพ์เข้าไป จากนั้นใช้คำสั่ง Serial.readString() เพื่อทำการอ่านค่าที่รับเข้ามา และให้นักเรียนนักศึกษานำชุดข้อความเหล่านั้นไปประยุกต์การทำงานต่อไป



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

  • 1 กำหนดให้นักเรียนนักศึกษาเชื่อมต่อ ไมโครคอนโทรลเลอร์กับ led จำนวน 4 ดวงและทำการรับค่าจาก keyboard ให้แสดงใน Serial monitor พิมพ์คำใดๆ ให้แสดงคำนั้นๆปรากฏใน Serial monitor และการหน่วงเวลากำหนดที่ 200 ms
  • 2 (ต่อ)กำหนดให้รับค่าจาก keyboard เมื่อพิมพ์ "led1on" แล้ว led ดวงที่ 1 ติดค้าง และเมื่อพิมพ์ "led1off" แล้ว led ดวงที่ 1 ดับการแสดงผลจะต้องรับค่าจาก keyboard ก่อนเท่านั้น
  • 3 (ต่อ) ทำในหัวข้อย่อยที่ 2 กับ led ดวงอื่นๆโดยอ้างอิงตำแหน่งเลขตรงกลางให้ครบทั้ง 4 ดวง ทั้งติดและดับ led1on, led2on, led3on, led4on ,led1off, led2off, led3off, led4off (ชุดคำสั่ง led on ,off คือกลุ่มเดียวกัน)
  • 4 (ต่อ) กำหนดให้รับค่าจาก keyboard เมื่อพิมพ์ "step1" แล้วการแสดงผล led 4 ดวงแสดงผลแบบดาวตก (การแสดงผลต้องแสดงแบบต่อเนื่อง จะไม่หยุดจนกระทั่งจะมีการพิมพ์คำสั่งอื่นๆ )
  • 5 (ต่อ) กำหนดให้รับค่าจาก keyboard เมื่อพิมพ์ "step2" แล้วการแสดงผล led 4 ดวงแสดงผลแบบทั้งหมดติดและดับสลับกัน (การแสดงผลต้องแสดงแบบต่อเนื่อง จะไม่หยุดจนกระทั่งจะมีการพิมพ์คำสั่งอื่นๆ )
  • 6 (ต่อ) กำหนดให้รับค่าจาก keyboard เมื่อพิมพ์ "clear" แล้วการแสดงผลอื่นๆหยุดทั้งหมด led ทั้ง 4 ดวงดับทั้งหมด
  • 7 (ต่อ)จงสืบค้นข้อมูล (serial available) เพิ่มเติม โดยกำหนดให้การรับค่าจาก keyboard "setdelay300" กำหนดให้เปลี่ยนการหน่วงเวลาของโปรแกรมทั้งหมดเป็น 300 ms (ตามเลข 3 หลักหลัง "setdelay300") หากมีการพิมพ์คำสั่งอื่นนอกเหนือจากนี้ไปจะไม่แสดงผลใดๆ

# # #

ความคิดเห็น

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

[2/2567] ใบงานรายวิชาการประยุกต์ไมโครคอนโทรลเลอร์ สัปดาห์ที่ 8

[2/2567] ใบงานรายวิชาการประยุกต์ไมโครคอนโทรลเลอร์ สัปดาห์ที่ 5 (ใบงานแรกของเทอม)

[2/2567] ใบงานรายวิชาพื้นฐานการอินเตอร์เฟส สัปดาห์ที่ 7