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

ใบงานประจำสัปดาห์ที่ 12-13 พื้นฐานการอิเตอร์เฟส (สัปดาห์แข่งกีฬาสี)


สัปดาร์ที่ 12 ไม่ได้เรียนทั้งห้อง 3 และ 4 เนื่องจากติดแข่งกีฬิาช่วงบ่ายและอีกวันเดินพาเรด

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

1. กำหนดให้นักเรียนนักศึกษาเชื่อมต่อไมโครคอนโทรลเลอร์กับ led จำนวนทั้งหมด 4 ดวงและมีการเชื่อมต่อกับปุ่มกด button จำนวน 2 ปุ่ม ข้อควรระวังการต่อใช้งานกับโมดูล button นั้น มีทั้งแบบ active HIGH และแบบ active LOW นักศึกษาต้องทำการตรวจสอบว่าโมดูลปุ่มกดที่ได้ไปนั้นเป็นประเภทไหนจะได้ทำการเขียนโปรแกรมควบคุมได้อย่างถูกต้อง

เมื่อนักเรียนนักศึกษาทำการ ต่อไมโครคอนโทรลเลอร์เข้ากับ led และปุ่มกดแล้ว ให้ทำการเช็คโมดูลปุ่มกดนั้นเป็น Active HIGH หรือ Active LOW โดยทดลองเขียน code ดังต่อไปนี้ และการอ้างอิงตำแหน่งค่า input เพื่อรับสัญญาณดิจิตอลจะอยู่ที่ขา 11 หากนักเรียนนักศึกษาต่อขา input ที่รับสัญญาณแตกต่างไปจากนี้ให้ทำการเปลี่ยนขานั้นๆ ให้ตรงกับการต่อใช้งานจริงด้วย มิฉะนั้นการรับค่า digitalRead จะเกิดความผิดพลาด


int button = 11;
void setup(){
	Serial.begin(9600);
	pinMode(button,INPUT);
}
void loop() {
	if(digitalRead(button)==HIGH){
		Serial.println("button is Active HIGH");
   	 }
      delay(500);
}

เมื่อนักเรียนนักศึกษาใช้งาน code ด้านบนแล้ว Serial monitor ไม่ปรากฏข้อความแต่เมื่อลองกดปุ่ม แล้วปรากฏคำว่า button is Active HIGH ที่หน้า Serial monitor แสดงว่าโมดูลที่นักเรียนต่ออยู่นั้นถูกต้อง และเป็นชนิด Actiove HIGH


int button = 11;
void setup(){
	Serial.begin(9600);
	pinMode(button,INPUT);
}
void loop() {
	if(digitalRead(button)==LOW){
		Serial.println("button is Active LOW");
   	 }
      delay(500);
}

เมื่อนักเรียนนักศึกษาใช้งาน code ด้านบนแล้ว Serial monitor ไม่ปรากฏข้อความแต่เมื่อลองกดปุ่ม แล้วปรากฏคำว่า button is Active LOW ที่หน้า Serial monitor แสดงว่าโมดูลที่นักเรียนใช้งานนั้นถูกต้อง และเป็นชนิด Actiove LOW



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

  • 1. กำหนดให้นักเรียนนักศึกษาเชื่อมต่อไมโครคอนโทรลเลอร์กับปุ่มกด button จำนวน 1 ปุ่มแล้วเขียนโปรแกรมกำหนดให้กดปุ่มแล้วแสดงผลคำว่า "test" ที่ Serial monitor
  • 2. กำหนดให้เขียนโปรแกรมรับค่าจำนวนเต็มด้วย keyboard (กำหนดค่าเริ่มต้น) แล้วแสดงผลผ่าน Serial monitor และเมื่อมีการกดปุ่มแล้วจำนวนเต็มเหล่านั้นจะถูกเพิ่มค่าขึ้นไปเรื่อยๆ
  • 3. (ต่อ) กำหนดให้เพิ่มปุ่ม button 2 เป็นการลดค่าลงเรื่อยๆ แต่ห้ามต่ำกว่า 0
  • 4. (ต่อ) หากมีการพิมพ์ข้อความว่า "reset" แล้วให้แสดงผลค่าจำนวนเต็มครั้งแรกในข้อย่อยที่ 2
  • 5. (ต่อ) กำหนดรับค่าจาก keyboard พิมพ์คำว่า "setXXX" (คำว่า set ตามด้วยเลขจำนวนเต็มเช่น set12, set156, set3) แล้วเป็นการกำหนดค่าเริ่มต้นใหม่ โดยตัวเลขที่เป็นเลขจำนวนเต็มที่ต่อท้ายคำว่า set นั้นคือค่าที่แทนค่าจำนวนเต็มเริ่มต้น

ความคิดเห็น

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

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

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

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