Hola buen día.
¿Podrían ayudarme con mi código? Intento hacer un "Horno Eléctrico" utilice un Relé de estado solido para controlar la intensidad de la fuente de calor (foco), no me aprueban el proyecto por que debo reemplazar el Relé de estado solido por un MÓDULO DIMMER AC 220V/2A el cual tiene una salida PWM y Z-C y no puedo adaptarlo este es mi código .
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7 // Data wire is plugged into port 2 on the Arduino
#include <PID_v1.h>
#define PIN_INPUT 0
#define PIN_OUTPUT 3
int Motor1 = 4; //ventilador
OneWire oneWire(7);
DallasTemperature sensors(&oneWire);
double temperatura;
double Setpoint, Input, Output;//Define Variables we'll be connecting to
double Kp=1, Ki=61.4, Kd=0; //Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
void setup(void)
{
Serial.begin(9600);
pinMode(Motor1, OUTPUT);
digitalWrite(Motor1, LOW);
sensors.begin(); // Start up the library
Setpoint =15;
myPID.SetMode(AUTOMATIC); //turn the PID on
}
void loop(){
sensor();
mi_pid();
}
void sensor()
{
sensors.requestTemperatures(); // Send the command to get temperatures
temperatura=sensors.getTempCByIndex(0);
}
void mi_pid()
{
Input = temperatura;
myPID.Compute();
analogWrite(PIN_OUTPUT, Output);
Serial.print(Setpoint);
Serial.print(",");
Serial.println(temperatura);
if(temperatura>Setpoint)
digitalWrite(Motor1,HIGH);
else
digitalWrite(Motor1, LOW);
}
Les agradezco su ayuda.