123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- #include <TouchKey.h>
- #define TEMP_PIN 11
- #define HEATER_PIN 34
- #define LED_PREHEAT 15
- #define LED_REFLOW 16
- #define HOLDSTART_TIME 100
- #define COOLDOWN_TEMP_ADC 255
- #define PREHEAT_TEMP_ADC 155
- #define PREHEAT_PWR_PWM 150
- #define REFLOW_TEMP_ADC 123
- #define REFLOW_PWR_PWM 255
- #define CUTOFF_TEMP_ADC 100
- void updateHeaterPowerState();
- void updateKeyStates();
- int readTemp();
- bool reflowing = false;
- int startCountdown = HOLDSTART_TIME;
- int currentHeatplateTemp = 0;
- int cycleCounter = 0;
- bool blinkState = false;
- bool reflowComplete = false;
- int targetTempADC = 255;
- int targetPwrPWM = 0;
- int offset = 1;
- void setup() {
-
-
- TouchKey_begin((1 << 2) | (1 << 5));
-
- pinMode(LED_PREHEAT, OUTPUT);
- pinMode(LED_REFLOW, OUTPUT);
- digitalWrite(LED_PREHEAT, LOW);
- digitalWrite(LED_REFLOW, LOW);
-
- pinMode(TEMP_PIN, INPUT);
-
- pinMode(HEATER_PIN, OUTPUT);
- digitalWrite(HEATER_PIN, LOW);
- }
- void loop() {
-
- updateKeyStates();
-
- if (reflowing){
-
- updateHeaterPowerState();
- }else{
-
- digitalWrite(HEATER_PIN, LOW);
- if (cycleCounter%200 == 0){
- if (reflowComplete){
-
- if (blinkState){
- digitalWrite(LED_REFLOW, HIGH);
- }else{
- digitalWrite(LED_REFLOW, LOW);
- }
- }else{
-
- if (blinkState){
- digitalWrite(LED_PREHEAT, HIGH);
- }else{
- digitalWrite(LED_PREHEAT, LOW);
- }
- }
-
- blinkState = !blinkState;
- }
- delay(10);
- }
-
-
- cycleCounter++;
- if (cycleCounter > 10000){
- cycleCounter = 0;
- }
- }
|