เกี่ยวกับการเปลี่ยนข้อความ ในปุ่ม ON/OFF ให้ตรงตาม LED


(Apisit Kenanan) #1

ขออนุญาตครับ​ พอจะมีแนวทางในการเปลี่ยนข้อความในปุ่มมั้ยครับ
อารมณ์ประมาณว่า
ปุ่มที่​1​ แสดงค่า​ONกับ​OFF โดยควบคุมการเปิดปิด​Led1
ปุ่มที่2​ คล้ายๆ​ led1

ถ้าถึงตอนนี้​ ลองรันดู​ ถ้าเรากดปุ่มที่​ 1​ หนึ่งครั้ง​ ปุ่มจะเปลี่ยนเป็นคำว่า​ ON และไฟ led1​ติด​ หรือกดอีกครั้งมันจะเปลี่ยนเป็นคำว่า​ OFF​ แล้ว​ led1​ดับตามที่ได้เขียนไว้

*****ถ้าผมเพิ่มปุ่มจับเวลาเข้าไป​ สมมติให้นับไปถึง 10​ แล้วให้​ Led1​ ติด​ Led2ก็ติด​ แต่ปุ่มที่​1และ2ยังแสดงค่าเป็น​ OFF​ ไม่แสดงค่าตามledที่1และ2

พอจะมีคำสั่งใน​ Arduino​ ของ​ blynk​ มั้ยครับที่ทำการเปลี่ยนค่าให้ตรงกับ​ led

ผมเพิ่งลองเล่น​ blynkวันนี้เอง


(Apisit Kenanan) #2


ตามคู่มือ​ ผมไม่เข้าใจเลยครับ​ ว่าต้องประกาศยังไงในส่วนไหน​ แล้ว​ V1 คืออะไรอีก​ งงไปหมด


(Permpol Thanapunnamas) #3

ใช้คำสั่งนี้ครับ ถ้าสมมติเรากำหนด ปุ่ม start เป็น V3 ก็ใส่ในโค้ตเป็น V3 แบบนี้ครับ ส่วน ปุ่ม LED สมมติว่าเรา กำหนดเป็น V1 และ V2

BLYNK_WRITE(V3) 
{
   if (param.asInt()==1) { // เมื่อ V3 มีค่าเป็น 1
        Blynk.virtualWrite(V1, 1); //led1 on
        Blynk.virtualWrite(V2, 1); //led2 on
        }
   }else{
        Blynk.virtualWrite(V1, 0); //led1 off
        Blynk.virtualWrite(V2, 0); //led2 off

   }
 
}

(Permpol Thanapunnamas) #4

ถ้าจะให้ดีเอาโค้ตมาคุยกันง่ายกว่าครับ


(Apisit Kenanan) #5

สมมติน่ะครับ ผมทำโปรแกรมเปิดปิด LED 1 LED 2 สองดวงทางมือถือ และเพิ่มปุ่มในชีวิตจริง ปุ่มกดบนบอร์ออ่ะครับ กลัวงง 5555 เปิด ปิด LED อีกทางนึง ทีนี้ ถ้า LED ติด ปุ่มจะแสดงค่า ON ถ้าดับจะแสดงค่าOFF

ในการกดปุ่มทางมือถือ ไม่มีปัญหา แสดงค่าได้ถูกต้อง
แต่อยากให้พี่แนะนำแนวทางว่าถ้ากด ปุ่มในชีวิจตริง LED ติด แล้วให้ปุ่ม ในมือถือเป็นค่า ON ด้วย

ขอคำชี้แนะด้วยครับ T^T


(Permpol Thanapunnamas) #6

อ่อ ผมใจคำถามละงง ตั้งนาน เดะสักพักตอบให้นะครับ


(Permpol Thanapunnamas) #7

เอาไปไว้ใน void loop ครับ อย่าลือกำหนดค่า Button1 และ LED1 ด้วย

void setup() {
  // put your setup code here, to run once:

}

void loop() {
if (digitalRead(Button1) == HIGH) {
digitalWrite(LED1, HIGH);
Blynk.virtualWrite(V1,1);  // on led บน app
Serial.println("Relay1 On");
}else{
digitalWrite(LED1, LOW);
Blynk.virtualWrite(V1,0); // off led บน app
Serial.println("Relay1 Off");

}
}

(Apisit Kenanan) #8

ถ้าผมตั้งค่าปุ่ม 1 เป็น digital gp15 เพื่อที่จะให้มันเปิดปิดไฟได้ ผมต้องแก้จาก V1 เป็น 15 ถูกต้องรึเปล่าครับ

หรือว่าคำสั่งนี้ ใช้ได้เฉพาะกับขา Virtual เท่านั้น


(Permpol Thanapunnamas) #9

ไม่ต้องครับ ใส่แบบนี้ได้เลย

digitalWrite(15, HIGH);

ถ้าเราไปกำหนด ใน app จาก V1 เป็น gpio15 เราก็สามารถกดปุ่มเพื่อเปิด ปิด ไฟ ได้เลย ไม่ต้องไปกำหนดใน โปรแกรมครับ