SlideShare una empresa de Scribd logo
Termómetro con arduino UNO
Termómetro con arduino uno
const int sensor = 0;
const int led rojo = 5;
const int led azul = 6;
long milivolts;
long temperatura;
long int brillo;
void setup () {
pinMode(ledrojo, OUTPUT);
pinMode(ledazul, OUTPUT);
}
void loop () {
milivolts = (analogRead * 5000L) / 1023;
temperatura = milivolts / 10;
brillo = map(temperatuta, 10, 40, 0, 255);
brillo = constrain(brillo, 0, 255);
analogWrite(ledrojo, brillo);
analogWrite(ledazul, 255 – brillo);
}
Cronómetro con arduino Duemilanove
Termómetro con arduino uno
/* Definicion de Variables
*/
long time1=0; //Variable de tiempo para el inicio.
long time2=0; //Variable de tiempo para el final.
int buttonPin1 = 10; //pin para el boton 1
int buttonPin2 = 9; //pin para el boton 2
int ledPin = 13; //Pin àra el led
int buttonState1 = 0; //Variable para leer boton1
int buttonState2 = 0; //Variable para leer boton2
int clock = 100; //retardo del reloj
int hour = 0; //horas
int min = 0; //minutos
int sec = 0; //segundos
int dcsec = 0; //decimas de segundo
boolean run = true; //estado del cronometro
void setup() {
clearLCD(); //Borra el LCD
pinMode(ledPin, OUTPUT); //Inicia el pin de LED como salida
Serial.begin(9600); //Configura la velocida del puerto serie
}
void loop() {
time1 = millis(); //comprueba el tiempo al inicio del loop
buttonState1 = digitalRead(buttonPin1); //Lees estado boton1
buttonState2 = digitalRead(buttonPin2); //Lees estado boton2
if (buttonState1 == HIGH) { //Si el boton1 esta pulsado
digitalWrite(ledPin, HIGH); //Enciende el led
hour = 0; //Pone el contador a cero
min = 0;
sec = 0;
dcsec = 0;
run=false; //Para el cronometro
delay(500); //pausa
printtime();
selectLineTwo();
Serial.print("Parado");
digitalWrite(ledPin, LOW); //apaga el led
}
if (buttonState2 == HIGH) { //Si el boton1 esta pulsado
digitalWrite(ledPin, HIGH); //Enciende el led
if (run == true) { //Comprueba si el cronometro esta en marcha
run=false; //Para el cronometro
selectLineTwo();
Serial.print("Parado");
}
else { //si esta parado
run=true; //lo pone en marcha
}
delay(500); //pausa
digitalWrite(ledPin, LOW); //apaga el led
}
if (run == true) { //Comrprueba el estado del cronometro (Marcha o paro)
dcsec = dcsec + 1; //Suma una decisima de segundo
if (dcsec > 9) { //Contador de decimas a segundos a minutos y a horas
dcsec = 0;
sec = sec + 1;
}
if (sec > 59) {
sec = 0;
min = min + 1;
}
if (min > 59) {
min = 0;
hour = hour + 1;
}
if (hour > 23) {
hour = 0;
}
time2 = millis(); //comprueba el tiempo al final del loop
time2=time2 - time1; //calcula la diferencia
if (time2 >=90 ){
time2=50;
}
clock=90-time2; //hace la rectificacion con delay
delay(clock);
printtime(); //Imrpime el tiempo en el LCD
}
/*
Definicion de funciones de control LCD
printtime();
Escribe el tiempo
selectLineOne();
Escribir en la 1ª linea
selectLineTwo();
Escribir en la 1ª linea
clearLCD();
Borrar el LCD
*/
void printtime(){
clearLCD();
Serial.print(hour);
Serial.print(":");
Serial.print(min);
Serial.print(":");
Serial.print(sec);
Serial.print(".");
Serial.print(dcsec);
time2 = millis();
time2=time2 - time1;
Serial.print(" ");
Serial.print(time2);
}
void selectLineOne(){ //Seleccionar 1ª línea
Serial.print(0xFE, BYTE); //comando control
Serial.print(128, BYTE); //posición para la línea 1
}
void selectLineTwo(){ //Seleccionar 2ª línea
Serial.print(0xFE, BYTE); //comando control
Serial.print(192, BYTE); //posición
}
void clearLCD(){ //Borrar LCD
Serial.print(0xFE, BYTE);
Serial.print(0x01, BYTE); //comando de borrado
}

Más contenido relacionado

DOCX
Arduino: Reporte de diseño controlador acuario con Arduino
PDF
Guía rápida tmr0 e interrupciones
DOCX
SIALESA - Sistema de Alarma Escolar Automtizada
DOCX
Móvil esquiva objetos
PPT
Curso Micro Tema 4
PDF
Uso del tmr0
PDF
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
PDF
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...
Arduino: Reporte de diseño controlador acuario con Arduino
Guía rápida tmr0 e interrupciones
SIALESA - Sistema de Alarma Escolar Automtizada
Móvil esquiva objetos
Curso Micro Tema 4
Uso del tmr0
EJERCICIOS TEMA 1. MICROCONTROLADORES II EN C
Microcontroladores: Módulos del micro PIC16F877 con temporizadores e interrup...

La actualidad más candente (20)

DOC
Ejemplos De Timer E Interrupcion
PDF
TMR0 Y RB0_INT
PPTX
Presentacion electronica analogica
PDF
Microprogramacion - Interrupciones y timers
PDF
Micro2 tema 3
PDF
EJERCICIO ADICIONAL 1ER EXAMEN
PDF
Modulo Timer 0 del PIC16F887
PDF
Guía rápida tmr0 e interrupciones
DOCX
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
PPTX
Timer0
PDF
Curso pic en c nuevo
PPTX
TIMERS&TEMPORIZADORES EN "C"
PPT
Temporizador timer0
PDF
Timer 0 - Pic16F877A
PPT
Curso Micro Tema 5
PDF
Módulo Timer 1 del PIC16F887
PDF
Presentacion proyecto final micro2
DOCX
Semaforo
PDF
Micro2 tema 4
Ejemplos De Timer E Interrupcion
TMR0 Y RB0_INT
Presentacion electronica analogica
Microprogramacion - Interrupciones y timers
Micro2 tema 3
EJERCICIO ADICIONAL 1ER EXAMEN
Modulo Timer 0 del PIC16F887
Guía rápida tmr0 e interrupciones
Reporte de grafos con semagforos de 3,3,4 y 6 procesos
Timer0
Curso pic en c nuevo
TIMERS&TEMPORIZADORES EN "C"
Temporizador timer0
Timer 0 - Pic16F877A
Curso Micro Tema 5
Módulo Timer 1 del PIC16F887
Presentacion proyecto final micro2
Semaforo
Micro2 tema 4
Publicidad

Destacado (10)

DOC
Cronometro
PDF
Manual de arduino practica.
PDF
SISTEMA DE CONTROL DE TEMPERATURA CON REFERENCIA POR PC
PPTX
Termómetro (Arduino & Scractch)
PPTX
PPT
Casa Inteligente
PDF
Presentacion
PPTX
Arduino - iniciação à linguagem C (entradas analógica)
PDF
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
PDF
LED RGB e saída PWM - estudo orientado com S4A
Cronometro
Manual de arduino practica.
SISTEMA DE CONTROL DE TEMPERATURA CON REFERENCIA POR PC
Termómetro (Arduino & Scractch)
Casa Inteligente
Presentacion
Arduino - iniciação à linguagem C (entradas analógica)
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
LED RGB e saída PWM - estudo orientado com S4A
Publicidad

Similar a Termómetro con arduino uno (20)

DOCX
Trabajo final.
PDF
ARDUINO - LADDER - FLUID SIM P - PROYECTO CX3 RESET TEMP H1 ARDUINO.pdf
DOCX
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DOC
PRIMER Proyecto alarma arduino
DOCX
Miniproyecto de ARDUINO
PDF
ARDUINO - LADDER - PROYECTO CIRCUITO ELECTRONEUMÁTICO 2 CILINDROS COMPLE...
PPTX
Sensores.pptxdddddddddddddddddddddddddddddddddddddd
PPTX
Introducción a Arduino y Ejercicios Prácticos
PDF
Practicas con arduino_nivel_1
PDF
Arduino 1 jose m. ruiz
PDF
Practicas IDE
PDF
Practicas con arduino nivel i
PDF
ARDUINO- PROYECTO LADDER DISPOSITICO PARA EMBUTIR COMPLETO - LADDER.pdf
PDF
ARDUINO - LADDER - 2 CILINDROS CX3 RESET - IMPLEMENTACIÓN DE LADDER SOB...
PDF
ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...
PDF
uControl Nº _ 01-.pdf
PDF
uControl Nº _ 01-.pdf
PDF
Ucontrol revista 0001
PDF
U control 01
Trabajo final.
ARDUINO - LADDER - FLUID SIM P - PROYECTO CX3 RESET TEMP H1 ARDUINO.pdf
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
PRIMER Proyecto alarma arduino
Miniproyecto de ARDUINO
ARDUINO - LADDER - PROYECTO CIRCUITO ELECTRONEUMÁTICO 2 CILINDROS COMPLE...
Sensores.pptxdddddddddddddddddddddddddddddddddddddd
Introducción a Arduino y Ejercicios Prácticos
Practicas con arduino_nivel_1
Arduino 1 jose m. ruiz
Practicas IDE
Practicas con arduino nivel i
ARDUINO- PROYECTO LADDER DISPOSITICO PARA EMBUTIR COMPLETO - LADDER.pdf
ARDUINO - LADDER - 2 CILINDROS CX3 RESET - IMPLEMENTACIÓN DE LADDER SOB...
ARDUINO - LADDER PROYECTO CX3 RESET TEMP EH EN 2 CILINDROS BI MONO...
uControl Nº _ 01-.pdf
uControl Nº _ 01-.pdf
Ucontrol revista 0001
U control 01

Último (20)

PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
Presentación de Redes de Datos modelo osi
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
Que son las redes de computadores y sus partes
PDF
clase auditoria informatica 2025.........
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPT
introduccion a las_web en el 2025_mejoras.ppt
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Presentación de Redes de Datos modelo osi
Estrategia de apoyo tecnología miguel angel solis
Power Point Nicolás Carrasco (disertación Roblox).pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
SAP Transportation Management para LSP, TM140 Col18
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Propuesta BKP servidores con Acronis1.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Que son las redes de computadores y sus partes
clase auditoria informatica 2025.........
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Plantilla para Diseño de Narrativas Transmedia.pdf
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Estrategia de apoyo tecnología grado 9-3
introduccion a las_web en el 2025_mejoras.ppt

Termómetro con arduino uno

  • 3. const int sensor = 0; const int led rojo = 5; const int led azul = 6; long milivolts; long temperatura; long int brillo; void setup () { pinMode(ledrojo, OUTPUT); pinMode(ledazul, OUTPUT); }
  • 4. void loop () { milivolts = (analogRead * 5000L) / 1023; temperatura = milivolts / 10; brillo = map(temperatuta, 10, 40, 0, 255); brillo = constrain(brillo, 0, 255); analogWrite(ledrojo, brillo); analogWrite(ledazul, 255 – brillo); }
  • 7. /* Definicion de Variables */ long time1=0; //Variable de tiempo para el inicio. long time2=0; //Variable de tiempo para el final. int buttonPin1 = 10; //pin para el boton 1 int buttonPin2 = 9; //pin para el boton 2 int ledPin = 13; //Pin àra el led int buttonState1 = 0; //Variable para leer boton1 int buttonState2 = 0; //Variable para leer boton2 int clock = 100; //retardo del reloj int hour = 0; //horas int min = 0; //minutos int sec = 0; //segundos int dcsec = 0; //decimas de segundo boolean run = true; //estado del cronometro void setup() { clearLCD(); //Borra el LCD pinMode(ledPin, OUTPUT); //Inicia el pin de LED como salida Serial.begin(9600); //Configura la velocida del puerto serie }
  • 8. void loop() { time1 = millis(); //comprueba el tiempo al inicio del loop buttonState1 = digitalRead(buttonPin1); //Lees estado boton1 buttonState2 = digitalRead(buttonPin2); //Lees estado boton2 if (buttonState1 == HIGH) { //Si el boton1 esta pulsado digitalWrite(ledPin, HIGH); //Enciende el led hour = 0; //Pone el contador a cero min = 0; sec = 0; dcsec = 0; run=false; //Para el cronometro delay(500); //pausa printtime(); selectLineTwo(); Serial.print("Parado"); digitalWrite(ledPin, LOW); //apaga el led } if (buttonState2 == HIGH) { //Si el boton1 esta pulsado digitalWrite(ledPin, HIGH); //Enciende el led if (run == true) { //Comprueba si el cronometro esta en marcha run=false; //Para el cronometro selectLineTwo(); Serial.print("Parado"); } else { //si esta parado run=true; //lo pone en marcha } delay(500); //pausa digitalWrite(ledPin, LOW); //apaga el led }
  • 9. if (run == true) { //Comrprueba el estado del cronometro (Marcha o paro) dcsec = dcsec + 1; //Suma una decisima de segundo if (dcsec > 9) { //Contador de decimas a segundos a minutos y a horas dcsec = 0; sec = sec + 1; } if (sec > 59) { sec = 0; min = min + 1; } if (min > 59) { min = 0; hour = hour + 1; } if (hour > 23) { hour = 0; } time2 = millis(); //comprueba el tiempo al final del loop time2=time2 - time1; //calcula la diferencia if (time2 >=90 ){ time2=50; } clock=90-time2; //hace la rectificacion con delay delay(clock); printtime(); //Imrpime el tiempo en el LCD }
  • 10. /* Definicion de funciones de control LCD printtime(); Escribe el tiempo selectLineOne(); Escribir en la 1ª linea selectLineTwo(); Escribir en la 1ª linea clearLCD(); Borrar el LCD */ void printtime(){ clearLCD(); Serial.print(hour); Serial.print(":"); Serial.print(min); Serial.print(":"); Serial.print(sec); Serial.print("."); Serial.print(dcsec); time2 = millis(); time2=time2 - time1; Serial.print(" "); Serial.print(time2); } void selectLineOne(){ //Seleccionar 1ª línea Serial.print(0xFE, BYTE); //comando control Serial.print(128, BYTE); //posición para la línea 1 } void selectLineTwo(){ //Seleccionar 2ª línea Serial.print(0xFE, BYTE); //comando control Serial.print(192, BYTE); //posición } void clearLCD(){ //Borrar LCD Serial.print(0xFE, BYTE); Serial.print(0x01, BYTE); //comando de borrado }