Hello wanted a help in my program I wanted to put another 7 temperature sensors approve water Ds18b20 and 7Reles for each of the sensors for when atigir 30graus. the motor trigger automatically separated, and can see through the LCD the temperature and also wanted via bluetooth to keep track of the temperature of each of the sensors. and can manually drive the motor over the phone .. and also wanted a water pH and oxygen sensor
// Projeto de camarão dos Engenheiros da agronomia 16/06/2018
// Autor: Fabio costa & Eng:jocileudo
// acionamento de bombas atravez de arduino
#include <OneWire.h>
#include <DallasTemperature.h>
//Fio de dados é conectado à porta 6 no Arduino
#define ONE_WIRE_BUS 10
#define TEMPERATURE_PRECISION 9
// Configure uma instância oneWire para se comunicar com qualquer dispositivo OneWire (não apenas os ICs de temperatura Maxim / Dallas)
OneWire oneWire(ONE_WIRE_BUS);
#include <LiquidCrystal.h>
// inicializar a biblioteca com os números dos pinos da interface
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Passe nossa referência oneWire para a temperatura de Dallas.
DallasTemperature sensors(&oneWire);
//matrizes para manter endereços de dispositivos
DeviceAddress insideThermometer; //termômetro externo;
int relay =7;
void setup(void)
{
pinMode(relay,OUTPUT);
lcd.begin(16, 2);
// start serial port
Serial.begin(9600);
Serial.println("Demonstração da biblioteca de controle do IC da temperatura de Dallas");
// Start up the library
sensors.begin();
// localizar dispositivos no barramento
Serial.print("Locating devices...");
Serial.print("Found ");
Serial.print(sensors.getDeviceCount(), DEC);
Serial.println(" devices.");
// reportar requisitos de energia do parasita
Serial.print("Parasite power is: ");
if (sensors.isParasitePowerMode()) Serial.println("ON");
else Serial.println("OFF");
if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0");
//if (! sensors.getAddress (termômetro externo, 1)) Serial.println ("Não foi possível encontrar o endereço do dispositivo 1");
// mostre os endereços que encontramos no ônibus
Serial.print("Device 0 Address: ");
printAddress(insideThermometer);
Serial.println();
sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
// sensors.setResolution (termômetro externo, TEMPERATURA _ PRECISÃO);
Serial.print("Device 0 Resolution: ");
Serial.print(sensors.getResolution(insideThermometer), DEC);
Serial.println();
}
//função para imprimir um endereço de dispositivo
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t i = 0; i < 8; i++)
{
//zerar o endereço, se necessário
if (deviceAddress < 16) Serial.print("0");
_ Serial.print(deviceAddress*, HEX);_
_}_
_}_
_// função para imprimir a temperatura de um dispositivo*_
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.print("Temp C: ");
Serial.print(tempC);
Serial.print(" Temp F: ");
Serial.print(DallasTemperature::toFahrenheit(tempC));
delay(2000);
}
// função para imprimir a resolução de um dispositivo
void printResolution(DeviceAddress deviceAddress)
{
Serial.print("Resolution: ");
Serial.print(sensors.getResolution(deviceAddress));
*Serial.println(); *
}
// função principal para imprimir informações sobre um dispositivo
void printData(DeviceAddress deviceAddress)
{
Serial.print("Device Address: ");
printAddress(deviceAddress);
Serial.print(" ");
printTemperature(deviceAddress);
Serial.println();
}
void loop(void)
{
// chame sensors.requestTemperatures () para emitir uma temperatura global
// pedido para todos os dispositivos no barramento
//Serial.print("Requesting temperatures ... ");
sensors.requestTemperatures();
//Serial.println("DONE ");
// imprime as informações do dispositivo
// printData (insideThermometer);
// printData (termômetro externo);
* Serial.println(sensors.getTempC(insideThermometer));*
//Serial.println (sensors.getTempC (termômetro externo));
Serial.println(" ");
lcd.setCursor(0, 0);
lcd.print("Temperatura:");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.print(sensors.getTempC(insideThermometer));
lcd.print(" C");
int setpoint = 29;
int swing = 1;
if ( sensors.getTempC(insideThermometer) >=setpoint + swing) //&& sensors.getTempC (dentro do termômetro)> sensors.getTempC (termômetro externo))
{
digitalWrite(7,HIGH);
* Serial.println("ON ");*
}
else if ( sensors.getTempC(insideThermometer) <setpoint - swing)
{
digitalWrite(7,LOW);
Serial.println("OFF ");
}
delay(500);
}