คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;
int i = 1; //จำเป็นต้องประกาศตัวแปรไว้นอก void loop() ไม่งั้น i จะกลายเป็นหนึ่งทุกครั้งที่ลูปวนกลับมาเจอบรรทัดนี้
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
// buttonState ใช้เก็บค่าที่อ่านได้จากการกดปุ่ม ถ้าปุ่มถูกกด เลขจะขึ้นมาก(HIGH) แต่ถ้าปุ่มไม่ถูกกดตัวเลขจะต่ำ(LOW)
buttonState = digitalRead(buttonPin);
//เมื่อกดปุ่ม ให้ i เพิ่มขึ้นทีละ 1 ทุกครั้งที่กดปุ่ม จน i เกิน 27 ก็ให้ตั้งค่ากลับมาเป็น 1
if (buttonState == HIGH) {
i = i +1;
if (i > 27) {
i = 1;
}
}
switch (i) {
case 1:
// ทำอะไรก็ว่าไป
break;
case 2:
// ทำอะไรก็ว่าไป
break;
.
.
.
case 27:
// ทำอะไรก็ว่าไป
break;
}
}
ปล. ผมก็มั่วไปเรื่อยอะนะครับ ไม่ได้เล่นนานละ Arduino
ได้ไม่ได้ อย่างไรบอกด้วยครับ ไม่มีบอร์ดให้ลอง ตอนนี้ใช้มโนเอาเองครับ
const int ledPin = 13;
int buttonState = 0;
int i = 1; //จำเป็นต้องประกาศตัวแปรไว้นอก void loop() ไม่งั้น i จะกลายเป็นหนึ่งทุกครั้งที่ลูปวนกลับมาเจอบรรทัดนี้
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
// buttonState ใช้เก็บค่าที่อ่านได้จากการกดปุ่ม ถ้าปุ่มถูกกด เลขจะขึ้นมาก(HIGH) แต่ถ้าปุ่มไม่ถูกกดตัวเลขจะต่ำ(LOW)
buttonState = digitalRead(buttonPin);
//เมื่อกดปุ่ม ให้ i เพิ่มขึ้นทีละ 1 ทุกครั้งที่กดปุ่ม จน i เกิน 27 ก็ให้ตั้งค่ากลับมาเป็น 1
if (buttonState == HIGH) {
i = i +1;
if (i > 27) {
i = 1;
}
}
switch (i) {
case 1:
// ทำอะไรก็ว่าไป
break;
case 2:
// ทำอะไรก็ว่าไป
break;
.
.
.
case 27:
// ทำอะไรก็ว่าไป
break;
}
}
ปล. ผมก็มั่วไปเรื่อยอะนะครับ ไม่ได้เล่นนานละ Arduino
ได้ไม่ได้ อย่างไรบอกด้วยครับ ไม่มีบอร์ดให้ลอง ตอนนี้ใช้มโนเอาเองครับ
แสดงความคิดเห็น
รบกวนเขียนโปรแกรม Arduino ช่วยหน่อยครับ
โปรแกรมของผม มีโปรแกรมย่อยๆ อยู่ 27 ชุด ผมอยากใช้สวิตช์ แค่ตัวเดียว ให้ทำงานที่ละชุด เช่น
กดสวิตช์ 1 ครั้ง ให้โปรแกรมที่ 1 ทำงาน
กดสวิตช์อีก 1 ครั้ง (ครั้งที่2) โปรแกรมที่ 2 ทำงาน
กดสวิตช์อีก 1 ครั้ง (ครั้งที่3) โปรแกรมที่ 3 ทำงาน
.
.
.
.
กดสวิตช์อีก 1 ครั้ง (ครั้งที่27) โปรแกรมที่ 27 ทำงาน
กดสวิตช์อีก 1 ครั้ง (ครั้งที่28) เริ่มทำงานโปรแกรมที่ 1 ใหม่
ไม่รู้ว่าผมมั่วมาถูกทางรึเปล่า พอดีพึ่งศึกษา ยังไงก็รบกวนช่วยผมหน่อยนะครับ ใช้ Arduino UNO
int LED1=3;
int LED2=4;
int LED3=5;
int LED4=6;
int LED5=7;
int LED6=8;
int LED7=9;
int LED8=10;
int LED9=11;
int LED10=12;
int buttonPin=2;
void setup()
{
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
pinMode(LED8,OUTPUT);
pinMode(LED9,OUTPUT);
pinMode(LED10,OUTPUT);
pinMode(buttonPin,INPUT);
}
void loop()
{
int i =0; i <= 27; i++;
switch (i)
{
case 1:
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(50);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(50);
break;
case 2:
.
.
.
.
.
.
case 27
break;
}
}
ขอบพระคุณล่วงหน้าอย่างสูงยิ่ง