http://trikkuampuh.blogspot.com/. Contoh laman HTML
SELAMAT DATANG DI BLOG KAMI "NIKI TRIK KULO"

MEMBUAT PENGONTROL 8 RELAY ESP8266


Dalam r4ngkaian ini, kita akan melihat cara m3ngendalikan banyak relay dengan mikrokontroler NodeMCU32S atau ESP8266 dan register geser 74HC595. Kemudian, kita akan melihat cara menangani setiap relai secara individual. Terakhir, kita akan membuat antarmuka web untuk mengendalikan setiap relai melalui internet. Proyek ini merupakan dasar yang baik untuk mengembangkan sistem otomasi rumah untuk rumah Anda.

Tutorial ini dapat diterapkan pada mikrokontroler mana pun. Anda harus berhati-hati dalam memodifikasi diagram koneksi dan kode agar s3suai dengan penggunaan Anda.

Bahan-bahan:

  • NodeMCU32S atau ESP8266 adalah komputer yang terdiri dari 32 komponen utama, ...
  • Papan tempat memotong roti
  • Kabel jumper
  • Modul relai 8
  • Register pergeseran 74hc595

Prinsip Kerja:

Untuk mengendalikan 8 modul relai, 8 keluaran digital mikrokontroler harus disediakan. Untuk menghemat jumlah masukan/keluaran mikrokontroler, rangkaian terpadu yang berbeda dapat digunakan. Khususnya, register geser. Register geser 74HC595 memiliki 8 keluaran yang dapat diprogram, yang dapat diatur ke 0 atau 5V dan hanya memerlukan 3 masukan digital. Oleh karena itu, solusi ini ideal untuk memungkinkan kita mengendalikan relai dan menyimpan keluaran mikrokontroler untuk fungsi lainnya.


Skema

Untuk m3ngontrol register geser, NodeMCU dihubungkan sebagai berikut:

  • Ground sirkuit terpadu GND
  • Pin catu daya Vcc. Biasanya terhubung ke 5V
  • SH_CP atau RCLK terhubung ke pin 33
  • ST_CP atau SRCLK terhubung ke pin 32
  • DS atau SER terhubung ke pin 25

0utput dari sirkuit terpadu 74HC595 (Q0-Q7) terhubung langsung ke input modul relai 8. 

Dalam tutorial ini, k4mi tidak menggunakan pin Enable (OE) dan Reset (MR).

  • Output OE aktif, mengaktifkan LOW. Pin terhubung ke GND untuk mengaktifkan output.
  • Reset MR Master, aktif LOW. Pin reset. Tersambung ke 5V

Perhatian: Output dari mikrokontroler dibatasi oleh arus. Untuk menggerakkan banyak relai, sangat disarankan untuk menggunakan sumber tegangan eksternal.

esp32_74HC595x1_8relays_bb-1280x1082 Mengontrol 8 relai dengan ESP32 dan register geser

Kode File:

Dal4m kode berikut, pertama-tama kita akan mendefinisikan fung5i dasar untuk mengelola shift register. Kemudian kita akan mengoperasikan relay satu per satu menggunakan for loop.

//Konstanta 
#define  jumlah_74hc595  1 
#define  numOfRegisterPins  jumlah_74hc595  *  8 
#define  SER_Pin  25 
#define  RCLK_Pin  33 
#define  SRCLK_Pin  32

//Variabel 
boolean  register  [numOfRegisterPins];

void  setup (){ 
//Inisialisasi Serial USB 
Serial .begin (115200); Serial .println ( F ( "Inisialisasi Sistem" )); //Inisialisasi register pinMode (SER_Pin , OUTPUT ); pinMode (RCLK_Pin , OUTPUT ); pinMode (SRCLK_Pin , OUTPUT ); clearRegisters(); writeRegisters(); delay (500); }


 
 
 





batal  loop (){ 
tulisGrpRelay(); 
}

void  clearRegisters(){ /* function clearRegisters */  
//// Hapus variabel register 
for ( int  i  =  numOfRegisterPins - 1;  i  >=   0;  i -- ){ 
  registers[i]  =  HIGH ; //LOW; 
}}

void  writeRegisters(){ /* function writeRegisters */  
//// Tulis register setelah ditetapkan 
digitalWrite (RCLK_Pin ,  LOW ); 
 for ( int  i  =  numOfRegisterPins - 1;  i  >=   0;  i -- ){ 
  digitalWrite (SRCLK_Pin ,  LOW );  int  val  =  registers[i]; 
  digitalWrite (SER_Pin ,  val); 
  digitalWrite (SRCLK_Pin ,  HIGH ); 
} 
  digitalWrite (RCLK_Pin ,  HIGH ); 
}

void  setRegisterPin( int  index , int  value){ /* function setRegisterPin */  
////Tetapkan variabel register ke HIGH atau LOW 
registers[index]  =  value; 
}

void  writeGrpRelay(){ /* fungsi writeGrpRelay */  
untuk ( int  i  =  numOfRegisterPins - 1;  i  >=   0;  i -- ){ 
   Serial.print ( F ( "Relay" )); Serial.print (i); Serial.println ( F ( "TINGGI" ) ) ; setRegisterPin (i , RENDAH ) ; writeRegisters(); tunda (200); Serial.print (F( "Relay" )); Serial.print (i); Serial.println (F( "RENDAH" ) ) ; setRegisterPin (i , TINGGI ); writeRegisters(); tunda ( 500) ;
    
   
    
   
    
   
   
      

Bahasa Indonesia :

Hasil

Setelah komponen tersambung dengan benar dan kode dimuat ke mikrokontroler, relai akan aktif satu demi satu.

nodemcu32s-74hc595-8relays-monitor Mengontrol 8 relai dengan ESP32 dan register geser

Bonus: Kontrol 16 relai dengan dua register pergeseran.

Skema

esp32_74HC595x2_16relays_bb-1280x662 Mengontrol 8 relai dengan ESP32 dan register geser

Kode

Keistimewaan kode ini adalah untuk membuatnya bekerja d3ngan register geser kedua, Anda hanya perlu mengub4h parameternya:

#definisikan  jumlah_74hc595s  2

Hasil

nodemcu32s-74hc595-16relays-monitor Mengontrol 8 relai dengan ESP32 dan register geser

untuk file ino bisa di download di link DISINI

Flag Counter