Domotica Arduino
Domotica Arduino
Domotica Arduino
09 de Marzo de 2023
OBJETIVOS
OBJETIVOS ESPECIFICOS:
Realizar la debida investigación sobre las aplicaciones de domótica con Arduino
Realizar códigos los cuales estén destinados a la domótica doméstica.
MARCO TEORICO
DESARROLLO
Arduino es una plataforma de creación de electrónica de código abierto, la cual está
basada en hardware y software libre, flexible y fácil de utilizar para los creadores y
desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de una
sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso.
presentados por dos niveles de tensión eléctrica, uno alto, H y otro bajo, L (de High y Low,
respectivamente, en inglés). Por abstracción, dichos estados se sustituyen por ceros y unos, lo
que facilita la aplicación de la lógica y la aritmética binaria. Si el nivel alto se representa por 1 y
el bajo por 0, se habla de lógica positiva y en caso contrario de lógica negativa.
Cabe mencionar que, además de los niveles, en una señal digital están las transiciones de alto
a bajo y de bajo a alto, denominadas flanco de bajada y de subida, respectivamente. En una
señal digital, se denomina flanco a la transición del nivel bajo al alto (flanco de subida) o del
nivel alto al bajo (flanco de bajada).
Los pines de Arduino (Atmega) se establecen de forma predeterminada en las entradas, por lo
que no es necesario declararlos explícitamente como entradas con pinMode() cuando los usa
como entradas. Se dice que los pines configurados de esta manera están en un estado de alta
impedancia. Los pines de entrada hacen demandas extremadamente pequeñas en el circuito
que están muestreando, equivalentes a una resistencia en serie de 100 megaohmios frente al
pin. Esto significa que se necesita muy poca corriente para mover el pin de entrada de un
estado a otro, y puede hacer que los pines sean útiles para tareas como implementar un sensor
táctil capacitivo, leer un LED como un fotodiodo o leer un sensor analógico con un esquema.
como RCTime.
Sin embargo, esto también significa que los pines configurados como pinMode(pin, INPUT) sin
nada conectado a ellos, o con cables conectados a ellos que no están conectados a otros
circuitos, reportarán cambios aparentemente aleatorios en el estado del pin, captando ruido
eléctrico del entorno, o acoplar capacitivamente el estado de un pin cercano.
PARTES DE LA PLACA DE UN ARDUINO.
(1 y 2) Alimentación USB/5VDC
Arduino UNO puede ser alimentado desde un cable USB tipo B o mini conectado a tu
ordenador, o desde una fuente de alimentación entre 6V y 18V. En la imagen de arriba, la
conexión USB está etiquetada (1) y el conector de la fuente de alimentación (2).
Ademas, la conexión USB sirve para cargar código en la placa de Arduino desde donde se
pueden enviar datos de la programación e instrucciones a la placa.
(4) Conexiones
Los pines de Arduino se utilizan para conectar los cables necesarios para construir un circuito.
Este tipo de conexiones tiene varios pines, cada uno de los cuales está impreso en la placa y se
utilizan para diferentes funciones:
Las funciones sirven principalmente para ordenar tu código y hacer que unas partes del
programa sean independientes de otras. Esto te facilita mucho el trabajo cuando tienes
que buscar y solucionar errores. Además, evitan repetir las mismas instrucciones de
código una y otra vez.
Primero void setup () . Dentro de esta función principal escribiremos las sentencias de
configuración que necesitaremos para que Arduino trabaje correctamente. Éstas se ejecutarán
al iniciar Arduino y una única vez. Con ellas, por ejemplo, asignaremos la característica de
entrada/salida a los pines, el modo de comunicación serial, activaremos los sensores que
vayamos a necesitar, escribiremos órdenes de inicio del programa…etc. Algunas de estas
sentencias pueden ser: pinMode (, ), Serial. Begin (,), sensors. begin(,)…
La segunda función principal es void loop () . Ésta debe ir siempre después de void setup (). En
ella escribiremos todas las sentencias, bucles y llamadas a funciones que necesitemos que
nuestro Arduino repita constantemente. Se escribirán en orden de ejecución. Ejemplo de éstas
pueden ser digitalWrite (, ), Serial.print(“ “), if( )…
EJEMPLOS DE CÓDIGO
Salida digital
Salida digital II
En este ejemplo el LED conectado al pin 13 parpadea en un intervalo de tiempo variable que
depende del número de veces que se ejecuta el programa (función loop)
Entrada digital
Este ejemplo lee el valor de un interruptor conectado en el pin 2. Cuando el interruptor está
cerrado en el pin de entrada habrá un estado alto (HIGH) y se encenderá el LED.
Salida PWM
Modulación por ancho de pulso (PWM) puede emplearse, por ejemplo, para establecer el brillo
de un led o controlar un servomotor. En el siguiente ejemplo se va aumentando y
decrementando el brillo del pin 9 mediante PWM.
pinMode(2,OUTPUT);
rtc.begin();
Wire.begin();
lcd.init();
lcd.backlight();
lcd.setCursor (0,0);
lcd.print ("JAVIER");
delay(2000);
lcd.clear();
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(0,0);
lcd.print(DiaSemana[now.dayOfWeek()]);
lcd.print(' ');
lcd.print(now.date(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.setCursor(4,1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
delay(1000);
lcd.clear();
int hora =now.hour();
int minuto =now.minute();
int segundo = now.second();
if(minuto >=10 && minuto <=11 ){
digitalWrite(2,true);
}
else {
digitalWrite(13,false);
}
}
int ECO = 9;
int LED = 3;
int DURACION;
int DISTANCIA;
void setup(){
pinMode(TRIG, OUTPUT);
pinMode(ECO, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
void loop(){
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
Serial.println(DISTANCIA);
delay(200);
digitalWrite(LED, HIGH);
delay(DISTANCIA * 10);
digitalWrite(LED, LOW);
void setup()
{
for(int pin=2;pin<=11;pin++)
pinMode(pin,OUTPUT);
pinMode(echo,INPUT);
pinMode(trigger,OUTPUT);
Serial.begin(9600);
delay(100);
}
void loop()
{