Arduino 1 Channel Triac Module With Zero Crossing Sensor
Arduino 1 Channel Triac Module With Zero Crossing Sensor
SKU:B342,L5,Th3
This is 1 Channel Triac Module Module which gives you the ability to make Arduino Ac Dimmer or Arduino ac phase angel controller or it can control AC related applications with your Arduino, Raspberry Pi, PIC or Any other 5v microcontroller.
Features and Specifications:
- Model = GIKI
- Comprises with MOC3021 Zero Cross Phototriac Driver optocoupler and BT16 Triac
- Simplifies Logic Control of 115/240 Vac Power
- Zero Voltage Crossing Signal
Applications:
- Solenoid/Valve Controls
- Temperature Controls
- Lighting Controls
- E.M. Contactors
- Static Power Switches
- AC Motor Starters
- AC Motor Drives
- Solid State Relays
Package Includes:
- 1x Triac Module
Here is a diagram of this module.
Description
This is 1 Channel Triac Module Module which gives you the ability to make Arduino Ac Dimmer or Arduino ac phase angel controller or it can control AC related applications with your Arduino, Raspberry Pi, PIC or Any other 5v microcontroller.
Features and Specifications:
- Model = GIKI
- Comprises with MOC3021 Zero Cross Phototriac Driver optocoupler and BT16 Triac
- Simplifies Logic Control of 115/240 Vac Power
- Zero Voltage Crossing Signal
Applications:
- Solenoid/Valve Controls
- Temperature Controls
- Lighting Controls
- E.M. Contactors
- Static Power Switches
- AC Motor Starters
- AC Motor Drives
- Solid State Relays
Package Includes:
- 1x Triac Module
Here is a diagram of this module.
I have used this as AC dimmer and it worked fine. Only issue is missing heat sink on the TRIAC.
I tried to make it work just as a dimmer and I couldn't
Please contact with our complain department.
Seems to be working.
#define DETECT 2 //zero cross detect
#define GATE 9 //TRIAC gate
#define PULSE 500 //trigger pulse width (counts)
int brightness = 0;
#include
void setup(void)
{
pinMode(DETECT, INPUT); //zero cross detect
digitalWrite(DETECT, HIGH); //enable pull-up resistor
pinMode(GATE, OUTPUT); //TRIAC gate control
attachInterrupt(0, zeroCrossingInterrupt, RISING);
Timer1.attachInterrupt(timer1_interrupt); // blinkLED to run every 0.15 seconds
Serial.begin(9600);
}
void loop(void)
{
int variable_value = analogRead(A0);
brightness = map(variable_value, 0, 1023, 0, 9000);
if (brightness > 7500) detachInterrupt(0); // disconnect interrrupt
else attachInterrupt(0, zeroCrossingInterrupt, RISING); // connect interrupt
Serial.println(brightness);
delay(100);
}
//////////////////////////
void zeroCrossingInterrupt() { //zero cross detect interrupt
Timer1.initialize(brightness);
}
///////////////////////////////////////
int state = 0;
void timer1_interrupt(void) // timer interrupt to triger gate
{
if (state == 0) {
state = 1; // turn on gate
Timer1.initialize(PULSE);
digitalWrite(GATE, HIGH);
}
else {
state = 0; // turn off gate
Timer1.stop();
digitalWrite(GATE, LOW);
}
}
Kindly attach the heat sink in it .... it is causing noise
I have used this as AC dimmer and it worked fine. Only issue is missing heat sink on the TRIAC.
I tried to make it work just as a dimmer and I couldn't
Please contact with our complain department.
Seems to be working.
#define DETECT 2 //zero cross detect
#define GATE 9 //TRIAC gate
#define PULSE 500 //trigger pulse width (counts)
int brightness = 0;
#include
void setup(void)
{
pinMode(DETECT, INPUT); //zero cross detect
digitalWrite(DETECT, HIGH); //enable pull-up resistor
pinMode(GATE, OUTPUT); //TRIAC gate control
attachInterrupt(0, zeroCrossingInterrupt, RISING);
Timer1.attachInterrupt(timer1_interrupt); // blinkLED to run every 0.15 seconds
Serial.begin(9600);
}
void loop(void)
{
int variable_value = analogRead(A0);
brightness = map(variable_value, 0, 1023, 0, 9000);
if (brightness > 7500) detachInterrupt(0); // disconnect interrrupt
else attachInterrupt(0, zeroCrossingInterrupt, RISING); // connect interrupt
Serial.println(brightness);
delay(100);
}
//////////////////////////
void zeroCrossingInterrupt() { //zero cross detect interrupt
Timer1.initialize(brightness);
}
///////////////////////////////////////
int state = 0;
void timer1_interrupt(void) // timer interrupt to triger gate
{
if (state == 0) {
state = 1; // turn on gate
Timer1.initialize(PULSE);
digitalWrite(GATE, HIGH);
}
else {
state = 0; // turn off gate
Timer1.stop();
digitalWrite(GATE, LOW);
}
}
Kindly attach the heat sink in it .... it is causing noise