รบกวนช่วยดู โค้ดโปรแกรม arduino ของผมทีครับ T_T

คือตอนนี้ ผมกำลังสร้างเครื่อง ตัวรับส่งข้อมูล ผ่านการส่งสัญญาณจาก x-bee 2ตัว คือตอนนี้ส่งข้อความหากันได้แล้ว แต่พอเวลาแสดงผล
1. เมื่อได้รับข้อความเข้ามา เช่น รับข้อความ A มา ไฟจะติดที่หลอด LED1 แต่เมื่อได้รับข้อความ B มา อยากให้ LED2ติด แต่มันไปติดที่ LED1 เหมือนเดิม
2.ผมอยากถามการใช้คำสั่งควรแก้ไขตรงจุดไหนดีครับ

อันนี้เป็นโค้ดโปรแกรมที่ผมกำลังเขียนครับ เหลือแค่หลอดแสดงผล ตอนแรกผมใช้ คำสั่ง if ทั้งหมด ไม่ใช่ else if ครับผม

#include <SoftwareSerial.h>
#define RxD 2
#define TxD 3
SoftwareSerial mySerial(RxD,TxD); // RX, TX
int incoming=0;
const int led1 =  4;
const int led2 =  5;
const int led3 =  6;
const int led4 =  7;
int voice = A5;

void setup()
{
    Serial.begin(9600);
    pinMode(RxD, INPUT);
    pinMode(TxD, OUTPUT);
    mySerial.begin(9600);
    
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    pinMode(led3, OUTPUT);
    pinMode(led4, OUTPUT);
    pinMode(voice, OUTPUT);
    
}

void loop()
{
    if (mySerial.available())
    {
        incoming  = mySerial.read();
        
        int a=Serial.write(incoming);
      
        if(a ='A')
        {
         digitalWrite(led1,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);        
        }
        else if(a ='AA')
        {
         digitalWrite(led1,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }


      
        else if(a ='B')
        {
         digitalWrite(led2,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }
        else if(a ='BB')
        {
         digitalWrite(led2,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }


        
        else if(a ='C')
        {
         digitalWrite(led3,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }
        else if(a ='CC')
        {
         digitalWrite(led3,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }
        
        
        
        else if(a ='D')
        {
         digitalWrite(led4,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }
        else if(a ='CC')
        {
         digitalWrite(led4,HIGH);
         analogWrite(voice,1023);
         delay(5000);
         analogWrite(voice,0);
        }      
    }
    
}

รบกวนช่วยแนะนำทีนะครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่