Senin, 25 Agustus 2025

UJI WEMOS DASAR :



 

https://www.projectguideline.com/using-arduino-ide-for-doing-esp8266-wemos-d1-mini-wifi-projects/ 


//Pilih Board:
//Arduino IDE → Tools → Board → Boards Manager…
//Install “ESP8266 by ESP8266 Community” (kalau belum).
//Tools → Board → pilih “LOLIN (WEMOS) D1 R2 & mini”.


const int outputPin1 = D5;  // GPIO14
const int outputPin2 = D6;  // GPIO12
const int outputPin3 = D7;  // GPIO13

int statusFlag = 1;

void setup() {
  Serial.begin(115200);
  pinMode(outputPin1, OUTPUT);
  pinMode(outputPin2, OUTPUT);
  pinMode(outputPin3, OUTPUT);

  digitalWrite(outputPin1, LOW);
  digitalWrite(outputPin2, LOW);
  digitalWrite(outputPin3, LOW);

  Serial.println("Ready. Ketik A/B/C/D/E/F.");
}

void loop() {
  if (Serial.available() > 0) {
    char cmd = Serial.read();
    handleCommand(cmd);
  }
}

void pulsePin(int pin, unsigned long ms) {
  digitalWrite(pin, HIGH);
  delay(ms);
  digitalWrite(pin, LOW);
}

void handleCommand(char cmd) {
  if ((cmd == 'A') && statusFlag == 1) {//RECORD outputPin1
    statusFlag = 1;
    digitalWrite(outputPin1, HIGH);
    pulsePin(outputPin1, 2000);
    Serial.println("sukses menerima A");
  }
  else if ((cmd == 'B') && statusFlag == 1) {//NYANYI outputPin2
    statusFlag = 1;
    digitalWrite(outputPin2, HIGH);
    pulsePin(outputPin2, 2000);
    Serial.println("sukses menerima B");
  }
  else if ((cmd == 'C') && statusFlag == 1) {//SPEAKER Standby: outputPin3
    statusFlag = 1;
    digitalWrite(outputPin3, HIGH);
    Serial.println("sukses menerima C");
    delay(100);
  }
  else if (cmd == 'D') { // speaker Tidak Aktif (power ke speaker off):outputPin3
    statusFlag = 0;
    digitalWrite(outputPin3, LOW);  
    Serial.println("sukses menerima D");
    delay(100);
  }
  else if (cmd == 'E') { // kembali ke default, speaker standby ON(power ke speaker on)
    statusFlag = 1;                 
    digitalWrite(outputPin3, HIGH);
    Serial.println("sukses menerima E");
    delay(100);
  }
  else if (cmd == 'F') {
    statusFlag = 0;                  // Speaker  Off/Tidak Aktif(power ke speaker off)
    digitalWrite(outputPin3, LOW);
    Serial.println("sukses menerima F");
    delay(100);
  }
  else {
    // abaikan selain A..F (kecuali newline)
    if (cmd != '\r' && cmd != '\n') {
      Serial.print("Perintah tidak dikenal: ");
      Serial.println(cmd);
    }
  }
}






Tidak ada komentar:

Posting Komentar