minulla toimii toivotulla tavalla
- lambda säätää toisioilmaa, ylempi läppä kuvassa
- savukaasun mukaan arduinolla arinan alle menevää ilmaa vanhalla bl-deckerin ruuvinvääntimellä
seuraavanlaisella reseptillä
int npin = 5;
int ppin = 6;
int tolerance = 10;
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
/*
#include <math.h>
double Thermistor(int RawADC) {
double Temp;
Temp = log(10000.0*((1024.0/RawADC-1)));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;
return Temp;
}
*/
void setup(){
lcd.begin(16, 2);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(A0,INPUT);
pinMode(A1,INPUT);
Serial.begin(9600);
}
void loop(){
delay(30000);
int val = analogRead(A0);
int set = analogRead(A1);
int temp = analogRead(A0)-1.25/0.005;
int pyynti = ((set)-1.25/0.005);
int motor = (set-val);
if((abs(set - val) <= tolerance) || (abs(val - set) <= tolerance))
{
digitalWrite(ppin, LOW);
digitalWrite(npin, LOW);
}
else if (set > val)
{
digitalWrite(npin, HIGH);
digitalWrite(ppin, LOW);
delay(2000);
digitalWrite(ppin, LOW);
digitalWrite(npin, LOW);
}
if(set < val)
{
digitalWrite(ppin, HIGH);
digitalWrite(npin, LOW);
delay(2000);
digitalWrite(ppin, LOW);
digitalWrite(npin, LOW);
}
lcd.clear();
lcd.print("Savukaasu=");
lcd.print(temp);
lcd.print(" C ");
lcd.setCursor(0, 1);
lcd.print("Pyynti=");
lcd.print (pyynti);
lcd.print(" C ");
Serial.println(motor);
}