Vous êtes sur la page 1sur 11

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

PRACTICA N4

CURSO:
ROBOTICA

DOCENTE:
Ing. NUEZ MONTENEGRO BERNARDO.

INTEGRANTES:
Priscui
Munra
reao

Lambayeque, Noviembre de 2017


UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas

1. Descripcin

Este trabajo practico funcionar de la siguiente manera:

Servir para medir la temperatura y humedad del ambiente, la informacin se detallar en un


display LCD 16x2, lo que se elegir mediante un men que ser seleccionable mediante 3 pulsadores,
presionando el primer botn nos mostrar la temperatura y presionando el segundo botn nos dar
la humedad del ambiente, al presionar el botn 3 nos dar el men donde estableceremos los lmites
para la humedad y temperatura. Cuando la temperatura se temperatura supere los 25 grados
Celsius, se prendera intermitentemente el diodo led amarillo y si la humedad supera el 65% se
encender intermitentemente el diodo led rojo.

2. Cdigo

#include <LiquidCrystal.h> //Incluimos libreria lcd


#include "DHT.h" // Incluimos libreria sensor dht22

#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321


const int DHTPin = A0; // El pin al que estara conectado el sensor

DHT dht(DHTPin, DHTTYPE);


LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int boton1 = A2; // boton 1 conectado al pin A2, A3,A4 Y A5
int boton2 = A3;
int boton3 = A4;
int boton4 = A5;
int opcion = 0; //para seleccionar menu
int estadoboton1 = 0;
int estadoboton2 = 0;
int estadoboton3 = 0;
int estadoPulsado = 1;

ROBOTICA 2
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
int ledAmarillo = 5; // pin del led Amarillo
int ledRojo = 4; //pin del led Rojo

int limiteTemp = 0; //limite de temperatura


int limiteHum = 0; //limite dE humedad

void setup()
{
lcd.begin(16, 2); //
dht.begin(); //Se inicia el sensor
pinMode(boton1, INPUT); //definimos el pin como entrada
pinMode(boton2, INPUT);
pinMode(boton3, INPUT);
pinMode(boton4, INPUT);
pinMode(DHTPin, INPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(ledRojo, OUTPUT);
}

void loop()
{
if (digitalRead(boton1) == LOW and estadoboton1 == 0) { //comprobamos
si el boton1 esta pulsado
opcion = 1;
estadoboton2 = 1; //bloqueado
estadoboton3 = 1;
while (digitalRead(boton1) == LOW);
}

if (digitalRead(boton2) == LOW and estadoboton2 == 0 ) { // si el boton2 esta


pulsado
opcion = 2;
estadoboton1 = 1; //bloqueado

ROBOTICA 3
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
estadoboton3 = 1;
while (digitalRead(boton2) == LOW);
}

if (digitalRead(boton3) == LOW and estadoboton3 == 0 ) { // si el boton2 esta


pulsado
opcion = 3;
estadoboton1 = 1; //bloqueado
estadoboton2 = 1;
while (digitalRead(boton3) == LOW);
}

if (opcion == 1) {
float temper = dht.readTemperature(); //lee la temperatura
lcd.setCursor(0, 0); //
lcd.print("TEMP: ");
lcd.print(temper);
lcd.print((char)223); //
lcd.print("C");
lcd.setCursor(0, 1); // linea 2, posicion 0
lcd.print(" Limite ");
lcd.print(limiteTemp);

if (digitalRead(boton4) == LOW) { //verificamos si el boton2 esta pulsado


opcion = 0;
estadoboton1 = 0;
estadoboton2 = 0;
estadoboton3 = 0;
while (digitalRead(boton4) == LOW);
}

if (temper >= limiteTemp) {


digitalWrite(ledAmarillo, HIGH);

ROBOTICA 4
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
delay(300);
digitalWrite(ledAmarillo, LOW);
delay(300);
} else {
digitalWrite(ledAmarillo, LOW);
}
} else if (opcion == 2) {
float humedad = dht.readHumidity(); //Se lee la humedad
lcd.setCursor(0, 0);
lcd.print("Hum: ");
lcd.print(humedad);
lcd.print(" %");
lcd.setCursor(0, 1); //
lcd.print(" Limite ");
lcd.print(limiteHum);

if (humedad >= limiteHum) {


digitalWrite(ledRojo, HIGH);
delay(300);
digitalWrite(ledRojo, LOW);
delay(300);
} else {
digitalWrite(ledRojo, LOW);
}

if (digitalRead(boton4) == LOW) { //verificamos si el boton4 esta pulsado


opcion = 0;
estadoboton1 = 0;
estadoboton2 = 0;
estadoboton3 = 0;
while (digitalRead(boton4) == LOW);
}

ROBOTICA 5
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas

} else if (opcion == 3) {

lcd.setCursor(0, 0);
lcd.print("LimTemp: ");
lcd.print(limiteTemp);

lcd.setCursor(0, 1); //
lcd.print("LimTemp: ");
lcd.print(limiteHum);

if (digitalRead(boton3) == LOW) { //verificamos si el boton3 esta pulsado


estadoPulsado++;
if (estadoPulsado > 2) {
estadopulsado = 1;
}
while (digitalRead(boton3) == LOW);
}

if (digitalRead(boton1) == LOW) { //verificamos si el boton3 esta pulsado


if (estadoPulsado == 1) {
limiteTemp++;
}
if (estadoPulsado == 2) {
limiteHum++;
}

while (digitalRead(boton1) == LOW);


}
if (digitalRead(boton2) == LOW) { //verificamos si el boton4 esta pulsado
if (estadoPulsado == 1) {
limiteTemp--;

ROBOTICA 6
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
}
if (estadoPulsado == 2) {
limiteHum--;
}
while (digitalRead(boton2) == LOW);
}

if (digitalRead(boton4) == LOW) { //verificamos si el boton4 esta pulsado


opcion = 0;
estadoboton1 = 0;
estadoboton2 = 0;
estadoboton3 = 0;
while (digitalRead(boton4) == LOW);
}
} else {
lcd.setCursor(0, 0); // Ponte en la line 1, posicion 3
lcd.print(" BIENVENIDOS ");
lcd.setCursor(0, 1); // Ponte en la line 2, posicion 0
lcd.print("1.TE 2.HU 3.LI");
}
}

ROBOTICA 7
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas

Plano del circuito (conexiones)

ROBOTICA 8
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
3. Componentes

Arduino UNO R3 o Compatible


Arduino es una plataforma electrnica abierta para la creacin de prototipos y
aplicaciones basadas en microcontroladores, donde tanto el software como el
hardware son libres, flexibles y fciles de usar.

Arduino puede tomar informacin del entorno que lo rodea a travs de sus pines de
entrada, a los que se le puede conectar una amplia gama de sensores y transductores.
Del mismo modo, puede actuar sobre dicho entorno mediante sus pines o lneas de
salida. Con ellas es posible controlador luces, motores, rels, altavoces y todo tipo de
actuadores.

5 Resistencias de 1/2 Watts (2 resistencias de 1k ohm, 3


resistencias de 220 ohm)

La resistencia elctrica es una medida que se opone al paso de corriente elctrica.


En nuestro caso, las resistencias regularan el paso de corrientes elctricas en el
circuito, existiendo una cada de tensin entre sus terminales, disipando esa
energa en forma de calor.

ROBOTICA 9
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Ing. De Sistemas
1 diodo led rojo y 1 diodo led amarillo
Es una fuente de luz constituida por un material semiconductor dotado de
dos terminales.

1 Protoboard
Es un tablero con orificios que se encuentran conectados elctricamente entre s de
manera interna, habitualmente siguiendo patrones de lneas, en el cual se pueden
insertar componentes electrnicos y cables para el armado y prototipo de circuitos
electrnicos y sistemas similares. Est hecho de dos materiales, un aislante,
generalmente un plstico, y un conductor que conecta los diversos orificios entre s.
Uno de sus usos principales es la creacin y comprobacin de prototipos de circuitos
electrnicos antes de llegar a la impresin mecnica del circuito en sistemas de
produccin comercial.

Cables para arduino


Es un cable con un conector en cada punta (o a veces sin ellos), que se usa
normalmente para interconectar entre s los componentes en una placa de
pruebas.

ROBOTICA 10
UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO
Facultad de Ingeniera Civil, Sistemas y Arquitectura
Sensor de temperatura DHT 22 Ing. De Sistemas

Display LCD 16X02

Potencimetro 5K

ROBOTICA 11

Vous aimerez peut-être aussi