Hello there ,
I'm working on a project ( it is a work in progress).
Where i am using a temperature sensor. The problem is it was working fine but now it keeps giving me he same value. It's was working correct before , so it is probably something small. But i can't find it...
the temperature is calculated in Celsius. And the average value is displayed on the monitor.
I think the mistake is in this part of the code
{
sensorInput = analogRead(A0);
temp = (double)sensorInput / 1024; // sensor waarde
temp = temp * 5;
temp = temp - 0.5;
temp = temp *100;
AvrNum = temp; // waarden van de tempratuur worden opgeslagen
counter++; // telt + 1 bij de counter op bij elke loop
Serial.print(AvrNum);
if (counter == 10) { // als er 100 outputs waarden zijn gelezen
long AvrCap= AvrNum/10; // het gedeelt door 100 om een constantere gemiddelde waarde produceren
Serial.print("Tempratuur: ");
Serial.println(AvrCap);
counter = 0;
AvrNum = 0;
delay(500);
}
But here is the rest
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 4, 3, 2, A4, A5);
int LCDRow = 0;
int sensorPin = A2;
int sensorInput;
double temp;
int reading = 0;
String readString;
int n = 0 ;
int number = 0;
int inputVariable;
long AvrNum;
int counter;
//voor de keypad
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins[ROWS] = {A0, A1, 11, 10}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
String inputString;
long inputInt;
void setup()
{
Serial.begin(9600);
pinMode(A2, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(13,OUTPUT);
inputString.reserve(125); // hoogste getal dat kan worden ingevoerd
AvrNum = 0;
counter = 0;
lcd.begin(16, 2);
lcd.setCursor(LCDRow, 0);
}
void loop()
{
sensorInput = analogRead(A0);
temp = (double)sensorInput / 1024; // sensor waarde
temp = temp * 5;
temp = temp - 0.5;
temp = temp *100;
AvrNum = temp; // waarden van de tempratuur worden opgeslagen
counter++; // telt + 1 bij de counter op bij elke loop
Serial.print(AvrNum);
if (counter == 10) { // als er 100 outputs waarden zijn gelezen
long AvrCap= AvrNum/10; // het gedeelt door 100 om een constantere gemiddelde waarde produceren
Serial.print("Tempratuur: ");
Serial.println(AvrCap);
counter = 0;
AvrNum = 0;
delay(500);
}
if (temp >n ) { // als de tempratuur hoger is dan de ingestelde temperatuur
Serial.println("n lager dan temp"); // print dat n lager is dan de temperatuur
digitalWrite( 13, HIGH); // Zet de lamp (of zaag) uit
}
else { // anders dus als de tempratuur lager is dan de ingestelde temperatuur
Serial.println("n hoger dan temp"); //print dat n hoger is dan de temperatuur
digitalWrite( 13, LOW); // zet lamp (of zaag) aan
}
char customKey = customKeypad.getKey();
if (customKey){
Serial.println(customKey);
if (customKey >= '0' && customKey <= '9') { // als waarde keypad tussen 9 en 0 ligt
inputString += customKey; // 2 strings samenvoegen
Serial.print("Ingestelde tempratuur: "); //controle van de ingestelde tempratuur
Serial.println(inputString);
}
if (inputString.length() > 3){
inputString= "";
}
else if (customKey == '#') //als waarde # is
{
if (inputString.length() >0) // en als de lengte van de string hoger dan 0 is
{
int number = inputString.toInt(); // zet de strin om in een geheel getal
inputVariable = number; // de totale waarde van de string wordt omgezet in een input waarde
n = inputVariable; // input waarde wordt ingevoerd in n
}
else (inputString.length() >3);{ // als de lengte van de string langer is dan 3 karakters, wordt de string gereset op 0
inputString= "";
}
if (n > 125) { // Als de ingevoerde waarde hoger is dan de maximale waarde 125 graden. wordt 125 graden ingevuld.
n=125;
}
} if (customKey == '*') { // als * wordt ingetoetst
n=0; // wordt n gereset op 0
inputString = ""; // de string waarde wordt op 0 gezet.
Serial.print("Reset");
Serial.println(inputString); // controle als de string daadwerkelijk 0 is
}
}
}
Please KNOW, that there is still a load of different shit in this code that i need to clean up. Or code better.
BUT I AM A NOOB so please be kind
Setup
Thinkercad setup