28 ene. 2015

CONTROLANDO LUCES POR EL PUERTO SERIAL

En esta práctica vamos a aprender a establecer una comunicación por el puerto Serial PC-> ARDUINO. Para ello nos familiarizaremos con la librería Serial, y se recomienda ver
http://mindstormsyarduino.blogspot.com.es/2011/06/arduino-y-la-comunicacion-serie.html
y
http://arduino.cc/en/pmwiki.php?n=Reference/Serial 


MATERIAL NECESARIO
1 – Tarjeta ARDUINO UNO
1 – Cable USB para Arduino
1 – Placa Protoboard
1 – Software IDE de Arduino
6- Diodo Led de cualquier color (Común)
6- Resistencia de 220 / 330 Ohms
Para ello abordaremos siempre la práctica desde sus dos aspectos:
  • El hardware (cómo conectar la placa ARDUINO a los diferentes componentes electrónicos necesarios)
  • El software (escribir el código necesario para conseguir nuestro propósito)
En cuanto al hardware o conexionado físico de los componentes sería el siguiente:
MONTAJE EN PLACA PROTOBOARD
ESQUEMÁTICO
Y en cuanto al código, sería el siguiente:


CÓDIGO
/* Práctica para controlar las luces de una casa mediante órdenes a través
del puerto serie */

#define DORMITORIO1 13
#define DORMITORIO2 12
#define ASEO1 11
#define ASEO2 10
#define COCINA 9
#define SALON 8

String orden;

void setup(){

pinMode(DORMITORIO1, OUTPUT); // Declaramos que utilizaremos el pin 13 como salida
pinMode(DORMITORIO2, OUTPUT); // Declaramos que utilizaremos el pin 12 como salida
pinMode(ASEO1, OUTPUT); // Declaramos que utilizaremos el pin 11 como salida
pinMode(ASEO2, OUTPUT); // Declaramos que utilizaremos el pin 10 como salida
pinMode(COCINA, OUTPUT); // Declaramos que utilizaremos el pin 9 como salida
pinMode(SALON, OUTPUT); // Declaramos que utilizaremos el pin 8 como salida
Serial.begin(9600);
}

void loop(){
if (Serial.available()>0){

orden=Serial.readString();

/* ORDENES PARA CONTROLAR LAS LUCES DE LA CASA:
DORMITORIO1 ON
DORMITORIO1 OFF
DORMITORIO2 ON
DORMITORIO2 OFF
ASEO1 ON
ASEO1 OFF
ASEO2 ON
ASEO2 OFF
COCINA ON
COCINA OFF
SALON ON
SALON OFF
*/
if (orden=="DORMITORIO1 ON")
digitalWrite(DORMITORIO1, HIGH);
if (orden=="DORMITORIO1 OFF")
digitalWrite(DORMITORIO1, LOW);

if (orden=="DORMITORIO2 ON")
digitalWrite(DORMITORIO2, HIGH);
if (orden=="DORMITORIO2 OFF")
digitalWrite(DORMITORIO2, LOW);

if (orden=="ASEO1 ON")
digitalWrite(ASEO1, HIGH);
if (orden=="ASEO1 OFF")
digitalWrite(ASEO1, LOW);

if (orden=="ASEO2 ON")
digitalWrite(ASEO2, HIGH);
if (orden=="ASEO2 OFF")
digitalWrite(ASEO2, LOW);

if (orden=="COCINA ON")
digitalWrite(COCINA, HIGH);
if (orden=="COCINA OFF")
digitalWrite(COCINA, LOW);

if (orden=="SALON ON")
digitalWrite(SALON, HIGH);
if (orden=="SALON OFF")
digitalWrite(SALON, LOW);
}
}
 

No hay comentarios:

Publicar un comentario