08-05-2018, 19:04
(Ten post był ostatnio modyfikowany: 09-05-2018, 06:06 przez Robson Kerman.
Powód edycji: znaczniki
)
Witam chce napisać program dzięki któremu będę mógł odczytywać temperaturę z czujników DS18B20 w kilku miejscach jednocześnie(powiedzmy 3 ale fajnie jakby program był dla n-czujników). Mam takie założenie aby w konsoli wyświetlało mi się np.:
"Czas 1h23min30s
Czujnik Pierwszy: 24°C
Czujnik Drugi: 23.5°C
Czujnik Trzeci 24 °C
Czas 1h23min32s
Czujnik Pierwszy: 24.5°C
Czujnik Drugi: 24°C
Czujnik Trzeci 24°C "
I tak dalej opóźnienie myślę ustawić na 2 sekundy dokładność domyślna to 0.5 °C nie będę tego zmieniał. Czas może być mierzony od momentu podłączenia ardurino. Do tego programu są potrzebne 2 biblioteki OneWire oraz DallasTemperature. Zacząłem już coś tworzyć ale słabo bardzo by mi zależało na tym czy w jakiś sposób mogę tą godzina sterować aby się tak wyświetlała. Poniżej program jaki mam (nie ma szału)
"Czas 1h23min30s
Czujnik Pierwszy: 24°C
Czujnik Drugi: 23.5°C
Czujnik Trzeci 24 °C
Czas 1h23min32s
Czujnik Pierwszy: 24.5°C
Czujnik Drugi: 24°C
Czujnik Trzeci 24°C "
I tak dalej opóźnienie myślę ustawić na 2 sekundy dokładność domyślna to 0.5 °C nie będę tego zmieniał. Czas może być mierzony od momentu podłączenia ardurino. Do tego programu są potrzebne 2 biblioteki OneWire oraz DallasTemperature. Zacząłem już coś tworzyć ale słabo bardzo by mi zależało na tym czy w jakiś sposób mogę tą godzina sterować aby się tak wyświetlała. Poniżej program jaki mam (nie ma szału)
Kod:
#include <OneWire.h> //Wczytanie biblioteki
#include <DallasTemperature.h> //Wczytanie biblioteki
OneWire oneWire(2); //Komunikacja z czujnikami będzie się odbywać przez 2 port
DallasTemperature sensors(&oneWire); //Przekazywanie informacji do biblioteki za pomocą której
//lini się będziemy komunikować
void setup(void)
{
Serial.begin(9600);
sensors.begin(); //Uruchomienie czujników czujnikow
}
unsigned long aktualnyCzas = 0;
void loop(void)
{
sensors.requestTemperatures(); //Pobranie temperatury czujnika
aktualnyCzas = millis();
Serial.println(aktualnyCzas);
Serial.println(sensors.getTempCByIndex(0)); //Wyswietlenie informacji z czujnik 0
delay(1000);
}