0
Offline
Newbie
Karma: 0
Posts: 2
Arduino rocks
|
 |
« Reply #96 on: February 04, 2010, 03:30:17 am » |
Hi Bluefish,
Finally what version of code do you suggest to use. I am also interested in Furnace control. I am using simplified version of code and it is not working for me @ 100% output. I get the same wattage at both 70% output and 100% output. Can anybody suggest whats wrong with this code
#include <TimerOne.h> byte oput=0; byte cntr=0; unsigned long int DimStep=1000000/102/256; long int starttime; volatile unsigned long int DimStepCounter; volatile unsigned long int FireTriac = 0; volatile boolean zero_cross = 0; byte TriacPin = 14; byte PowerMap[256] = { 255,245,241,237,235,232,230,228,226,224,223,221,220,218,217,215,214,213,211,210,209,208,207,205,204,203,202,201,200,199,198,197, 196,195,194,193,192,192,191,190,189,188,187,186,185,185,184,183,182,181,181,180,179,178,177,177,176,175,174,174,173,172,171,171, 170,169,168,168,167,166,165,165,164,163,163,162,161,161,160,159,158,158,157,156,156,155,154,154,153,152,152,151,150,150,149,148, 148,147,146,146,145,144,144,143,143,142,141,141,140,139,139,138,137,137,136,135,135,134,134,133,132,132,131,130,130,129,128,128, 127,127,126,125,125,124,123,123,122,121,121,120,120,119,118,118,117,116,116,115,114,114,113,112,112,111,111,110,109,109,108,107, 107,106,105,105,104,103,103,102,101,101,100,99,99,98,97,97,96,95,94,94,93,92,92,91,90,90,89,88,87,87,86,85,84,84,83,82,81,81,80, 79,78,78,77,76,75,74,74,73,72,71,70,70,69,68,67,66,65,64,63,63,62,61,60,59,58,57,56,55,54,53,52,51,50,48,47,46,45,44,42,41,40,38, 37,35,34,32,31,29,27,25,23,20,18,14,10,0 };
void setup() { Serial.begin(9600); Timer1.initialize(DimStep); attachInterrupt(0, zero_cross_detect, FALLING); pinMode(TriacPin, OUTPUT); Timer1.attachInterrupt(fire_triacs, DimStep); Serial.println("Hello"); oput=100*2.56; FireTriac = PowerMap[oput]; } void zero_cross_detect() { DimStepCounter = 0; }
void fire_triacs() { if ( FireTriac == DimStepCounter ) { digitalWrite(TriacPin, HIGH); delayMicroseconds(2); digitalWrite(TriacPin, LOW); } DimStepCounter++; }
void loop() { }
|