Paso 3: bosquejo
Sketch de Arduino.Con el fin de obtener MAX31855 biblioteca:
https://github.com/Adafruit/Adafruit-MAX31855-libr...
Sólo es necesario cambiar la selección de pines de Arduino.
Pantalla LCD recuerde esta incluida en el IDE de Arduino, sólo es necesario cambiar pin selección.
Este proyecto se realizo en enero de 2014 para hacer una demostración de la operatividad
del integrado MAX31855, integro en circuito impreso mi curso Antonio
las pruebas son un éxito y se añadión un pantalla de LCD, la de tambien hay cambios en
salida por puerto serie para monitorizar y registrar la indicación.
Las siguientes etapas tratan de realizar múltiples medidas de termopar y además realizar
La comunicación a través de una conexión de red TCP-IP
Incluye el código de la librería:
#include < LiquidCrystal.h >
inicializar la biblioteca con los números de los pines de interfaz
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
Adruino 1.0 define previamente estas variables
#include < MAX31855.h >
#if ARDUINO < 100
int SCK = 13;
int MISO = 12;
int SS = 10;
#endif
Declaración de las variables enteras
int LED = 9;
int buttonPin = 8;
int buttonState = 0;
Declaración de las variables de usadas con el máximo
doble tempTC, tempCJC;
bool faultOpen, faultShortGND, faultShortVCC, x;
bool temp_unit = 0; 0 = c, 1 = Fahrenheit
Inicio la MAX31855 biblioteca para el chip.
MAX31855 temp (MISO SCK, SS,);
void setup() {}
Pon tu código de instalación, para ejecutar una vez:
Serial.Begin(9600);
pinMode (LED, salida);
fijar número la pantalla del LCD de filas y columnas:
LCD.Begin (16, 2);
Imprimir un mensaje en la pantalla LCD.
LCD.Print ("Hola Curso!"); Escribir en la pantalla LCD
inicializar el perno pulsador como entrada:
pinMode (buttonPin, entrada);
}
void loop() {}
Pon tu código principal, para ejecutar varias veces:
x = temp.readMAX31855 (& tempTC & tempCJC & faultOpen & faultShortGND & faultShortVCC, temp_unit);
lo escribimos en el puerto serie lo podemos modificar en las siguientes líneas
Serial.Print(tempTC);
Serial.Print("\t");
Serial.Print(tempCJC);
Serial.Print("\t");
Serial.Print(faultOpen);
Serial.Print(faultShortGND);
Serial.println(faultShortVCC);
lo escribimos el de en LCD lo definimos a partir de aquí
LCD.Begin (16, 2) //The dice primero la librería de cristal líquido cuántas columnas y filas tiene la pantalla
lcd.setCursor (0,0); //The primero establece la posición del cursor (donde aparecerá el siguiente texto) a la columna 0 o fila 1. Ambos
los números de columna y fila comienzan en 0 en lugar de 1.
Si (buttonState == HIGH) {}
Unidades cambia a F
LCD.Print ("CJ Temp = F");
}
Else {}
Deja en de unidades de las C
LCD.Print ("CJ Temp = C");
}
lcd.setCursor (9, 0);
LCD.Print(tempCJC);
lcd.setCursor (0,1);
Si (buttonState == HIGH) {}
Unidades cambia a F
LCD.Print ("temperatura TC = F");
}
Else {}
Deja en de unidades de las C
LCD.Print ("temperatura TC = C");
}
lcd.setCursor (9, 1);
LCD.Print(tempTC);
El led parpadea al ritmo impuesto por el retraso dando ritmo al bucle
digitalWrite (LED, alta);
Delay(100);
digitalWrite (LED, baja);
Delay(100);
leer el estado del pulsador valor:
buttonState = digitalRead(buttonPin);
comprobar si el pulsador está presionado.
Si es así, el buttonState es alta:
Si (buttonState == HIGH) {}
encender LED:
temp_unit = 1;
}
Else {}
Apagar LED:
temp_unit = 0;
}
}