Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mediante equipos de trabajo, los estudiantes deberán de programar, diseñar y construir una
aplicación con Arduino que permita monitorear y desplegar en una LCD los valores de las variables
físicas que a continuación se enlistan. Puedes apoyarte del siguiente diagrama y los códigos que
anexo al final de este documento.
Opciones:
• Portada
• Introducción
• Objetivo
• Materiales
• Desarrollo (diagramas de proteus, código programa arduino, explicación del
funcionamiento, imágenes)
• Conclusiones
• Bibliografía
LCD1
LM044L
VDD
VSS
VEE
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
E
SIM1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AREF
13
ARDUINO
RESET 12
~11
1 U1 5V ~10
1 U2 ~9
SIMULINO
LM35
POWER
GND 8
10mv/ °C 51.0
ATMEGA328P
40.0
DIGITAL (PWM~)
7
SIM1(PC0/ADC0) ~6
ATMEL
2 V=0.512325
ANALOG IN
VOUT A0 ~5
2 A1
VOUT 4
A2 ~3
3 LM35
A3 2 1
A4 TX > 1
3 LM35 A5
www.arduino.cc
RX < 0 1
blogembarcado.blogspot.com
SIMULINO UNO
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // ( RS, EN, d4, d5, d6, d7)
float lectura[4];
int valor[4];
int alarma=50;
void setup()
{
lcd.begin(20, 4); // Fijar el numero de caracteres y de filas
lcd.print("TERMOMETRO"); // Enviar el mensaje
delay(1000);
lcd.clear();
lcd.setCursor(11,0);
lcd.print("Alarma=");
lcd.print(alarma);
lcd.setCursor(11,1);
lcd.print("C0C1C2C3");
lcd.setCursor(11,2);
lcd.print(" 0 0 0 0");
pinMode(6,INPUT);
pinMode(5,INPUT);
}
void loop()
{
if(digitalRead(5)==0)
{
alarma++; delay(250);
}
if(digitalRead(6)==0)
{
alarma--; delay(250);
}
lcd.setCursor(11,0);
lcd.print("Alarma=");
lcd.print(alarma);
if(lectura[0]>alarma)
{lcd.setCursor(12,2); lcd.print("x"); }
else
{lcd.setCursor(12,2); lcd.print("0"); }
if(lectura[1]>alarma)
{lcd.setCursor(14,2); lcd.print("x"); }
else
{lcd.setCursor(14,2); lcd.print("0"); }
////////////////////////////////////////////////////////
lcd.setCursor(0,0); // set the cursor to column 0, line 1
lcd.print("CH0=");
valor[0]=analogRead(A0); //hago la lectura analógica en el pin A0
lectura[0]=(.00488*valor[0]/.01);
lcd.print(lectura[0]);lcd.print("C");
///////////***************************canal1
lcd.setCursor(0,1); // set the cursor to column 0, line 1
lcd.print("CH1=");
valor[1]=analogRead(A1); //hago la lectura analógica en el pin A0
lectura[1]=(.00488*valor[1]/.01);
lcd.print(lectura[1]);lcd.print("C");
///////////////////////canal2
}
Código Joystick
#include <Servo.h> // Incluir la librería Servo
Servo servo1; // Crear un objeto tipo Servo llamado servo1
int angulo = 0 ;
int Eje_X = A1 ;
int Eje_Y = A2 ;
int boton = 4 , LED = 12 ;
void setup()
{
servo1.attach(6) ; // Conectar servo1 al pin 6
pinMode( boton, INPUT_PULLUP) ;
}
void loop()
{
angulo = map( analogRead(A1), 0, 1024, 0, 180);
servo1.write(angulo);
if ( ! digitalRead(boton))
digitalWrite(LED, HIGH);
else
digitalWrite(LED, LOW);
delay(250) ;
}