Kód: Vybrat vše
#include <OneWire.h>
#include <DallasTemperature.h>
// připojení potřebné knihovny
#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.print("Sensor 1: ");
printTemperature(sensor1);
Serial.print("Sensor 2: ");
printTemperature(sensor2);
Serial.print("Sensor 3: ");
printTemperature(sensor3);
Serial.print("Sensor 4: ");
printTemperature(sensor4);
Serial.print("Sensor 5: ");
printTemperature(sensor5);
Serial.println();
//-- vypis na displej ---
String zprava = "t0.txt=\"Sensor 1: ";
zprava += sensor1;
zprava += " C.\"";
swSerial.print(zprava);
swSerial.write(0xff);
swSerial.write(0xff);
swSerial.write(0xff);
//----------------------
delay(1000);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print(tempC);
Serial.print("°C ");
}