Teplovzdusny kolektor
Napsal: 03 zář 2012, 08:02
Caute
Znamy si chce postavit vlastny teplovzdusny kolektor a mna poprosil ci by som mu nespravil hw.Vsetko testujem na Arduine Uno.Fan mi pekne reaguje na zvisujucu sa teplotu ale ja som chcel pridat este potenciometer a druhe cidlo.Na potenciometry by sa nastavila pozadovana teplota v izbe a porovnavalo by to podla toho druheho cidla.To sa mi vsak nedari nakolko som pokrocilejsi zaciatocnik.Moze mi niekdo poradit ako spravit takuto podmienku?Dakujem
Zdrojak:
Znamy si chce postavit vlastny teplovzdusny kolektor a mna poprosil ci by som mu nespravil hw.Vsetko testujem na Arduine Uno.Fan mi pekne reaguje na zvisujucu sa teplotu ale ja som chcel pridat este potenciometer a druhe cidlo.Na potenciometry by sa nastavila pozadovana teplota v izbe a porovnavalo by to podla toho druheho cidla.To sa mi vsak nedari nakolko som pokrocilejsi zaciatocnik.Moze mi niekdo poradit ako spravit takuto podmienku?Dakujem
Zdrojak:
Kód: Vybrat vše
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Cidlo1= { 0x28, 0x64, 0xDB, 0xF1, 0x02, 0x00, 0x00, 0x9E };
DeviceAddress Cidlo2= { 0x28, 0x13, 0x13, 0x24, 0x03, 0x00, 0x00, 0xB4 };
int pot = 0;
void setup(void)
{
Serial.begin(9600);
sensors.begin();
sensors.setResolution(Cidlo1, 10);
sensors.setResolution(Cidlo2, 10);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print(tempC);
}
void loop(void)
{
int hodnota = analogRead(A0); //precita z A0 a vysledok uloží do "hodnota"
delay(1000);
sensors.requestTemperatures();
Serial.print("Pokoj ");
printTemperature(Cidlo1);
Serial.print("\n\r");
Serial.print("Kolektor ");
printTemperature(Cidlo2);
Serial.print("\n\r");
int otacky = map(sensors.getTempC(Cidlo1), 0, 30, 0, 255);
analogWrite(11, otacky);
}