05-02-2017, 21:48
(Ten post był ostatnio modyfikowany: 11-02-2017, 15:23 przez CEO.
Powód edycji: Używamy znaczników kodu!
)
Witam.
Na wstępie chciałbym zaznaczyć że jestem początkującym i umie tyle ile mogłem nauczyć się z internetu oraz własnych doświadczeń.
Chciałbym przedstawić mój projekt sterownika pompy CO oraz poprosić o pomoc w rozwiązaniu pewnych problemów jakie zauważyłem. A mianowicie chodzi mi o odczyt wartości potencjometru który ma nastawiać docelową temperaturę załączania pompy. Odczyt jest opóźniony i często przekręcam wartość docelową i muszę "szukać" wartości jaką potrzebuję. Ponadto chciałbym zrobić ręczne załączenie pompy.
To kod:
Na wstępie chciałbym zaznaczyć że jestem początkującym i umie tyle ile mogłem nauczyć się z internetu oraz własnych doświadczeń.
Chciałbym przedstawić mój projekt sterownika pompy CO oraz poprosić o pomoc w rozwiązaniu pewnych problemów jakie zauważyłem. A mianowicie chodzi mi o odczyt wartości potencjometru który ma nastawiać docelową temperaturę załączania pompy. Odczyt jest opóźniony i często przekręcam wartość docelową i muszę "szukać" wartości jaką potrzebuję. Ponadto chciałbym zrobić ręczne załączenie pompy.
To kod:
Kod:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#define ONE_WIRE_BUS 11
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int odczytanaWartosc = A0;
float tempz = 0;
void setup(void)
{
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
lcd.begin(20, 4);
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("T.Pieca =");
lcd.setCursor(0,1);
lcd.print("T.Boilera =");
lcd.setCursor(0,2);
lcd.print("Stan pompy =");
lcd.setCursor(0,3);
lcd.print("Start pompy");
sensors.begin();
}
void loop(void)
{
odczytanaWartosc = analogRead(A0);
tempz = odczytanaWartosc * (100.0/1024.0);
sensors.requestTemperatures();
lcd.setCursor(14,0);
lcd.print(sensors.getTempCByIndex(0));
lcd.setCursor(14,1);
lcd.print(sensors.getTempCByIndex(1));
if (sensors.getTempCByIndex(0)>=tempz){digitalWrite(12,LOW);
lcd.setCursor(14,2);
lcd.print("PRACA");
}
if (sensors.getTempCByIndex(0)<=tempz -6){digitalWrite(12,HIGH);
lcd.setCursor(14,2);
lcd.print("STOP ");
}
{lcd.setCursor(14,3);
lcd.print(tempz);}
delay(10);
}