//***************************************** // Program check Modul Relay 8ch ESP-12F // v1.0 september 17,2023 by HwThinker // **************************************** // ---Komunikasi Modul dengan serial programmer ---- // 5v-> x (not connected) // tx-> rx(kabel putih) // rx-> tx(kabel hijau) // Gnd-> GND (kabel hitam) // GND-> x (not connected) // GPIO0->x (no connected) // --- Prosedur upload ----- // 1. Tekan dan Tahan tombol Key (GPIO0) // 2. Tekan dan lepas tombol reset // 3. Lepas tombol Key // 4. upload program sederhana(bisa blink lED arduino) // 5. tunggu upload selesai // 6. reset (wajib) supaya program baru running // 7. Ulangi prosedur diatas bila upload program lagi. #include // hubungan koneksi antara PIN ESP-12F dengan 74HC595 const int latchPin = 12; // Pin ST_CP (RCLK/12) const int clockPin = 13; // Pin SH_CP (SRCLK/11) const int dataPin = 14; // Pin DS (SER/14) const int OE = 5; // Pin OE (SER/13) //untuk pin SRCLR(10) pada 74HC595 tidak sudah dikawatkan dengan VCC secara default. const int LED_internal=2; //led internal pada modul ESP-12F const int key = 0; // Tombol yang tersambung ke GPIO0 void setup() { // Atur pin sebagai OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(OE, OUTPUT); pinMode(LED_internal, OUTPUT); digitalWrite(OE,LOW); //aktif LOW } void loop() { // Array untuk menyimpan pola LED byte rlyPola[] = { B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000 }; // Loop untuk menghidupkan Relay satu per satu for (int i = 0; i < 8; i++) { // Kirim pola ke 74HC595 digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, rlyPola[i]); digitalWrite(latchPin, HIGH); //blinky LED internal digitalWrite(LED_internal, !digitalRead(LED_internal)); // Tunggu sebentar sebelum menghidupkan Relay berikutnya delay(800); } // Matikan semua LED digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, B00000000); digitalWrite(latchPin, HIGH); // Tunggu sebentar sebelum mengulangi loop delay(1000); }