Czujniki DS18B20 oneWire przez www - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Czujniki DS18B20 oneWire przez www (/watek-czujniki-ds18b20-onewire-przez-www) |
Czujniki DS18B20 oneWire przez www - besix - 06-11-2015 Witam wszystkich użytkowników forum. Na początku napiszę , że jestem elektronikiem, który próbuje sił w programowaniu . Moim może zbyt ambitnym celem jest zbudowanie układu sterującego czterema przekaźnikami włącz- wyłącz(bistabilne) , dwoma monostabilne ( brama, furtka) , oraz podgląd z czterech czujników DS18b20. Baza do tego projektu to arduino UNO R3 + Ethernet Shields , chcę mieć podgląd i sterowanie na tablecie. Znalazłem fajną moim zdaniem apkę o nazwie Blynk . http://www.blynk.cc/ W moim przypadku super sprawa bo nie trzeba serwera . Samo sterowanie (przekaźniki ), jest banalnie proste i każdy może sobie to zrealizować . Podgląd czujników podłączonych na jednym pinie cyfrowym ,widzianych na wirtualnych pinach w blynk , to dla mnie już wyzwanie . Poniższy program umożliwia podgląd z jednego DS18b20 a jak go zmodyfikować do pracy z kilkoma? Bardzo proszę o pomoc i raz jeszcze pozdrawiam Wszystkich Kod: #include <OneWire.h> RE: Czujniki DS18B20 oneWire przez www - jams_arduino - 25-01-2017 Witam ja mam takie coś: używam płytki ESP8266 programowanej przez Arduino IDE i 4 czujniki Dallas DS18b20 i śmiga: a o to kod; #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <OneWire.h> #include <DallasTemperature.h> #include <TimeLib.h> #include <SimpleTimer.h> #define ONE_WIRE_BUS 0 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = { 0x28, 0xFF, 0xF1, 0x59, 0x00, 0x16, 0x01, 0x70 }; // adres danego czujnika Dallas DeviceAddress Thermometer2 = { 0x28, 0xFF, 0x54, 0x4A, 0x00, 0x16, 0x01, 0x21 }; DeviceAddress Thermometer3 = { 0x28, 0xFF, 0x27, 0x74, 0x33, 0x16, 0x03, 0xD9 }; DeviceAddress Thermometer4 = { 0x28, 0xFF, 0xD8, 0xAE, 0x33, 0x16, 0x04, 0x89 }; // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "xxxxxxxxxxxxxxxxxx"; // token z aplikacji SimpleTimer timer; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "xxxxxxxxxx"; char pass[] = "xxxxxxxxxx"; void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); sensors.begin(); sensors.setResolution(12); // tu ustalamy rozdzielczość odczytu od 9 do 12 bitów timer.setInterval(5000L, sendTemps); // Temperature sensor polling interval (5000L = 5 seconds) } void sendTemps() { sensors.requestTemperatures(); // Polls the sensors /* float temp1 = sensors.getTempCByIndex(0); float temp2 = sensors.getTempCByIndex(1); float temp3 = sensors.getTempCByIndex(2); float temp4 = sensors.getTempCByIndex(3);// odczyt temperatury według indeksu */ float temp1 = sensors.getTempC(Thermometer1); // odczyt temp według adresu ( osobiście wolę adres) float temp2 = sensors.getTempC(Thermometer2); float temp3 = sensors.getTempC(Thermometer3); float temp4 = sensors.getTempC(Thermometer4); Blynk.virtualWrite(1, temp1); Blynk.virtualWrite(2, temp2); Blynk.virtualWrite(3, temp3); Blynk.virtualWrite(4, temp4); } void loop() { Blynk.run(); timer.run(); } RE: Czujniki DS18B20 oneWire przez www - krzyspx - 26-01-2017 (25-01-2017, 16:56)jams napisał(a): DeviceAddress Thermometer1 = { 0x28, 0xFF, 0xF1, 0x59, 0x00, 0x16, 0x01, 0x70 }; // adres danego czujnika DallasJest jakiś powód by wpisywać adresy czujników z ręki? Biblioteka Dallastemperature.h sama odnajduje adresy zainstalowanych czujników. |