11-02-2016, 13:01
Witam
Pozdrawiam :-)
Kod:
// --- najpierw to na początku programu : (tam gdzie definuijesz P1,P2,P3)
// ten twój kawalek kodu zamieniasz na to:
DeviceAddress P[3];
P[0] = { 0x28, 0xFF, 0xB2, 0x4C, 0x65, 0x14, 0x1, 0x6F };
P[1] = { 0x28, 0xFF, 0xE, 0x97, 0x65, 0x14, 0x1, 0x94 };
P[2] = { 0x28, 0xFF, 0x6E, 0x35, 0x65, 0x14, 0x1, 0x2B };
// --- potem w miejscu gdzie masz definicję pinów dla wentylatorow dodajesz to:
int w[3]={went_1, went_2, went_3};
// --- a potem to zamiast tych 3 powtarzających się bloków dajesz to:
// jesli o czymś nie zapomnialem to powinno się skompilować bez błędu----
for(int u=0;u<3;u++)
{
float temp = sensors.getTempC(P[u]);
lcd.setCursor (0, u+1);
lcd.write(byte(0));
lcd.print(" ");
lcd.print(temp, 2);
lcd.write(byte(223));
if (sensors.getTempCByIndex(u) < (nastaw+histereza)) {
histereza=0;
digitalWrite(w[u], HIGH);
int val = digitalRead(w[u]);
if (val)
lcd.setCursor(9, u+1);
lcd.print("Ok ");
}
else {
lcd.setCursor(9, u+1);
lcd.print("Wla");
histereza=-2;
digitalWrite(w[u], LOW);
}
}
// ----koniec -----------------------------------------------