ความรู้แน่น ฟรีสำหรับชุมชน ArduinoAll ที่นี่เท่านั้น

ฟรีและดีที่สุด คอร์สอบรม Arduino + NodeMCU
ทำเพื่อแบ่งปัน ห้ามนำไปจำหน่าย หรือเก็บเงินค่าเรียน
  !!!


  


AllNewStep รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

พิมพ์ค้นหาบทความ หัวข้อกระทู้ และสินค้าในเว็บ AllNewStep ได้ที่นี่
QUOTE 

Push button swicth ควบคุมเปิด-ปิด หลอด led เหมือนรายการเกมโชว์

Auei
จะใช้คำสั่งแบบใด บนบอร์ด arduino ให้ผู้เล่น 3 คน แย่งกันกดปุ่ม ควมคุมไฟ led ก่อน ใครกดปุ่มที่ฝั่งของตนได้ก่อนมีสิทธิ์ตอบ คนที่เหลือ จะกดเท่าไหร่ก็กดปุ่มไม่ติดครับ
ตัวอย่างโค๊ด
int led1=2;
int led2=3;
int led3=4;
int pushled1=6;
int pushled2=7;
int pushled3=8;
int stopled123=10;
int status=0;
void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(pushled1, INPUT);
pinMode(pushled2, INPUT);
pinMode(pushled3, INPUT);
pinMode(stopled123, INPUT_PULLUP);
}
void loop(){
status=digitalRead(stopled123, LOW);
if(digitalRead(pushled1)==HIGH)
{
digitalWrite(led1, HIGH);
}
else if(status==LOW)
{
digitalWrite(led1, LOW);
}

if(digitalRead(pushled2)==HIGH)
{
digitalWrite(led2, HIGH);
}
else if(status==LOW)
{
digitalWrite(led2, LOW);
}

if(digitalRead(pushled3)==HIGH)
{
digitalWrite(led3, HIGH);
}
else if(status==LOW)
{
digitalWrite(led3, LOW);
}

}
/*
จากโค๊ดดังกล่าว หลอดไฟ เปิดได้พร้อมกัน ทั้ง 3 หลอด
จะปรับแก้ด้วยวิธีใด โดยให้สิทธิ์คนที่กดก่อน ได้สิทธิ์ตอบก่อนหรือเล่นก่อน

*/
QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน

ถ้าแบบง่าย ๆ ใช้คำสั่ง digitalRead(); 

แล้วเช็ค if ถ้าปุ่มไหนมีสถานะถูกกดแล้ว ก็ไม่ต้องให้เช็คปุ่มอื่นอีก 

ในโค้ดนี้ if ยังไม่ถูก ลองเช็คใหม่ครับ

QUOTE 
ความคิดเห็นที่ #2
เจ้าของร้าน

โค้ดตัวอย่าง

int led1 = 10;
int led2 = 11;
int sw1 = 9;
int sw2 = 8;
int finish = 0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
}

void loop() {
if (finish == 0) {
if (digitalRead(sw1)==0) {
finish = led1;
} else if (digitalRead(sw2)==0) {
finish = led2;
}
} else {
digitalWrite(finish, 1);
}
}

แสดงความคิดเห็นที่ 1-2 จากทั้งหมด 2 ความคิดเห็น
ขาย ARDUINO
คุณภาพ อันดับ 1

ได้รับรางวัลร้านยอดเยี่ยม
ตั้งแต่ปี 2558
ขาย Arduino
วีดีโอสอน Arduino

สอน esp8266

สอน Arduino IoT
สอน Arduino แบบเร็ว

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

พูดคุย-สอบถาม