Surbyte buenos días, y gracias por decirme como colocar el Código de forma correcta. Creo que ya lo modifiqué y lo entendí.
A lo que me indicas primero de si leo las sondas, te comento que sí a través del monitor serie. Adjunto un pantallazo de lo que se lee.
En relación a la segunda pregunta en su día use un cogido creado con VISUINO con la pantalla nexion que me leía las sondas y tenia botones de prueba, pero no me leía las temperaturas en negativo por lo que quise crear un código nuevo para arreglar este problema. Además el código de visuino no lo entiendo nada porque es mas complicado y además ya no tengo licencia gratis de Visuino para trabajar con él. También perdí la programación de la Nextion para este codigo. Adjunto dicho código creado con Visuino:
#include <OpenWire.h>
#include <Mitov.h>
#include <Mitov_FormattedSerial.h>
#include <Mitov_Display_Nextion.h>
#include <DallasTemperature.h> // The MAX31850 DallasTemp library https://github.com/adafruit/MAX31850_DallasTemp needs to be installed trough the Arduino IDE for this Scetch to compile!
#include <Mitov_Maxim_OneWire_Thermometer.h>
#include <Mitov_Timing.h>
#include <Mitov_Math.h>
#include <Mitov_BinaryGenerators.h>
// Arduino Board Declarations
namespace BoardDeclarations
{
Mitov::TypedSerialPort<Mitov::SerialPort<SERIAL_TYPE, Serial>, SERIAL_TYPE, Serial> SerialPort0;
Mitov::ArduinoDigitalInputChannel<3, false> ArduinoDigitalChannel_3( false );
} // BoardDeclarations
// Declarations
namespace Declarations
{
Mitov::DisplayNextion<Mitov::TypedSerialPort<Mitov::SerialPort<SERIAL_TYPE, Serial>, SERIAL_TYPE, Serial>, BoardDeclarations::SerialPort0> DisplayNextion1;
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText1( Declarations::DisplayNextion1, "t0", -1, 0 );
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText2( Declarations::DisplayNextion1, "t1", -1, 1 );
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText3( Declarations::DisplayNextion1, "t2", -1, 2 );
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText4( Declarations::DisplayNextion1, "t3", -1, 3 );
Mitov::DisplayNextionElementAnalogProgressBar TArduinoDisplayNextionElementAnalogProgressBar1( Declarations::DisplayNextion1, "j0", -1, 4 );
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText5( Declarations::DisplayNextion1, "t12", -1, 12 );
Mitov::DisplayNextionElementButton TArduinoDisplayNextionElementButton1( Declarations::DisplayNextion1, "b0", -1, -1 );
Mitov::DisplayNextionElementText TArduinoDisplayNextionElementText6( Declarations::DisplayNextion1, "t13", -1, 13 );
Mitov::OneWireThermometer Thermometer1( 2, 0, 0x28, 0xFF, 0x20, 0xCE, 0xA4, 0x16, 0x05, 0x8D );
Mitov::OneWireThermometer Thermometer2( -1, 1, 0x28, 0xFF, 0x74, 0xDA, 0xA2, 0x16, 0x04, 0xBE );
Mitov::OneWireThermometer Thermometer3( -1, 2, 0x28, 0xFF, 0xD6, 0xBD, 0xA4, 0x16, 0x04, 0xC9 );
Mitov::OneWireThermometer Thermometer4( -1, 3, 0x28, 0xFF, 0x03, 0xDC, 0xA2, 0x16, 0x04, 0x8B );
Mitov::ClockGenerator ClockGenerator1;
Mitov::CompareValue<String> CompareValue1 = Mitov::CompareValue<String>( String() );
Mitov::PulseGeneratorSimple PulseGenerator2;
} // Declarations
// Type Converters
namespace TypeConverters
{
Mitov::TypedConvert<float,String> Converter0;
Mitov::TypedConvert<float,String> Converter1;
Mitov::TypedConvert<float,String> Converter2;
Mitov::TypedConvert<float,String> Converter3;
Mitov::Convert_DigitalToText Converter4;
Mitov::Convert_DigitalToText Converter5;
} // TypeConverters
// Pin Call Declarations
namespace PinCalls
{
void PinCallerReceive1( void *_Data );
void PinCallerReceive2( void *_Data );
void PinCallerReceive3( void *_Data );
void PinCallerReceive4( void *_Data );
void PinCallerReceive5( void *_Data );
void PinCallerReceive6( void *_Data );
void PinCallerReceive7( void *_Data );
void PinCallerReceive8( void *_Data );
void PinCallerReceive9( void *_Data );
void PinCallerReceive10( void *_Data );
void PinCallerReceive11( void *_Data );
void PinCallerReceive12( void *_Data );
void PinCallerReceive13( void *_Data );
void PinCallerReceive14( void *_Data );
void PinCallerReceive15( void *_Data );
} // PinCalls
// Pin Call Implementations
namespace PinCalls
{
void PinCallerReceive1( void *_Data )
{
Declarations::TArduinoDisplayNextionElementAnalogProgressBar1.InputPin_o_Receive( _Data );
TypeConverters::Converter0.Convert( _Data, PinCallerReceive2 );
}
void PinCallerReceive2( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText1.InputPin_o_Receive( _Data );
Declarations::CompareValue1.InputPin_o_Receive( _Data );
}
void PinCallerReceive3( void *_Data )
{
Declarations::Thermometer1.OneWireInputPin_o_Receive( _Data );
}
void PinCallerReceive5( void *_Data )
{
TypeConverters::Converter1.Convert( _Data, PinCallerReceive4 );
}
void PinCallerReceive4( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText2.InputPin_o_Receive( _Data );
}
void PinCallerReceive6( void *_Data )
{
Declarations::Thermometer2.OneWireInputPin_o_Receive( _Data );
}
void PinCallerReceive8( void *_Data )
{
TypeConverters::Converter2.Convert( _Data, PinCallerReceive7 );
}
void PinCallerReceive7( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText3.InputPin_o_Receive( _Data );
}
void PinCallerReceive9( void *_Data )
{
Declarations::Thermometer3.OneWireInputPin_o_Receive( _Data );
}
void PinCallerReceive11( void *_Data )
{
TypeConverters::Converter3.Convert( _Data, PinCallerReceive10 );
}
void PinCallerReceive10( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText4.InputPin_o_Receive( _Data );
}
void PinCallerReceive12( void *_Data )
{
Declarations::Thermometer1.ClockInputPin_o_Receive( _Data );
}
void PinCallerReceive14( void *_Data )
{
TypeConverters::Converter4.Convert( _Data, PinCallerReceive13 );
TypeConverters::Converter5.Convert( _Data, PinCallerReceive15 );
BoardDeclarations::ArduinoDigitalChannel_3.DigitalInputPin_o_Receive( _Data );
}
void PinCallerReceive13( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText5.InputPin_o_Receive( _Data );
}
void PinCallerReceive15( void *_Data )
{
Declarations::TArduinoDisplayNextionElementText6.InputPin_o_Receive( _Data );
}
} // PinCalls
namespace ComponentsHardware
{
void SystemUpdateHardware()
{
}
} // ComponentsHardware
//The setup function is called once at startup of the sketch
void setup()
{
Declarations::Thermometer1.AlarmHighTemperature = 90;
Declarations::Thermometer1.OutputPin.SetCallback( PinCalls::PinCallerReceive1 );
Declarations::Thermometer2.OneWireOutputPin.SetCallback( PinCalls::PinCallerReceive3 );
Declarations::Thermometer2.OutputPin.SetCallback( PinCalls::PinCallerReceive5 );
Declarations::Thermometer3.OneWireOutputPin.SetCallback( PinCalls::PinCallerReceive6 );
Declarations::Thermometer3.OutputPin.SetCallback( PinCalls::PinCallerReceive8 );
Declarations::Thermometer4.OneWireOutputPin.SetCallback( PinCalls::PinCallerReceive9 );
Declarations::Thermometer4.OutputPin.SetCallback( PinCalls::PinCallerReceive11 );
Declarations::ClockGenerator1.Frequency = 10;
Declarations::ClockGenerator1.OutputPin.SetCallback( PinCalls::PinCallerReceive12 );
Declarations::CompareValue1.OutputPin.SetCallback( PinCalls::PinCallerReceive14 );
Declarations::CompareValue1.Value = "30";
Declarations::CompareValue1.CompareType = Mitov::ctBigger;
BoardDeclarations::SerialPort0.SystemInit();
Declarations::DisplayNextion1.SystemInit();
Declarations::Thermometer1.SystemInit();
Declarations::Thermometer2.SystemInit();
Declarations::Thermometer3.SystemInit();
Declarations::Thermometer4.SystemInit();
Declarations::ClockGenerator1.SystemInit();
Declarations::PulseGenerator2.SystemInit();
Declarations::Thermometer1.SystemStart();
Declarations::Thermometer2.SystemStart();
Declarations::Thermometer3.SystemStart();
Declarations::Thermometer4.SystemStart();
Declarations::ClockGenerator1.SystemStart();
Declarations::CompareValue1.SystemStart();
Declarations::PulseGenerator2.SystemStart();
}
// The loop function is called in an endless loop
void loop()
{
unsigned long A_Current_Microseconds = micros();
BoardDeclarations::SerialPort0.SystemLoopBegin( A_Current_Microseconds );
Declarations::DisplayNextion1.SystemLoopBegin( A_Current_Microseconds );
Declarations::Thermometer1.SystemLoopBegin( A_Current_Microseconds );
Declarations::Thermometer2.SystemLoopBegin( A_Current_Microseconds );
Declarations::Thermometer3.SystemLoopBegin( A_Current_Microseconds );
Declarations::Thermometer4.SystemLoopBegin( A_Current_Microseconds );
Declarations::ClockGenerator1.SystemLoopBegin( A_Current_Microseconds );
Declarations::PulseGenerator2.SystemLoopBegin( A_Current_Microseconds );
}