Advertisement
hwthinker

ESP-12F Relay 30A 8 Channel

Sep 16th, 2023 (edited)
1,156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //*****************************************
  2. // Program check Modul Relay 8ch ESP-12F
  3. // v1.0 september 17,2023 by HwThinker
  4. // ****************************************
  5.  
  6. // ---Komunikasi Modul dengan serial programmer ----
  7. // 5v-> x (not connected)
  8. // tx-> rx(kabel putih)
  9. // rx-> tx(kabel hijau)
  10. // Gnd-> GND (kabel hitam)
  11. // GND-> x (not connected)
  12. // GPIO0->x (no connected)
  13.  
  14. // --- Prosedur upload -----
  15. // 1. Tekan dan Tahan tombol Key (GPIO0)
  16. // 2. Tekan dan lepas tombol reset
  17. // 3. Lepas tombol Key
  18. // 4. upload program sederhana(bisa blink lED arduino)
  19. // 5. tunggu upload selesai
  20. // 6. reset (wajib) supaya program baru running
  21. // 7. Ulangi prosedur diatas bila upload program lagi.
  22.  
  23.  
  24. #include <Arduino.h>
  25.  
  26. // hubungan koneksi antara PIN ESP-12F dengan  74HC595
  27. const int latchPin = 12;   // Pin ST_CP (RCLK/12)
  28. const int clockPin = 13;  // Pin SH_CP (SRCLK/11)
  29. const int dataPin = 14;   // Pin DS (SER/14)
  30. const int OE = 5;   // Pin OE (SER/13)
  31.  
  32. //untuk pin SRCLR(10) pada 74HC595 tidak sudah dikawatkan dengan VCC secara default.
  33.  
  34. const int LED_internal=2; //led internal pada modul ESP-12F
  35. const int key = 0;   // Tombol  yang tersambung ke GPIO0
  36.  
  37. void setup() {
  38.   // Atur pin sebagai OUTPUT
  39.   pinMode(latchPin, OUTPUT);
  40.   pinMode(clockPin, OUTPUT);
  41.   pinMode(dataPin, OUTPUT);
  42.   pinMode(OE, OUTPUT);
  43.   pinMode(LED_internal, OUTPUT);
  44.   digitalWrite(OE,LOW); //aktif LOW
  45. }
  46.  
  47. void loop() {
  48.   // Array untuk menyimpan pola LED
  49.   byte rlyPola[] = {
  50.     B00000001,
  51.     B00000010,
  52.     B00000100,
  53.     B00001000,
  54.     B00010000,
  55.     B00100000,
  56.     B01000000,
  57.     B10000000
  58.   };
  59.  
  60.   // Loop untuk menghidupkan Relay satu per satu
  61.   for (int i = 0; i < 8; i++) {
  62.     // Kirim pola ke 74HC595
  63.     digitalWrite(latchPin, LOW);
  64.     shiftOut(dataPin, clockPin, MSBFIRST, rlyPola[i]);
  65.     digitalWrite(latchPin, HIGH);
  66.     //blinky LED internal
  67.     digitalWrite(LED_internal, !digitalRead(LED_internal));
  68.     // Tunggu sebentar sebelum menghidupkan Relay berikutnya
  69.     delay(800);
  70.   }
  71.  
  72.   // Matikan semua LED
  73.   digitalWrite(latchPin, LOW);
  74.   shiftOut(dataPin, clockPin, MSBFIRST, B00000000);
  75.   digitalWrite(latchPin, HIGH);
  76.  
  77.   // Tunggu sebentar sebelum mengulangi loop
  78.   delay(1000);
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement