Indice
Descrizione
In questo episodio vedremo come usare delle sonde per misurare le temperature sia dell'aria che dei liquidi con Arduino.
Vedremo come fare i collegamenti e come scrivere gli sketch per comandare diverse sonde con un solo pin digitale.
#include <OneWire.h>#include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire); void setup() { Serial.begin(9600); sensors.begin();} void loop() { sensors.requestTemperatures(); float temperature = sensors.getTempCByIndex(0); printTemperature("Temperature", temperature); delay(1000);} void printTemperature(String label, float value) { if (value != DEVICE_DISCONNECTED_C) { Serial.println(label + ": " + String(value) + "°C"); } else { Serial.println("Impossibile rilevare la temperatura"); }}#include <OneWire.h>#include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire); int deviceCount; void setup() { Serial.begin(9600); sensors.begin(); deviceCount = sensors.getDeviceCount();} void loop() { sensors.requestTemperatures(); float tempSum = 0; for (int i = 0; i < deviceCount; i++) { float temperature = sensors.getTempCByIndex(i); printTemperature("Sensore " + String(i+1), temperature); tempSum += temperature; } printTemperature("Media", tempSum / deviceCount); Serial.println(); delay(1000);} void printTemperature(String label, float value) { if (value != DEVICE_DISCONNECTED_C) { Serial.println(label + ": " + String(value) + "°C"); } else { Serial.println("Impossibile rilevare la temperatura"); }}#include <OneWire.h>#include <DallasTemperature.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire); DeviceAddress airSensorAddress = { 0x28, 0x5E, 0xEB, 0x79, 0xA2, 0x16, 0x03, 0xAF };DeviceAddress waterSensorAddress = { 0x28, 0xBD, 0x40, 0x79, 0xA2, 0x19, 0x03, 0x84 }; void setup() { Serial.begin(9600); sensors.begin();} void loop() { sensors.requestTemperatures(); float tempAir = sensors.getTempC(airSensorAddress); float tempWater = sensors.getTempC(waterSensorAddress); Serial.println("Temperature rilevate"); printTemperature("Aria", tempAir); printTemperature("Acqua", tempWater); Serial.println(); delay(1000);} void printTemperature(String label, float value) { if (value != DEVICE_DISCONNECTED_C) { Serial.println(label + ": " + String(value) + "°C"); } else { Serial.println("Impossibile rilevare la temperatura"); }}In qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei