123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- int readTemp() {
- int numReadings = 10;
- int totalSensorValue = 0;
-
- for (int i = 0; i < numReadings; ++i) {
- totalSensorValue += analogRead(TEMP_PIN);
- delay(10);
- }
-
- int averageSensorValue = totalSensorValue / numReadings;
-
- return averageSensorValue;
- }
- bool updateHeaterPowerState(){
- int currentADC = readTemp();
- if (currentADC <= CUTOFF_TEMP_ADC){
- digitalWrite(HEATER_PIN, LOW);
- USBSerial_println("!!! OVERHEAT !!!");
- digitalWrite(LED_PREHEAT, HIGH);
- digitalWrite(LED_REFLOW, HIGH);
- return false;
- }
- if (currentADC > targetTempADC + offset){
-
- analogWrite(HEATER_PIN, targetPwrPWM);
-
-
- return false;
- }else if (currentADC < targetTempADC - offset){
-
- analogWrite(HEATER_PIN, 0);
-
-
- return false;
- }else{
-
- return true;
- }
- }
- void updateKeyStates(){
- TouchKey_Process();
- uint8_t touchResult = TouchKey_Get();
-
- if (touchResult & (1 << 2)) {
- startCountdown--;
- if (startCountdown <= 0 && !reflowing){
-
- USBSerial_println("!!! Reflow Started !!!");
- reflowing = true;
- startCountdown = 0;
- playStartingLEDBlinks();
- targetTempADC = PREHEAT_START_ADC;
- targetPwrPWM = PREHEAT_PWR_PWM;
- reflowStages = 1;
-
- blinkYellow = false;
- blinkRed = false;
- fastblinkRed = false;
- digitalWrite(LED_PREHEAT, HIGH);
-
- }
- } else {
-
- startCountdown = HOLDSTART_TIME;
- }
-
- if (touchResult & (1 << 5)) {
- reflowing= false;
- USBSerial_println("Reflow Stopped");
-
- targetTempADC = COOLDOWN_TEMP_ADC;
- targetPwrPWM = 0;
-
- digitalWrite(LED_REFLOW, LOW);
- digitalWrite(LED_PREHEAT, LOW);
- blinkYellow = true;
- blinkRed = false;
- fastblinkRed = false;
-
- reflowStages = 0;
- }
- }
|