12-03-2017, 13:39
Na monitorze portu mam takie odczyty:
a: 20.81
b: 20.69
C: 25.25
-127.00
a: 20.81
b: 20.62
C: 25.25
-127.00
Na wyświetlaczu widnieje pod czujnikiem -127
Jakieś pomysły?
a: 20.81
b: 20.69
C: 25.25
-127.00
a: 20.81
b: 20.62
C: 25.25
-127.00
Na wyświetlaczu widnieje pod czujnikiem -127
Jakieś pomysły?
Kod PHP:
#include <LiquidCrystal_I2C.h>
#include <Wire.h> //
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DS18B20.h>
#include "max6675.h"
//Definicje, definicje:
#define SO_PIN 2 // 6675 Serial Output
#define CS_PIN 3 // 6675 Chip Select
#define CK_PIN 4 // 6675 Clock Pin
#define TOO_HOT 75.0 // To try limit calculation
#define TOO_COLD 62.5
MAX6675 thermocouple(CK_PIN, CS_PIN, SO_PIN);
float DegreesC;
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
OneWire oneWire(7); //Podłączenie do 7
DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki
DeviceAddress a = { 0x28, 0xFF, 0x6E, 0xE5, 0x33, 0x16, 0x4, 0x2E };
DeviceAddress b = { 0x28, 0xFF, 0x3, 0xE7, 0x33, 0x16, 0x4, 0xD4 };
void setup(void) {
Serial.begin(9600);
sensors.begin(); //Inicjalizacja czujnikow
lcd.begin(16, 2); //Deklaracja typu
lcd.setCursor(0,0);
lcd.print("W=");
lcd.print(sensors.getTempCByIndex(0));
lcd.setCursor(0,1);
lcd.print("P=");
lcd.print(sensors.getTempCByIndex(1));
lcd.setCursor(8,1);
lcd.print("S=");
lcd.print(sensors.getTempCByIndex(3));
}
void loop(void) {
sensors.requestTemperatures(); //Pobranie temperatury czujnika
Serial.print("a: ");
Serial.println(sensors.getTempCByIndex(0)); //Wyswietlenie informacji
delay(500);
Serial.print("b: ");
Serial.println(sensors.getTempCByIndex(1)); //Wyswietlenie informacji
delay(500);
DegreesC = thermocouple.readCelsius();
Serial.print("C: ");
Serial.println(DegreesC);
Serial.println(sensors.getTempCByIndex(3));
delay(500);
}