INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Anfänger braucht Hilfe!!!!!
15.11.2014, 17:02
Beitrag #1
Shocked Anfänger braucht Hilfe!!!!!
Hallo Arduinogemeinde!
Ich habe es geschafft die vier Dallas DS18b20 auszulesen und auf dem LCD anzeigen zulassen. Ich möchte nun bei Überschreitung bzw.Unterschreitung ein Relais pro Sensor ein-/ oder ausschalten lassen.
Leider komme ich nicht weiter- im Netz sind nur Beispiele für Temperaturschalter mit dem Sensor Lm35 zufinden.
Ich bin am verzweifeln !!!!- könnte mir einer einen Tip geben?
MfG Jensus





#include <Wire.h>
#include <DS1307new.h>
#include <LiquidCrystal_I2C.h>// binde LCd-Bibliothek ein // initialize the l
#include <OneWire.h>
#include <DallasTemperature.h>

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

const int ONE_WIRE_BUS = 4; // Datenkabel an Pin 4 digital
const int TEMPERATURE_PRECISION = 9; // Aufloesung 9 Bit

OneWire oneWire(ONE_WIRE_BUS); // OneWire-Instanz zur Kommunikation mit Sensoren

DallasTemperature sensors(&oneWire); // OneWire-Referenz an Dallas-Temperatur
DeviceAddress Thermometer_1, Thermometer_2, Thermometer_3,Thermometer_4; // Array für 3 Sensor-Adressen






void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(2,LOW );
digitalWrite(2,HIGH );

Serial.begin(9600); // starten serielle Konsole
lcd.begin(20, 4);

{
RTC.stopClock();

RTC.fillByYMD(2014,11,15);
RTC.fillByHMS(11,43,0);

RTC.setTime();


RTC.startClock();
}

{
RTC.getTime();
}


RTC.ctrl = 0x00;
RTC.setCTRL();


uint8_t MESZ;





sensors.begin();

// ermitteln Adressen nach Index-Verfahren
if (!sensors.getAddress(Thermometer_1, 0)) Serial.println("Finde keine Adresse fuer Thermo-Sensor-1");
if (!sensors.getAddress(Thermometer_2, 1)) Serial.println("Finde keine Adresse fuer Thermo-Sensor-2");
if (!sensors.getAddress(Thermometer_3, 2)) Serial.println("Finde keine Adresse fuer Thermo-Sensor-3");
if (!sensors.getAddress(Thermometer_4, 3)) Serial.println("Finde keine Adresse fuer Thermo-Sensor-4");

printAddress(Thermometer_1);
Serial.println();
Serial.print("Sensor 1 Addresse: ");
printAddress(Thermometer_2);
Serial.println();
Serial.print("Sensor 2 Addresse: "); // zeige die gefundenen Adressen
printAddress(Thermometer_3);
Serial.println();
Serial.print("Sensor 3 Addresse: ");
printAddress(Thermometer_3);
Serial.println();
Serial.print("Sensor 4 Addresse: ");
printAddress(Thermometer_4);
Serial.println();



sensors.setResolution(Thermometer_1, 9); // setze Aufloesung auf 9 Bit
sensors.setResolution(Thermometer_2, 9);
sensors.setResolution(Thermometer_3, 9);
sensors.setResolution(Thermometer_4, 9);

lcd.setCursor(0, 2);
Serial.print("Reef:");
lcd.print("AQ:");
Serial.print(sensors.getResolution(Thermometer_1), DEC);
lcd.setCursor(9, 2);
lcd.print((char)223);
lcd.setCursor(10,2 );
Serial.print("Reef1: ");
lcd.print("AQ1: ");
Serial.print(sensors.getResolution(Thermometer_2), DEC);
lcd.setCursor(19, 2);
lcd.print((char)223);
Serial.println();

lcd.setCursor(0, 3);
Serial.print("LEDs:");
lcd.print("LED:");
lcd.setCursor(9, 3);
lcd.print((char)223);
Serial.println();


Serial.print(sensors.getResolution(Thermometer_3), DEC);
lcd.setCursor(19, 3);
lcd.print((char)223);
Serial.println();

lcd.setCursor(11, 3);
Serial.print("Room");
lcd.print("R:");
Serial.println();

Serial.print(sensors.getResolution(Thermometer_4), DEC);



Serial.println();




if (sensors.getTempCByIndex(0) < 22.00)
{
digitalWrite(2,LOW );

}
if (sensors.getTempCByIndex(0) > 26.00)
{
digitalWrite(2,HIGH );

}
if (sensors.getTempCByIndex(1) > 22)
{
digitalWrite(3, HIGH);

}
if (sensors.getTempCByIndex(1) < 22)
{
digitalWrite(3, LOW);

}
// if (sensors.getTempCByIndex(2) > 21)
{
digitalWrite(5, HIGH);

}
if (sensors.getTempCByIndex(2) < 18)
{
digitalWrite(5, LOW);

}
if (sensors.getTempCByIndex(3) > 21)
{
digitalWrite(6, HIGH);

}
if (sensors.getTempCByIndex(3) < 18)
{
digitalWrite(6, LOW);

}









lcd.setCursor(6, 0);// set the cursor to column 0, line 0
lcd.print("The Reef");


}





void loop()
{

lcd.setCursor(0, 1);
RTC.getTime();
if (RTC.hour < 10)
{
Serial.print("0");
lcd.print("0");
Serial.print(RTC.hour, DEC);
lcd.print(RTC.hour, DEC);
}
else
{
Serial.print(RTC.hour, DEC);
lcd.print(RTC.hour, DEC);
}
Serial.print(":");
lcd.print(":");
if (RTC.minute < 10)
{
Serial.print("0");
lcd.print("0");
Serial.print(RTC.minute, DEC);
lcd.print(RTC.minute, DEC);
}
else
{
Serial.print(RTC.minute, DEC);
lcd.print(RTC.minute, DEC);
}
Serial.print(":");
lcd.print(":");
if (RTC.second < 10)
{
Serial.print("0");
lcd.print("0");
Serial.print(RTC.second, DEC);
lcd.print(RTC.second, DEC);
}
else
{
Serial.print(RTC.second, DEC);
lcd.print(RTC.second, DEC);
}
Serial.print(" ");
lcd.setCursor(10, 1);
if (RTC.day < 10)
{
Serial.print("0");
lcd.print("0");
Serial.print(RTC.day, DEC);
lcd.print(RTC.day, DEC);
}
else
{
Serial.print(RTC.day, DEC);
lcd.print(RTC.day, DEC);
}
Serial.print("-");
lcd.print(".");
if (RTC.month < 10)
{
Serial.print("0");
lcd.print("0");
Serial.print(RTC.month, DEC);
lcd.print(RTC.month, DEC);
}
else
{
Serial.print(RTC.month, DEC);
lcd.print(RTC.month, DEC);
}
Serial.print("-");
lcd.print(".");
Serial.print(RTC.year, DEC);
lcd.print(RTC.year, DEC);
Serial.print(" ");
switch (RTC.dow)
{


}






Serial.println();






Serial.print("Rufe Temperaturen ab ..."); // rufe alle Sensoren auf dem Bus ab
sensors.requestTemperatures();
Serial.println("Erledigt");

printData(Thermometer_1); // Drucke die Sensor-Information
printData(Thermometer_2);
printData(Thermometer_3);
printData(Thermometer_4);


sensors.requestTemperatures();
lcd.setCursor(4, 2);
lcd.print(sensors.getTempCByIndex(0));

lcd.setCursor(14, 2);
lcd.print(sensors.getTempCByIndex(1));

lcd.setCursor(4, 3);
lcd.print(sensors.getTempCByIndex(2));

lcd.setCursor(14, 3);
lcd.print(sensors.getTempCByIndex(3));

}

void printAddress(DeviceAddress deviceAddress) // Funktion zum Druck der Sensor-Adressen
{
for (uint8_t i = 0; i < 8; i++)
{
if (deviceAddress[i] < 16) Serial.print("0"); // Nulle Adresse aus, wenn nötig
Serial.print(deviceAddress[i], HEX);
}
}

void printTemperature(DeviceAddress deviceAddress) // Funktion fuer den Ausdruck der Temperaturwerte

{
float tempC = sensors.getTempC(deviceAddress);
Serial.print("Temperatur C: ");
Serial.print(tempC);

}

void printResolution(DeviceAddress deviceAddress) // drucke Aufloesung der Sensoren

{
Serial.print("Auflösung: ");
Serial.print(sensors.getResolution(deviceAddress));
Serial.println();
}

void printData(DeviceAddress deviceAddress) // Haupt-Funktion zum Ausdruck der Informationen eines Sensors

{
Serial.print("Sensor Adresse: ");
printAddress(deviceAddress);
Serial.print(" Temperatur: ");
printTemperature(deviceAddress);
Serial.println();






} // END LOOP
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Flipper (Pinball) brauche hilfe 7Til7 7 226 08.11.2016 17:06
Letzter Beitrag: Tommy56
  Oszilloskop für 10.-- / Bitte Hilfe bei Sketchzusammenführung recycler 8 2.651 13.03.2016 15:04
Letzter Beitrag: hotsystems
  Anfänger sucht Rat MKnet83 27 4.893 28.01.2016 17:13
Letzter Beitrag: MKnet83
  Anfänger baut CNC Fräse und braucht Hilfe danieljan 6 1.954 13.01.2016 22:48
Letzter Beitrag: danieljan
  Benötige Hilfe bei der Projektumsetzung - Dosierung durch Trapezgewindespindel MadMaetz 19 3.327 14.12.2015 18:54
Letzter Beitrag: Binatone
  Anfänger mit großem Bau Projekt (Useless Box 3.0) Wambo 7 4.156 02.10.2015 16:36
Letzter Beitrag: Klaus(i)
  Hilfe bei Bluetooth Taster Street 14 2.812 11.09.2015 20:07
Letzter Beitrag: hotsystems
  Suche Hilfe: Arduino + Raspberry +RGB LED + Funk wuast94 7 2.579 13.08.2015 23:27
Letzter Beitrag: wuast94
  Ardunio Anfänger mit vielen Fragen zu einem Design Projekt (mit Bildern) farbexot 0 1.541 01.08.2015 13:03
Letzter Beitrag: farbexot
  Brauch mal bitte eure hilfe holzwurm 2 1.607 26.07.2015 20:06
Letzter Beitrag: holzwurm

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste