Sie sind auf Seite 1von 6

PROGRAMA DEL CONTROL DE TEMPERATURA

// INCLUIMOS LIBRERIAS:

#include <LiquidCrystal.h>

#include <DallasTemperature.h>

#include <OneWire.h>

#include <Keypad.h>; // Con esta linea llamamos a la librería Keypad para que arduino
reconozca el teclado

LiquidCrystal lcd(8,9,10,11,12,13);

const int sensor1 = A0; //MENCIONAMOS USOS DE LOS PUERTOS DEL ARDUINO

const int rele1 = A1;

const int rele2 = A2;

const int rele3 = A3;

const int rele4 = A4;

//FUNCIONES DEL TECLADO

char codigo[3]; // Creamos otra constante, en esta se guardaran los caracteres que
presionemos en nuestro teclado matricial 4x4

int posicion=0; // Esta es una variable que nos servirá más adelante

float TEMPERATURADESEADO = 20; //dato flotante par cambiar la temperatura deseado

const byte FILA = 4; //Este código se estable para definir que nuestro teclado tiene 4 filas

const byte COLUM = 3; //Este código se estable para definir que nuestro teclado tiene 4
columnas

char hexaKeys[FILA][COLUM] = //En el siguiente matriz se agregan en orden las teclas que
posee nuestro teclado

{'1','2','3'}, //'A'},

{'4','5','6'}, //'B'},

{'7','8','9'}, //'C'},

{'*','0','#'} //,'D'}

};
byte filaPins[FILA] = {7, 6, 5, 4 }; // Estos son los pines de conexión de Arduino de las columnas

byte columnaPins[COLUM] = {3, 2, A5 }; //Estos son los pines de conexión de Arduino de las
filas

Keypad tecla = Keypad(makeKeymap(hexaKeys), filaPins, columnaPins, FILA, COLUM); //En


este punto el teclado se inicia y realiza el mapeo de sus teclas con respecto a la matriz
colocada arriba

//FINCIONES DEL SENSOR DE TEMPERATURA

// Instancia a las clases OneWire y DallasTemperature

OneWire oneWireObjeto(sensor1);

DallasTemperature sensorDS18B20(&oneWireObjeto);

void setup()

Serial.begin(9600); //se inicia la comunicacion serial

sensorDS18B20.begin();// se inicia con el bus 1-Wire para el sensor de temperatura

lcd.begin(16, 2);

lcd.clear();

pinMode(sensor1, INPUT); //definir pin como entrada

pinMode(rele1,OUTPUT); //definir pin como salida

pinMode(rele2,OUTPUT);

pinMode(rele3,OUTPUT);

//pinMode(rele4,OUTPUT);

void loop()

//LOOP DE SENSOR DE TEMPERATRA

// Mandamos comandos para toma de temperatura a los sensores

Serial.println("Mandando comandos al sensor");

sensorDS18B20.requestTemperatures();

// LOOP DE PANTALLA SERIAL

// Leemos y mostramos los datos de los sensores DS18B20


//Serial.print(codigo);

//Serial.print(sensorDS18B20.getTempCByIndex(0));

//Serial.println(" C");

//delay(1000);

digitalWrite(rele3, LOW); //salida constantemente ativada para el agitar

if ( sensorDS18B20.getTempCByIndex(0) <= TEMPERATURADESEADO) ///condicion para


ectivar los reles para las resistencias

digitalWrite(rele1,LOW), digitalWrite(rele2,LOW); //Desactiva el rele.

}else

digitalWrite(rele1,HIGH), digitalWrite(rele2,HIGH); //activa el rele

char customKey = tecla.getKey(); //esta linea indica que el carácter presionado se guardara en
la variable customKey

if (customKey != NO_KEY) //Con este siclo preguntamos si se presiono una tecla, si se presiono
entonce el ciclo continua

codigo[posicion]=customKey; //se guardaran los caracteres presionados en codigo[cont]

//Serial.print(codigo[posicion]); //Se imprime en nuestro monitor serial lo que este guardado


en codigo[cont]

posicion=posicion+1; //incrementamos la variable cont (esto con el fin de tener los 4 dígitos
que requerimos)

if(posicion==2) //Ahora comienza otro siclo if, en el cual se pregunta si ya hay 4 datos
guardados y si es así entonce el siclo continua

posicion=0; //resetear a 0 la variable cont

lcd.setCursor(0,0); // indicamos la posicion del cursor

lcd.print("Temp Desead "); // imprimimos en la posicion del cursor


lcd.print( TEMPERATURADESEADO); // imprimir valor despues

lcd.setCursor(0,1); // indicamos la posicion del cursor

lcd.print("Temp C = "); // mprimimos en la posicion del cursor

lcd.print(sensorDS18B20.getTempCByIndex(0)); // mprimimos en la posicion del cursor

delay(500);

PROGRAMA DE CONTROL DE NIVEL ULTRASONIDO

#include <LiquidCrystal.h> // Iniciamos la librería LiquidCrystal

// Inicializamos la libnrería con los números de los pines

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

int trigPin = 2; // Elegimos el pin 2 para Trig

int echoPin = 3; // Elegimos el pin 3 para Echo

long duration, cm; // Variables que utilizaremos

const int rele4 = A4; //AASIGNAMOS RELE a4

float DISTANCIADESEADO = 20;// FLOTANTE PARA CAMBIAR LA ALTURA DESEADO EN cm

void setup() {

lcd.begin(16, 2);// Caracteristicas del lcd

lcd.print(" ");// imprimir espacios en blanco

pinMode(trigPin, OUTPUT); //Definimos entradas y salidas

pinMode(echoPin, INPUT);

pinMode(rele4, OUTPUT);

}
void loop() {

// El emisor se activa al recibir un impulso HIGH de 10 milisegundos.

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

// La duración es el tiempo, en microsegundos que tarda la señal

duration = pulseIn(echoPin, HIGH);

// Convertimos el tiempo en distancia

cm = float (duration / 2) * 0.0343;

if (cm <= DISTANCIADESEADO)//condicion de activacion de bomba a llenar el tamque

digitalWrite(rele4, LOW); //Desactiva el rele.

} else

digitalWrite(rele4, HIGH);

// Imprimimos el resultado en el módulo Arduino LCD KeyPad Shield

lcd.setCursor(0,0); // Set del cursor

lcd.print("DIS DESEA ");//Sensor Val: to LCD

lcd.print( DISTANCIADESEADO);//imprimir la variable deseado

lcd.setCursor(0, 1);//set de la pantalla

lcd.print(cm);//imprimimos variable

lcd.setCursor(7, 1);//posicion del LCD

lcd.print("cm");//imprimimos letra cm
delay(500);// tiempo de retardo

lcd .clear ();// borramos LCD

Das könnte Ihnen auch gefallen