pokud by někdo věděl, jak zkalibrovat čidla za radu předem děkuji .
Kód: Vybrat vše
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SoftwareSerial.h>
// nastavení čísel propojovacích pinů
#define RX 11
#define TX 10
// vytvoření objektu swSerial z knihovny s nastavenými piny
SoftwareSerial swSerial(RX, TX);
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
// Addresses of 3 DS18B20s
uint8_t sensor1[8] = { 0x28, 0x50, 0x19, 0x51, 0x4D, 0x20, 0x01, 0x56 };
uint8_t sensor2[8] = { 0x28, 0x4C, 0x40, 0xB8, 0x4D, 0x20, 0x01, 0xCC };
uint8_t sensor3[8] = { 0x28, 0x1E, 0x3B, 0x53, 0x4D, 0x20, 0x01, 0x4C };
uint8_t sensor4[8] = { 0x28, 0x81, 0x69, 0x69, 0x4D, 0x20, 0x01, 0x9C };
uint8_t sensor5[8] = { 0x28, 0x4F, 0xBE, 0x66, 0x4D, 0x20, 0x01, 0x85 };
void setup(void)
{
// zahájení komunikace po softwarové sériové lince
swSerial.begin(9600);
Serial.begin(9600);
sensors.begin();
}
void loop(void)
{
sensors.requestTemperatures();
Serial.println();
// nacteni teploty
float tempC1 = sensors.getTempC(sensor1);
//-- vypis na displej ---
String zprava = "t0.txt=\"";
zprava += tempC1;
zprava += " C.\"";
swSerial.print(zprava);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
float tempC2 = sensors.getTempC(sensor2);
String zprava2 = "t1.txt=\"";
zprava2 += tempC2;
zprava2 += " C.\"";
swSerial.print(zprava2);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
float tempC3 = sensors.getTempC(sensor3);
String zprava3 = "t2.txt=\"";
zprava3 += tempC3;
zprava3 += " C.\"";
swSerial.print(zprava3);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
float tempC4 = sensors.getTempC(sensor4);
String zprava4 = "t3.txt=\"";
zprava4 += tempC4;
zprava4 += " C.\"";
swSerial.print(zprava4);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
float tempC5 = sensors.getTempC(sensor5);
String zprava5 = "t4.txt=\"";
zprava5 += tempC5;
zprava5 += " C.\"";
swSerial.print(zprava5);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
// vypočet procent
float tempC6 = (float(tempC5) + float(tempC4) + float(tempC3) + float(tempC2) + float(tempC1))/5*0.85 ;
String zprava6 = "t5.txt=\"";
zprava6 += tempC6;
zprava6 += " %.\"";
swSerial.print(zprava6);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print(tempC);
Serial.print("°C ");
}
[code]
[attachment=0]IMG_20230426_224628.jpg[/attachment]