4 Dec 2023
Need to 240v power return heat from accum relay from Barn relay
Accumulator pump control Jan 2023

Degrees = Alt-Shift-8 °
LH Accum pump controlled by lower middle cylinder thermostat when less than 60° returns heat from accumulator. Pumps into bottom of accumulator
RH Accum pump runs when over temp alarm shows (more than 78°) ie when too hot leds lit, it pumps towards the right, ie from accum bottom to boiler bottom
//copied off off Boiler_10Dec_2021
int myPin = A2; // INPUT Analogue Sensor
int stoke = 2; // INPUT Stoking Temp Sensor (below 64° middle of tank)
int accum = 3; // OUTPUT accumulator Relay
int runPin = 4; // INPUT Heat Available Temp Sensor (Top of store above 56°)
int annex = 5; // INPUT Annex Pump
int house = 6; // INPUT House Pump
int housePump = 7; // OUTPUT housePump Relay
int clok = 8; // INPUT from Clock
int tooHot = 9; // INPUT Boiler too hot (over Temp stat over 84° middle of tank)
int hotAlarm = 10; // OUTPUT too hot alarm in porch
int ledPin = 13; // OUTPUT Indicator LED
int dt = 500; // Delay of 500secs
void setup() {
Serial.begin(9600);
pinMode(myPin,INPUT); // pin A2
pinMode(stoke,INPUT); // stat acts 74° pin 2
pinMode(runPin, INPUT); // stat acts at 56° pin 4
pinMode(annex,INPUT); // pin 5
pinMode(house,INPUT); // pin 6
pinMode(housePump, OUTPUT); // Blue Relay Wire housePump pin 7
pinMode(clok,INPUT); // clock input high = on pin8
pinMode(tooHot, INPUT); // stat acts at 84° pin 9
pinMode(hotAlarm, OUTPUT); // Green Relay Wire pin 10
pinMode(ledPin, OUTPUT); // Indicator LED pin13
pinMode(accum, OUTPUT); // Accumulator Relay Wire pin 3
}
void loop() {
int analog = analogRead(myPin); // Reads data from myPin (A2) pin and puts in analog Int
int readRun = digitalRead(runPin); // Reads data from runPin (4) and puts it in readRun Int
int readStoke = digitalRead(stoke); // Reads data from stoke (2) and puts in readStoke Int
int readHouse = digitalRead(housePump); // Reads data from house (6) and puts in readHouse Int
int readClock = digitalRead(clok); // Reads data from clok (8) and puts in readClock Int
int readHot = digitalRead(tooHot); // Reads data from hotAlarm (9) and puts it in readHot Int
Serial.println("System Running ( pin4 high)...........................");
Serial.println("Boiler_24_Feb_ with Accum pump Relay ");
Serial.print("Run = ");
Serial.println(readRun);
Serial.print("Hot Alarm = ");
Serial.println(readHot);
Serial.print("Alarm LED = ");
Serial.println(readHot);
Serial.print("clock = ");
Serial.println(readClock);
Serial.print("housePump Relay = ");
Serial.println(readHouse);
if (readStoke == 0){
Serial.println("Boiler Requires Stoking");
Serial.println( );
delay(dt);
digitalWrite(ledPin,HIGH); // short flash led PIN 13 when boiler needs stoking
delay(dt/16);
digitalWrite(ledPin,LOW);
delay(dt*12);
}
else{
digitalWrite(ledPin,LOW); // stops flash
Serial.println( );
delay(dt*2);
}
if (readHot == 1){
Serial.println("Boiler too Hot");
digitalWrite(hotAlarm,LOW); // Red Alarm LED on pin 10, also shows in porch
}
else{
digitalWrite(hotAlarm,HIGH); // Turns Alarm LED off
}
if (readHot == 1){
digitalWrite(accum,LOW); // accumulator Pump on
}
else{
digitalWrite(accum,HIGH); // accumulator Pump off
}
//housePump
if (readClock == 1){
digitalWrite(housePump,LOW); // housePump Pump relay 7 on
}
else{
digitalWrite(housePump,HIGH); // housePump Pump relay 7 off
}
}

Latest arduino sketch Winter 2021
Boiler_10Dec_2021
// stoke flash time shortended, flash period extended,
int myPin = A2; // INPUT Analogue Sensor
int stoke = 2; // INPUT Stoking Temp Sensor (Bottom of store below 64deg)
int runPin = 4; // INPUT Heat Available Temp Sensor (Top of store above 58deg)
int annex = 5; // INPUT Annex Pump
int house = 6; // INPUT House Pump
int alarm = 7; // OUTPUT Alarm Light Relay
int clok = 8; // INTPUT from Clock
int veryHot = 9; // INPUT Boiler too hot (above 84°deg heat exchanger out to house)
int logStoreUFH = 10; // OUTPUT Log Store UFH Relay
int ledPin = 13; // OUTPUT Indicator LED
//int pin3 = 3 OUTPUT accumulator Relay
int dt = 500; // Delay of 500secs
void setup() {
Serial.begin(9600);
pinMode(myPin,INPUT); // pin A2
pinMode(stoke,INPUT); // stat acts 70deg pin 2
pinMode(runPin, INPUT); // stat acts at 60deg pin 4
pinMode(annex,INPUT); // pin 5
pinMode(house,INPUT); // pin 6
pinMode(alarm, OUTPUT); // Blue Relay Wire pin 7
pinMode(veryHot, INPUT); // stat acts at 81deg pin 9
pinMode(logStoreUFH, OUTPUT); // Green Relay Wire pin 10
pinMode(ledPin, OUTPUT); // Indicator LED pin13
// Yellow Relay Wire pin 3
}
void loop() {
int analog = analogRead(myPin); // Reads data from myPin (A2) pin and puts in analog Int
int readRun = digitalRead(runPin); // Reads data from runPin (4) and puts it in readRun Int
int readStoke = digitalRead(stoke); // Reads data from stoke (2) and puts in readStoke Int
int readAlarm = digitalRead(alarm); // Reads data from alarm (7) and puts in readAlarm Int
int readHot = digitalRead(veryHot); // Reads data from veryHot (9) and puts it in readHot Int
int readUFH = digitalRead(veryHot); // Reads data from veryHot (9) and puts it in readUFH Int
//if (readRun == 1){
Serial.println(“System On”);
//digitalWrite(houseUFH,HIGH); // Turns pin3off if readRun = 0
if (readStoke == 0){ //
Serial.println(“Boiler Requires Stoking”);
Serial.println( );
delay(dt);
digitalWrite(ledPin,HIGH); // short flash led PIN 13 when boiler needs stoking
delay(dt/12);
digitalWrite(ledPin,LOW);
delay(dt*12);
}
else{
digitalWrite(ledPin,LOW); // digitalWrite(alarm,HIGH);
}
if (readHot == 1){
Serial.println(“Log Store Pump Turned On”);
digitalWrite(logStoreUFH,LOW); // Turns Log Store Pump on pin 10
}
else{
digitalWrite(logStoreUFH,HIGH); // Turns Log Store Pump off
}
Serial.print(“Run = “);
Serial.println(readRun);
Serial.print(“Storing = “);
Serial.println(readHot);
}
last sketch on iMac RelieFapr08
Push button code for insertion into Logboilerjan2021
NicorAlarm working but cancel button no effect
- RoboJax Index – https://www.youtube.com/channel/UCkcBSig_Iu4ZnAIeCeG1TVg
- RoboJaxCode
- Robojax millis
- stepperMotor https://www.youtube.com/watch?v=Sl2mzXfTwCs
- 17 March 2021 – latest sketch
- Robo different off time https://www.youtube.com/watch?v=rUtDfadf8Jk
- Millis Tutorial explained in 3 steps
- Vigas1 sketch. : Sets up the pins and starts a serial print counter Dec 2020
- While Loop Tutorial
Working Versions of my boiler sketch; V2relayPrint; V2relayP2
Comparison Operators
!= (not equal to)
< (less than)
<= (less than or equal to)
== (equal to)
> (greater than)
>= (greater than or equal to)

Instructions for LAE MTC12 dual output stat currently switching set point of boiler( cylinder central at 65°)
current sketch in boiler room = Boiler_10Dec_2021
























































































