Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h>
- #define triacPulse A0
- #define ZCD 2 // Zero Cross Detector
- #define RECV_PIN 7 // IR Pin
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- unsigned long key_value = 0;
- const byte ZCDinterruptPin = 2;
- int x=0;
- bool speed1 = false;
- bool speed2 = false;
- bool speed3 = false;
- void setup() {
- Serial.begin(9600);
- irrecv.enableIRIn();
- irrecv.blink13(true);
- pinMode(ZCD, INPUT_PULLUP);
- pinMode(triacPulse, OUTPUT);
- // attachInterrupt(digitalPinToInterrupt(ZCDinterruptPin), acon, FALLING); // attach Interrupt at PIN2
- }
- void loop() {
- if (irrecv.decode(&results)) {
- if (results.value == 0XFFFFFFFF)
- results.value = key_value;
- if ((results.value == 0x88C0051)) { // Button 1
- // TODO
- }
- if ((results.value == 0x88C000C)) { // Button 2 -Speed1
- speed1 = true;
- speed2 = false;
- speed3 = false;
- }
- if ((results.value == 0x8810089)) { // Button 3 -Speed2
- speed1 = false;
- speed2 = true;
- speed3 = false;
- }
- if ((results.value == 0x8808350)) { // Button 4 -Speed3
- speed1 = false;
- speed2 = false;
- speed3 = true;
- }
- key_value = results.value;
- irrecv.resume();
- }
- if (speed1 == true && speed2 == false && speed3 == false) { // speed 1
- x = 6600;
- attachInterrupt(digitalPinToInterrupt(ZCDinterruptPin), acon, FALLING); // attach Interrupt at PIN2
- }
- if (speed1 == false && speed2 == true && speed3 == false) { // speed 2
- x = 4800;
- attachInterrupt(digitalPinToInterrupt(ZCDinterruptPin), acon, FALLING); // attach Interrupt at PIN2
- }
- if (speed1 == false && speed2 == false && speed3 == true) { // speed 3
- x = 2500;
- attachInterrupt(digitalPinToInterrupt(ZCDinterruptPin), acon, FALLING); // attach Interrupt at PIN2
- }
- }
- void acon()
- {
- detachInterrupt(digitalPinToInterrupt(ZCDinterruptPin));
- delayMicroseconds(x); //
- digitalWrite(triacPulse, HIGH);
- delayMicroseconds(50); //delay 50 uSec on output pulse to turn on triac
- digitalWrite(triacPulse, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement