12V
OVERVIEW
The
board has two relay driven by TTL circuit . The board works on 12V but the
input signal can come directly from microcontroller output working at 5V to
control relays. Each relay can switch variety of AC or DC high voltage, high
current loads working at 110V or 220V AC mains like lights, fans, motors and
such. The status of relay is indicated by individual LEDs.
FEATURES
- LED indication of relay on & power
- Design based on highly proven TTL as driver
- Direct input 5V microcontroller for relay control
- High Current (8A) Capability.
- AC or DC Operating Voltages.
- No Leakage Current.
- Eliminates costly isolation relays and wiring.
- High quality PCB FR4 Grade with FPT Certified.
CIRCUIT DIAGRAM
SCHEMATIC
CONNECTION DIAGRAM
CODE:
1. ATMEL
#include<reg51.h>
#define LCD_PORTP2
sbitrs=P3^5;
sbit en=P3^7;
sbitD7=P2^7;
sbitrw=P3^6;
#define RELAY P1
void busy();
void CMD_WRT(unsigned char);
void LCD_WRT(unsigned char *);
void DATA_WRT(unsigned char);
void DELAY();
void main()
{
unsigned char
CMD[]={0x38,0x0f,0x01,0x06,0x80},TEMP,i;
for(i=0;i<=2;i++)
{
TEMP=CMD[i];
CMD_WRT(TEMP);
}
RELAY=0x00;
while(1)
{
CMD_WRT(0X01);
CMD_WRT(0X80);
LCD_WRT("2 RELAY BOARD");
DELAY();
DELAY();
RELAY=0x01;
CMD_WRT(0X01);
CMD_WRT(0X80);
LCD_WRT("1st RELAY ON");
DELAY();
DELAY();
DELAY();
DELAY();
RELAY=0x00;
RELAY=0x02;
CMD_WRT(0X01);
CMD_WRT(0X80);
LCD_WRT("2nd RELAY ON");
}
}
void busy()
{
D7=1;
rs=0;
rw=1;
while(D7!=0)
{
en=0;
en=1;
}
}
void CMD_WRT(unsigned char val)
{
busy();
LCD_PORT=val;
rs=0;
rw=0;
en=1;
en=0;
}
void LCD_WRT(unsigned char *string)
{
while(*string)
DATA_WRT(*string++);
}
void DATA_WRT(unsigned char ch)
{
busy();
LCD_PORT = ch;
rs=1;
rw=0;
en=1;
en=0;
}
void DELAY()
{
unsigned int
X=600000,Y=600000;
while(X--);
while(Y--);
}
2. PIC
sbitLCD_RS at RB4_bit;
sbitLCD_EN at RB5_bit;
sbitLCD_D4 at RB0_bit;
sbitLCD_D5 at RB1_bit;
sbitLCD_D6 at RB2_bit;
sbitLCD_D7 at RB3_bit;
sbitLCD_RS_Direction at TRISB4_bit;
sbitLCD_EN_Direction at TRISB5_bit;
sbitLCD_D4_Direction at TRISB0_bit;
sbitLCD_D5_Direction at TRISB1_bit;
sbitLCD_D6_Direction at TRISB2_bit;
sbitLCD_D7_Direction at TRISB3_bit;
char RELAY at PORTD;
void main() {
PORTD=0x00;
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out_Cp("2 RELAY BOARD");
RELAY=0x00;
while(1)
{
RELAY=0x01;
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out_Cp("1st RELAY ON");
Delay_ms(1000); // You can change the
moving speed here
RELAY=0x00;
RELAY=0x02;
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out_Cp("2nd RELAY ON");
Delay_ms(1000); // You can change the
moving speed here
RELAY=0x00;
}
}