Logo
แผนที่ที่สร้างขึ้นเฉพาะสำหรับ Pro Plan ควิซ
ควิซถูกล็อกเนื่องจาก แผน PRO หมดอายุ
thubnail
วีรบุรุษท่ามกลางเปลวไฟ
เล่นอิสระ
อื่น ๆ
อื่น ๆ
ข้อสอบวิชาพื้นฐานอินเตอร์เฟส ตอนที่ 2
Kru Packlink
43
ปัญหาที่เพิ่มเข้ามา (20/ 20)
อนุญาตให้คำตอบที่ไม่ถูกต้อง
ซ่อนคำตอบ
public quiz

ปัญหา 1

เลือกประเภท

คำสั่งใดที่ใช้สำหรับอ่านสถานะของปุ่มกดจากขา 4

  • digitalRead(4);
  • digitalWrite(4, HIGH);
  • pinMode(4, OUTPUT);
  • analogRead(4);

ปัญหา 2

เลือกประเภท

หากต้องการให้รีเลย์ที่ต่อกับขา 10 ทำงานเพียง 2 วินาที แล้วดับ คำสั่งใดถูกต้องที่สุด

  • digitalWrite(10, HIGH); delay(1000); digitalWrite(10, LOW);
  • digitalWrite(10, HIGH); delay(2000); digitalWrite(10, LOW);
  • digitalWrite(10, LOW); delay(2000); digitalWrite(10, HIGH);
  • delay(2000); digitalWrite(10, HIGH);

ปัญหา 3

เลือกประเภท

ปุ่มกดถูกต่อเข้ากับพอร์ตหมายเลข 8 และรีเลย์ต่อกับพอร์ต 9 โปรแกรมที่ทำให้เมื่อกดปุ่ม รีเลย์จะทำงาน ต้องมีโครงสร้างอย่างไร?

  • อ่านค่าพอร์ต 9 แล้วเขียนค่าที่พอร์ต 8
  • เขียนค่าที่พอร์ต 8 และ 9 พร้อมกัน
  • อ่านค่าพอร์ต 8 และเขียนค่าที่พอร์ต 9 ตามค่าที่อ่านได้
  • ใช้พอร์ต 8 และ 9 เป็น OUTPUT ทั้งคู่

ปัญหา 4

เลือกประเภท

หากต้องการให้ LED กระพริบเร็ว (เปิด–ปิด ทุก 0.2 วินาที) ควรใช้ delay อย่างไร?

  • delay(2000);
  • delay(500);
  • delay(1000);
  • delay(200);

ปัญหา 5

เลือกประเภท

ถ้ากำหนด pinMode(5, OUTPUT); แล้วใช้ digitalWrite(5, LOW); จะเกิดอะไรขึ้นกับอุปกรณ์ที่ต่ออยู่ที่ขานั้น?

  • อุปกรณ์ทำงาน
  • อุปกรณ์หยุดทำงาน
  • ขา 5 จะกลายเป็นอินพุตก
  • ขา 5 จะส่งสัญญาณ PWM ออก

ปัญหา 6

เลือกประเภท

นักเรียนต้องการให้ไฟ LED กระพริบทุก 1 วินาที ควรตั้งค่า delay เท่าใด?

  • 100
  • 500
  • 1000
  • 2000

ปัญหา 7

เลือกประเภท

ข้อใดเป็นสาเหตุทำให้รีเลย์เปิด-ปิดติดๆ กันเร็วเกินไป?

  • ใช้คำสั่ง if ซ้อนกันหลายชั้น
  • ไม่ใช้ delay
  • ต่อขาผิด
  • ใช้ตัวต้านทานต่ำเกินไป

ปัญหา 8

เลือกประเภท

หากต้องการรับค่าจากปุ่มกดและควบคุมรีเลย์ ควรใช้พอร์ตแบบใด?

  • Analog only
  • USB
  • PWM
  • Digital Input และ Output

ปัญหา 9

เลือกประเภท

คำว่า “debounce” เกี่ยวข้องกับการใช้งานอะไร?

  • ปุ่มกด
  • LED
  • ตัวแปรในโค้ด
  • รีเลย์

ปัญหา 10

เลือกประเภท

หากรีเลย์ไม่เปิดเมื่อใช้คำสั่ง digitalWrite(relayPin, HIGH); ควรตรวจสอบอะไรเป็นลำดับแรก?

  • จำนวน LED
  • ขา GPIO
  • ความยาวของสายไฟ
  • แรงดันไฟ

ปัญหา 11

คำตอบสั้น

ข้อสอบแบบข้อเขียน คือให้พิมพ์ตอบ อธิบายหลักการทำงานของรีเลย์ และประโยชน์ของการใช้งานรีเลย์ในการควบคุมอุปกรณ์ไฟฟ้า

  • รีเลย์ทำงานด้วยหลักการแม่เหล็กไฟฟ้า โดยใช้กระแสไฟขนาดเล็กควบคุมการเปิด-ปิดวงจรกำลัง ใช้เพื่อแยกวงจรควบคุมกับวงจรกำลัง ปลอดภัยและควบคุมอุปกรณ์กำลังสูงได้

คำใบ้

รีเลย์ทำงานด้วยหลักการแม่เหล็กไฟฟ้า โดยใช้กระแสไฟขนาดเล็กควบคุมการเปิด-ปิดวงจรกำลัง ใช้เพื่อแยกวงจรควบคุมกับวงจรกำลัง ปลอดภัยและควบคุมอุปกรณ์กำลังสูงได้

ปัญหา 12

คำตอบสั้น

จงเขียนขั้นตอนการเขียนโปรแกรมให้ไฟ LED กระพริบทุก 1 วินาที โดยใช้ภาษา Arduino (C/C++)

  • void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }

คำใบ้

void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }

ปัญหา 13

คำตอบสั้น

อธิบายความแตกต่างระหว่าง INPUT และ OUTPUT ในการตั้งค่าพอร์ตของไมโครคอนโทรลเลอร์

  • INPUT คือการกำหนดให้พอร์ตทำหน้าที่รับข้อมูล เช่น จากปุ่มกด OUTPUT คือการกำหนดให้พอร์ตส่งข้อมูลออก เช่น ควบคุมไฟ LED หรือรีเลย์

คำใบ้

INPUT คือการกำหนดให้พอร์ตทำหน้าที่รับข้อมูล เช่น จากปุ่มกด OUTPUT คือการกำหนดให้พอร์ตส่งข้อมูลออก เช่น ควบคุมไฟ LED หรือรีเลย์

ปัญหา 14

คำตอบสั้น

นักเรียนต้องการให้ปุ่มกดควบคุมการเปิดรีเลย์ 1 ตัว ให้อธิบายหลักการเขียนโปรแกรมที่เหมาะสม

  • ใช้ digitalRead() ตรวจสถานะปุ่มกด หากเป็น HIGH ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อให้รีเลย์ทำงาน พร้อมใส่ debounce เพื่อป้องกันการกดซ้ำ

คำใบ้

ใช้ digitalRead() ตรวจสถานะปุ่มกด หากเป็น HIGH ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อให้รีเลย์ทำงาน พร้อมใส่ debounce เพื่อป้องกันการกดซ้ำ

ปัญหา 15

คำตอบสั้น

จงอธิบายความสำคัญของคำสั่ง delay() ในการควบคุมการกระพริบ LED หรือควบคุมการทำงานของรีเลย์

  • delay() ช่วยหน่วงเวลาเพื่อควบคุมจังหวะการทำงาน เช่น การเปิด-ปิด LED หรือรอให้รีเลย์สลับสถานะอย่างเหมาะสม

คำใบ้

delay() ช่วยหน่วงเวลาเพื่อควบคุมจังหวะการทำงาน เช่น การเปิด-ปิด LED หรือรอให้รีเลย์สลับสถานะอย่างเหมาะสม

ปัญหา 16

คำตอบสั้น

ให้นักเรียนเขียนโปรแกรมควบคุมไฟ LED ให้ติดเมื่อปุ่มถูกกด และดับเมื่อปล่อยปุ่ม

  • int button = 2; int led = 13; void setup() { pinMode(button, INPUT); pinMode(led, OUTPUT); } void loop() { int state = digitalRead(button); digitalWrite(led, state); }

คำใบ้

int button = 2; int led = 13; void setup() { pinMode(button, INPUT); pinMode(led, OUTPUT); } void loop() { int state = digitalRead(button); digitalWrite(led, state); }

ปัญหา 17

คำตอบสั้น

จากโค้ดนี้ นักเรียนคิดว่ามีข้อผิดพลาดหรือไม่ เพราะเหตุใด pinMode(7, OUTPUT); digitalWrite(7, HIGH); pinMode(7, INPUT);

  • มีข้อผิดพลาดเพราะ pinMode(7, INPUT); จะเปลี่ยนขา 7 จาก OUTPUT เป็น INPUT ทำให้ไม่สามารถควบคุม LED หรือรีเลย์ได้ตามต้องการ

คำใบ้

มีข้อผิดพลาดเพราะ pinMode(7, INPUT); จะเปลี่ยนขา 7 จาก OUTPUT เป็น INPUT ทำให้ไม่สามารถควบคุม LED หรือรีเลย์ได้ตามต้องการ

ปัญหา 18

คำตอบสั้น

ให้นักเรียนอธิบายการทำงานของพอร์ต GPIO และยกตัวอย่างการใช้งานจริง

  • GPIO คือพอร์ตที่สามารถตั้งค่าให้เป็น INPUT หรือ OUTPUT ได้ตามต้องการ เช่น ใช้รับค่าจากปุ่ม หรือควบคุมรีเลย์/LED

คำใบ้

GPIO คือพอร์ตที่สามารถตั้งค่าให้เป็น INPUT หรือ OUTPUT ได้ตามต้องการ เช่น ใช้รับค่าจากปุ่ม หรือควบคุมรีเลย์/LED

ปัญหา 19

คำตอบสั้น

อธิบายปัญหาที่มักพบเมื่อใช้งานปุ่มกดกับไมโครคอนโทรลเลอร์ และแนวทางแก้ไข

  • ปัญหา “debounce” เมื่อปุ่มกดแล้วเกิดสัญญาณกระพริบหลายครั้ง ควรหน่วงเวลาเล็กน้อยหลังการอ่านค่าด้วย delay(50) หรือใช้โค้ด debounce

คำใบ้

ปัญหา “debounce” เมื่อปุ่มกดแล้วเกิดสัญญาณกระพริบหลายครั้ง ควรหน่วงเวลาเล็กน้อยหลังการอ่านค่าด้วย delay(50) หรือใช้โค้ด debounce

ปัญหา 20

คำตอบสั้น

วิเคราะห์และออกแบบระบบเปิดพัดลมอัตโนมัติเมื่ออุณหภูมิเกิน 30 องศา โดยใช้เซ็นเซอร์, รีเลย์ และ Arduino

  • ใช้เซ็นเซอร์วัดอุณหภูมิ (เช่น DHT11) ต่อเข้ากับพอร์ตอินพุต เมื่ออ่านค่า >30°C ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อเปิดรีเลย์ที่ต่อกับพัดลม หากต่ำกว่า 30°C ให้สั่ง LOW เพื่อปิด

คำใบ้

ใช้เซ็นเซอร์วัดอุณหภูมิ (เช่น DHT11) ต่อเข้ากับพอร์ตอินพุต เมื่ออ่านค่า >30°C ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อเปิดรีเลย์ที่ต่อกับพัดลม หากต่ำกว่า 30°C ให้สั่ง LOW เพื่อปิด

การแชร์ Google Classroom