Está en la página 1de 24

INTRODUCCION

En el siguiente reporte se hablará sobre un Mi Arduino. Para realizar nuestro


invernadero, tendremos que realizar una placa PCB, con los componentes
necesarios para poder controlar los sensores que se aplicaran y se usaran en
nuestro invernadero, para esto, se realizara la placa PCB Arduino, la cual será
capaz de controlar y entender las señales que reciba de los sensores realizados,
por ejemplo, del sensor de humedad, de lluvia, de luz, etc. Arduino es una de las
placas más populares del mundo. Su versatilidad y la infinidad de posibilidades que
ofrece la convierten en una de las herramientas de programación más completas
del mercado. El Arduino, se realizará mediante diferentes componentes que se
podrán ver a lo largo del reporte, pero, aquí lo más importante, será el programar el
mismo, para que así, nuestro Arduino sea capaz de recibir, entender y tomar acción
de las señales que reciba. El objetivo de este reporte, es comprender que es o que
significa un Arduino, como se programa el mismo, y como lo programaremos
nosotros para que así pueda ser funcional.

2
¿Qué es Arduino?

Arduino es una empresa, un proyecto y una comunidad de usuarios de hardware y


software de código abierto que diseña y fabrica microcontroladores de placa única
y kits de microcontroladores para crear dispositivos digitales. Sus productos de
hardware tienen licencia CC BY-SA , mientras que el software tiene licencia GNU
Lesser General Public License (LGPL) o GNU General Public License (GPL),
permitiendo la fabricación de placas Arduino y la distribución de software por
cualquier persona. Las placas Arduino están disponibles comercialmente en el sitio
web oficial o a través de distribuidores autorizados.

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.

Basada en la filosofía del software libre, Arduino es una plataforma de electrónica


“open-source”o de código abierto cuyos principios son contar con software y
hardware fáciles de usar. Básicamente lo que permite esta herramienta es la
generación de infinidad de tipos de microordenadores de una sola placa, que luego
pueden tener una amplia variedad de usos según la necesidad de la persona que lo
cree. Es decir, una forma sencilla de realizar proyectos interactivos para cualquier
persona.

3
En este caso, nosotros realizaremos nuestra propia replica de Arduino, la cual será
realizada a partir de una placa fenólica, soldando desde cero cada uno de los
componentes necesarios. MiArduino CH340, que es el nombre que se le dio a
nuestra replica, es una réplica con ciertas modificaciones de la placa Arduino UNO,
las modificaciones fueron hechas con el propósito de facilitar la construcción de
tarjeta asumiendo que la persona que la construya no posee la experiencia y el
conocimiento suficiente en la fabricación de placas de circuito impreso.
Por tal motivo se hicieron las siguientes modificaciones al diseño original:

• Se diseñó la placa PCB en una cara para facilitar su construcción.


• Se diseñó el circuito con piezas normales no de montaje de superficie.
• Se utiliza un solo circuito de montaje de superficie que sirve como circuito de
comunicación USB a serial TTL para comunicar el IDE de Arduino con el
microcontrolador Atmega328
• Para no quemar puertos USB de computadoras se optó por eliminar la
alimentación de energía proveniente del USB para no causar cortos circuitos
por tal motivo se requiere de una fuente de alimentación externa tanto para
operar como para programar la tarjeta.
• Se utilizará el método de trasferencia de PRESS-N-PEEL para fabricar la
placa PCB.

En la imagen anterior tenemos nuestra placa PCB, de MiArduino CH340, con los
componentes ya soldados e instalados de la manera correcta en la placa.

4
En la ilustración anterior, se tiene la placa PCB, sin lo componentes, se tiene
solamente con los canales de cobre estañados para así poder darle conexión y
continuidad a los componentes que se soldaran.

Entonces, ¿te imaginas ya para qué sirve un Arduino? Por darte una idea, con un
Arduino puedes crear básicamente lo que quieras, desde una báscula, un reloj,
hasta unas puertas controladas por voz, etc. Para que puedas entender cómo
podemos pasar de un microordenador a un sistema complejo como el que
acabamos de mencionar, vamos a ahondar en qué son las placas Arduino y en su
historia

Para poder entender este concepto, primero vas a tener que entender los conceptos
de hardware libre y el software libre. El hardware libre son los dispositivos cuyas
especificaciones y diagramas son de acceso público, de manera que cualquiera
puede replicarlos. Esto quiere decir que Arduino ofrece las bases para que cualquier
otra persona o empresa pueda crear sus propias placas, pudiendo ser diferentes
entre ellas, pero igualmente funcionales al partir de la misma base.

5
El software libre son los programas informáticos cuyo código es accesible por
cualquiera para que quien quiera pueda utilizarlo y modificarlo. Arduino ofrece la
plataforma Arduino IDE (Entorno de Desarrollo Integrado), que es un entorno de
programación con el que cualquiera puede crear aplicaciones para las placas
Arduino, de manera que se les puede dar todo tipo de utilidades.

6
Origen

Esta plataforma se inició en el año 2005 como un proyecto para estudiantes en el


Instituto IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban el
microcontrolador BASIC Stamp, cuyo coste era de 100 dólares estadounidenses, lo
que se consideraba demasiado costoso para ellos. Por aquella época, uno de los
fundadores de Arduino, Massimo Banzi, daba clases en Ivrea.

El nombre del proyecto viene del nombre del Bar di Re Arduino (Bar del Rey
Arduino) donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de
Italia entre los años 1002 y 1014.

En la creación de este proyecto contribuyó el estudiante colombiano Hernando


Barragán, quien desarrolló la tarjeta electrónica Wiring, el lenguaje de programación
y la plataforma de desarrollo. Una vez concluida dicha plataforma, los
investigadores trabajaron para hacerlo más ligero, económico y disponible para la
comunidad de software libre (hardware y código abierto). El instituto finalmente cerró
sus puertas, así que los investigadores, entre ellos el español David Cuartielles,
promovieron la idea. Banzi afirmaría años más tarde que el proyecto nunca surgió
como una idea de negocio, sino como una necesidad de subsistir ante el inminente
cierre del Instituto de diseño Interactivo IVREA. El motivo es que, al crear un
producto de hardware abierto, nadie podría embargarlo.

El proyecto Arduino se inició en el Interaction Design Institute Ivrea (IDII) en Ivrea,


Italia. En ese momento, los estudiantes usaban un microcontrolador BASIC Stamp
a un costo de $50. En 2003 Hernando Barragán creó la plataforma de desarrollo
Wiring como proyecto de tesis de maestría en el IDII, bajo la supervisión de Massimo
Banzi y Casey Reas. Casey Reas es conocido por cocrear, con Ben Fry, la
plataforma de desarrollo Processing. El objetivo del proyecto era crear herramientas
simples y de bajo costo para crear proyectos digitales por personas que no son
ingenieros. La plataforma Wiring constaba de una placa de circuito impreso (PCB)
con un Microcontrolador ATmega 128, un IDE basado en Processing y funciones de
biblioteca para programar fácilmente el microcontrolador. En 2005, Massimo Banzi,
con David Mellis, otro estudiante de IDII, y David Cuartielles, ampliaron Wiring
agregando soporte para el microcontrolador ATmega8 más económico. El nuevo
proyecto, derivado de Wiring, se llamó Arduino.

El equipo central inicial de Arduino estaba formado por Massimo Banzi, David
Cuartielles, Tom Igoe, Gianluca Martino y David Mellis.

Tras la finalización de la plataforma, se distribuyeron versiones más ligeras y menos


costosas en la comunidad de código abierto. Se estimó a mediados de 2011 que se
habían producido comercialmente más de 300 000 Arduinos oficiales, y en 2013
había 700 000 placas oficiales en manos de los usuarios.

7
Arduino se puede utilizar para desarrollar elementos autónomos, o bien conectarse
a otros dispositivos o interactuar con otros programas, para interactuar tanto con el
hardware como con el software. Sirve tanto para controlar un elemento, pongamos
por ejemplo un motor que nos suba o baje una persiana basada en la luz que haya
gracias a un sensor conectado al Arduino, o bien para transformar la información de
una fuente, como puede ser un teclado, y convertir la información a algo que
entienda, por ejemplo, un ordenador.

Actualmente, el uso de Arduino puede catalogarse en dos grandes grupos:

1. Arduino se utilizado como un microcontrolador, cuando tiene un programa


descargado desde un ordenador y funciona de forma independiente de éste, y
controla y alimenta determinados dispositivos y toma decisiones de acuerdo al
programa descargado e interactúa con el mundo físico gracias a sensores y
actuadores.

8
Cómo funciona Arduino

El Arduino es una placa basada en un microcontrolador ATMEL. Los


microcontroladores son circuitos integrados en los que se pueden grabar
instrucciones, las cuales las escribes con el lenguaje de programación que puedes
utilizar en el entorno Arduino IDE. Estas instrucciones permiten crear programas
que interactúan con los circuitos de la placa.

El microcontrolador de Arduino posee lo que se llama una interfaz de entrada, que


es una conexión en la que podemos conectar en la placa diferentes tipos de
periféricos. La información de estos periféricos que conectes se trasladará al
microcontrolador, el cual se encargará de procesar los datos que le lleguen a través
de ellos.

El tipo de periféricos que puedas utilizar para enviar datos al microcontrolador


depende en gran medida de qué uso le estés pensando dar. Pueden ser cámaras
para obtener imágenes, teclados para introducir datos, o diferentes tipos de
sensores.

También cuenta con una interfaz de salida, que es la que se encarga de llevar la
información que se ha procesado en el Arduino a otros periféricos. Estos periféricos
pueden ser pantallas o altavoces en los que reproducir los datos procesados, pero
también pueden ser otras placas o controladores.

10
Arduino es un proyecto y no un modelo concreto de placa, lo que quiere decir que
compartiendo su diseño básico te puedes encontrar con diferentes tipos de placas.
Las hay de varias formas, tamaños y colores para a las necesidades del proyecto
en el que estés trabajando, las hay sencillas o con características mejoradas,
Arduinos orientados al Internet de las Cosas o la impresión 3D y, por supuesto,
dependiendo de estas características te encontrarás con todo tipo de precios.

Además, las placas Arduino también cuentan con otro tipo de componentes
llamados Escudos (Shields) o mochilas. Se trata de una especie de placas que se
conectan a la placa principal para añadirle una infinidad de funciones, como GPS,
relojes en tiempo real, conectividad por radio, pantallas táctiles LCD, placas de
desarrollo, y un larguísimo etcétera de elementos. Incluso hay tiendas con
secciones especializadas en dichos elementos.

11
Qué podemos hacer con uno

La enorme flexibilidad y el carácter libre y abierto de Arduino hacen que puedas


utilizar este tipo de placas prácticamente para cualquier cosa, desde relojes hasta
básculas conectadas, pasando por robots, persianas controladas por voz o tu propio
vending machine. En los siguientes se tienen varios ejemplos.

Un ejemplo lo tenemos en este proyecto en el que podemos sincronizar de manera


automática nuestro calendario de Google o el correo de Gmail para que, en base a
nuestros eventos, el sistema configure una serie de alarmas. Está hecho conna de
las placas más desconocidas del mundo Arduino, la Yún, y una pantalla que la
convierte en reloj digital. (https://youtu.be/9RhelsY-3jc )

Necesitas una impresora 3D para la carcasa y algunas piezas, pero el acabado será
entonces excelente. En este proyecto, con una placa Arduino como cerebro y
sensores para detectar hasta 200 kg de peso, puedes construirte tu propia báscula
conectada, con acceso al servicio IFTTT para conectar con otras cuentas de
cuantificación. (https://youtu.be/Fa-GL3Vo5TY )

Una máquina de chicles o cuches que solo se activa si sobre su superficie indicamos
un patrón sonoro específico. Vamos, que es una máquina de chuches que
activaremos con un ritmo que hayamos configurado. El proyecto combina sensores
piezoeléctricos con el cerebro de Arduino. (https://youtu.be/8kRTpmswgFk )

Con paciencia, cogiendo el código ya programado y realizando unas cuantas


soldaduras, una placa Arduino ATmega328 de menos de 10 euros es la base para
montar nuestro propio sistema de acceso a casa por medio de huella dactilar.
Incluso podemos incluir una pantalla que integre el ATmega328 para hacer el
sistema más compacto. (https://youtu.be/uK8gm9a0k-g )

Un servomotor adecuadamente colocado para mover unas persianas venecianas


puede convertirse, en poco tiempo y con algo de programación, en un sistema
controlado por voz vía bluetooth y que nos permita tanto abrirlas como cerrarlas a
demanda. Una vez que has asimilado el funcionamiento y programación del
sistema, automatizar más elementos de casa es cuestión de tiempo e imaginación.
(https://youtu.be/kRFu2_iiv4M )

Mucho de bricolaje pero también gran cantidad de satisfacción es lo que nos


llevamos si completamos este proyecto para construir una máquina de vending
personal. Tenemos las instrucciones de construcción, montaje y por supuesto la
programación en Arduino. (https://youtu.be/BHQBsswUeT0 )

12
Portátil y de bajo coste. Así es la alarma para mochilas que con una placa Arduino
y un acelerómetro de tres ejes podemos construir en muy poco tiempo. Una vez
activada, si la mochila se mueve unos 10 grados, podemos hacer que suene la
alarma sin piedad. (https://youtu.be/SWqe4L3AAvU )

También tenemos este jardín automatizado que recoge datos y se encarga de regar
las plantas de nuestro huerto urbano de manera automática. Con este proyecto, si
tienes la información adecuada, mantener un huerto es cuestión de menos
dedicación. https://youtu.be/O_Q1WKCtWiA )

También existen proyectos como este, en el que se puede crear un brazo robótico
capaz de, tras coger un objeto con unas pinzas, no chocar contra obstáculos gracias
a un sensor de ultrasonidos. (https://youtu.be/-mQ_7H8bhck )

13
¿Cómo programar en Arduino?

Estas placas están basadas en un microcontrolador del tipo ATMEL, es decir, un


controlador en el que podemos grabar instrucciones para que las ejecute sin
necesidad de estar introduciendo los comandos a mano una y otra vez. Para escribir
estas instrucciones es necesario usar un software llamado Arduino IDE, el Entorno de
Desarrollo Integrado oficial que cuenta con todo lo necesario para poder dar forma a
los programas que creamos para este dispositivo.

Aunque Arduino utiliza un lenguaje de programación propio, este está basado en C++.
Por lo tanto, comparte las principales ventajas de este lenguaje de programación.
Además, en las versiones más recientes del IDE, es posible incluso enviarle las
instrucciones directamente en C++ sin tener que traducirlas a su propio lenguaje para
programar esta placa.

Además de usar C++, el Arduino IDE también soporta otros lenguajes de


programación alternativos, como es el caso de C (sin las extensiones de
C++), Wiring (una plataforma de prototipado electrónico formada por un lenguaje de
programación, un entorno de desarrollo integrado (IDE) y un microcontrolador), así
como en Processing (un lenguaje de programación basado en Java, pero enfocado a
placas electrónicas).

Programar para Arduino no es muy diferente a hacerlo para cualquier otro


microcontrolador, e incluso para hacerlo en cualquier lenguaje de programación.
Simplemente debemos tener en cuenta las características especiales del IDE y del
lenguaje que vamos a utilizar.

A grandes rasgos, la sintaxis es muy similar, como ya hemos explicado, a la de C++.


Si ya conocemos este lenguaje de programación, seguramente nos hagamos muy
rápido a los cambios que encontraremos para dar forma a este sistema. Mientras
programamos en el IDE podemos añadir comentarios que nos ayudarán a entender
mejor el código y, además, ayudarán a otras personas a entenderlo en caso de que lo
compartamos. Igual que en otros lenguajes, cada sentencia debe acabar en una coma
(,) o en punto y coma (;), ya que, de lo contrario, el compilador tratará todo como una
misma sentencia y el compilador dará error.

Dentro de la sintaxis nos encontraremos con otro elemento muy importante:


las variables. Estas se utilizarán para guardar distinta información en la memoria,
acceder a ella cuando lo necesitemos, y podremos modificarla en función de las
necesidades del programa.

Y también debemos tener en cuenta las funciones, o métodos. Especialmente


aquellas que están relacionadas con la comunicación con los pines. Por ejemplo, una
de las más básicas es «digitalWrite()«, la cual nos permite, mediante parámetros,
activar o desactivar la corriente en un pin concreto.

14
A continuación se mostrarán comandos básicos para programar en Arduino:

Funciones para controlar y realizar operaciones

15
Variables, tipos de datos y constantes

Estructura, elementos del código para Arduino (C++)

16
Para programar nuestro Arduino tenemos que tomar en cuenta, o saber ciertas cosas
para lograr de manera exitosa la programación deseada.

Tenga cuidado con el límite máximo de velocidad de reloj

Arduino UNO tiene una velocidad de reloj interno de 16 MHz. Que es de 16 millones de
tics de reloj por segundo. Eso suena como mucho, pero tenga en cuenta lo siguiente:
Cada instrucción o control en un programa utiliza los impulsos de reloj. Mientras más
tareas le hace hacer a su programa, más rápido se consume ese superávit
aparentemente interminable de ciclos de reloj; y antes de que usted lo sepa,
sorprendentemente, la placa Arduino se ha quedado sin señales de entrada o impulsos
de salida. Literalmente no tiene suficiente tiempo para hacer todo lo que se puede
esperar de ella. Para trabajos básicos rara vez esto sea un problema, pero a medida
que sus proyectos crecen usted se va a enfrentar a los mismos. El límite máximo de
velocidad de reloj realmente se hace aparente cuando empieza a tratar de controlar los
motores de pasos o al manipular la respuesta del codificador de servomotores.

Aprenda a usar las bibliotecas de Arduino

Explicar realmente en qué consisten las


bibliotecas lleva mucho más tiempo y
espacio del que está disponible en el
artículo sobre consejos rápidos, pero aquí
tiene una analogía para ayudarle a
entender el concepto. Una biblioteca es
como una caja de herramientas para un
conjunto de tareas relacionadas. Solo tiene
que incluir las cajas de herramientas que
contienen las herramientas que usted
necesita en su proyecto.

Por ejemplo, incluido con el entorno de


desarrollo de Arduino se encuentra la
biblioteca "cable". El cable es un conjunto
completo de herramientas para
comunicaciones I2C seriales. Las
herramientas de cable automatizan la
mayoría de las tareas involucradas en las
comunicaciones I2C. Usted podría escribir
el código para hacer todo esto por sí mismo, lo cual definitivamente vale la pena hacer
para que la experiencia de aprendizaje, pero no tiene que hacerlo si usted aprende a
utilizar eficazmente las bibliotecas.

17
Aprenda los principios básicos de los puertos, y sea consciente de la
comunicación en paralelo

Aprenda la comunicación en paralelo, y concretamente la comunicación en serie.


Busque qué significa la sigla UART (es como un teléfono serial universal para un
microcontrolador). Busque el significado de SPI (Interfaz periférica serial) y I 2C, que se
dice I con C al cuadrado. Atmel, la empresa que produce los chips que se encuentran
en el corazón de la mayoría de las placas Arduino, tiene algunas notas de aplicación
muy útiles sobre el tema de comunicaciones SPI y I 2C. La mayoría de los sensores y
otros accesorios que acabará utilizando se comunican con Arduino a través de una
conexión serial SPI o I2C. Aprender estas técnicas de comunicación hará que sea
mucho más fácil de usar estos accesorios.

No olvide sus límites de memoria

La mayoría de quienes están comenzando, se inician con una de estas placas básicas
como la UNO o una Trinket. Finalmente descubrirá que ha llenado la memoria y la RAM.
Llegar a este límite es una buena cosa. Esto puede sonar ridículo, pero permítame que
le explique.

Inevitablemente, los programadores principiantes y experimentados por igual, tienden


a producir un código extenso y desorganizado que requiere más recursos de los
necesarios. Casi siempre hay maneras para ajustar el código. El objetivo es hacer que
sea lo más compacto posible, y sacar el máximo provecho de los recursos que se tienen.
Hasta que se enfrente a una puerta cerrada, ¿por qué habría de detenerse a considerar
nada de esto? Llegar al límite de la memoria le obliga a ser más astuto. Le obliga a
reconsiderar lo que ya ha hecho y buscar formas de mejorar. Si usted acaba de pasar
a una placa con más memoria, se estará privando de esta experiencia.

Eventualmente, usted puede tener que conseguir una tarjeta con más RAM y más
memoria, pero no se apresure.

Aquí tiene una pequeña sugerencia para comenzar: Si usted descubre que se está
quedando sin RAM, pruebe este truco para leer cadenas de texto directamente desde
la memoria de programa, en lugar de hacerlo desde la memoria RAM:
Serial.println(F("su texto aquí");

La F macro insertada aquí entre los paréntesis, impide que el texto se cargue en la
memoria RAM al iniciar el programa. La cadena se lee directamente desde la memoria
flash cuando sea necesario.

18
Algunas placas Arduino no tienen capacidad USB nativa

La mayoría de los microcontroladores no manejan comunicaciones USB de modo


innato. Hay dos maneras en las que esto suele ser eludido, y una manera menos común
la cual utiliza Trinket. La primera solución común es colocar un chip independiente en
la placa para gestionar la comunicación USB. Este chip también convierte los datos de
la conexión USB en un formato comprensible por el UART del microcontrolador
principal. El otro método común consiste en una pieza de hardware que se enchufa en
el micro cuando desee comunicar al micro a través de USB.

Específicamente me refiero a Trinket en este consejo a raíz de un incidente que tuve en


el trabajo donde se solicitaron algunas placas Trinket para utilizar como interfaz entre
una PC que ejecutaba LabVIEW y una caja de control experimental. Cuando llegaron
las Trinket, nos dimos cuenta de que no tenían el hardware de control de USB en placa.

Era un problema fácil de remediar. Entonces ordenamos algunas placas UNO de


Arduino. Estas tienen un chip ATmega dedicado en placa para el manejo de la
comunicación USB. Era una cuestión menor, pero que podría haberse evitado si yo
hubiese leído esta sugerencia antes de que hacer el pedido del hardware.

En resumen, si desea utilizar el puerto USB de su placa Arduino para conectarse a una
computadora o una cámara o una unidad USB, asegúrese de que la placa que compra
tiene incluido un controlador USB. O bien, puede agregar capacidad USB con un USB
host shield.

¿Cómo programar nuestro Arduino?

Para poder programar nuestro Arduino, es necesario realizar lo siguiente:


- Tener instalado el software de Mi Arduino en nuestro PC.

- Tener soldado y listo a nuestro Arduino, para asi poder programarlo.

- Por ultimo, correr el programa dado por el profesor, el cual se le tendrán que hacer
unas pequeñas modificaciones, pero eso se realizara de acuerdo a lo dicho por el
profesor.

Una vez hecho y tendiendo lo anterior, podemos proceder a conectar nuestro


MiArduinoCH340, para poder correr el programa en nuestro programa de Arduino, y
así programarlo. El programa que se utilizara es el siguiente:

19
//******************************************
//* PROGRAMA PARA CONTROLAR UN INVERNADERO *
//******************************************

// LIBRERIA DE CRISTAL
#include <LiquidCrystal.h>

// CONFIGURACION DE PINES DE CRISTAL


LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

// DEFINICON DE CONSTANTES
int LM35=0;
float HUMEDAD=0;
float LUZ=0;
int CONTADOR=0;
String TANQUE ="BACIO";

// DEFINICION DE REFERENCIAS DE CONTROL


int referenciatemp=28;
float referenciahumedad=2.00;
float referenciluz=4.00;

// DEFINICION DE PINES
int bombaagua = 8;
int sensorlluvia = 12;
int abanico = 9;
int foco = 10;
int leds = 11;

// CONFIGURACIONES INICIALES
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(bombaagua, OUTPUT);
pinMode(sensorlluvia, INPUT);
pinMode(abanico, OUTPUT);
pinMode(foco, OUTPUT);
pinMode(leds, OUTPUT);
}

// PROGRAMA PRINCIPAL
void loop() {
//LLAMADAS A SUBRUTINAS
tierra();
sol();
temperatura();
agua();

20
//MANDAR POR SERIAL DATOS DE SUBPROGRAMAS
Serial.print("HUMEDAD = ");
Serial.print(HUMEDAD);

Serial.print(" V; BOMBA = ");


Serial.print(digitalRead(bombaagua));

Serial.print("; LUZ = ");


Serial.print(LUZ);

Serial.print(" V; LEDS = ");


Serial.print(digitalRead(leds));

Serial.print("; TEMPERATURA = ");


Serial.print(LM35);
Serial.print("C;");

Serial.print(" FOCO = ");


Serial.print(digitalRead(foco));

Serial.print("; ABANICO = ");


Serial.print(digitalRead(abanico));

Serial.print("; TANQUE = ");


Serial.print(TANQUE);

Serial.print("; CONTADOR = ");


Serial.print(CONTADOR);

Serial.print('\n');
Serial.print('\r');

//SISTEMA DE CONTROL DE RIEGO


if (HUMEDAD >= referenciahumedad)
{
digitalWrite(bombaagua, HIGH);
delay(1000); //******************** AJUSTAR EL TIEMPO SEGUN EL SISTEMA DE
RIEGO
tierra();
if (digitalRead(sensorlluvia) == LOW)
{
Serial.print("HERROR REVISAR BOMBA DE AGUA Y SENSOR DE LLUVIA");
Serial.print('\n');
Serial.print('\r');
delay(1000);
}

21
}
else
{
digitalWrite(bombaagua, LOW);
}

//SISTEMA DE CONTROL DE TEMPERATURA


if (LM35 <= referenciatemp)
{
digitalWrite(abanico,HIGH);
digitalWrite(foco,HIGH);
}
else
{
digitalWrite(abanico,HIGH);
digitalWrite(foco,LOW);
}

//SISTEMA DE CONTROL DE LUZ


if ((CONTADOR >= 0) && (CONTADOR <=100 ) )
{

digitalWrite(leds,LOW);
delay(100);
sol();
if (LUZ >= referenciluz)
{
Serial.print("HERROR REVISAR LEDS Y SENSOR DE LUZ");
Serial.print('\n');
Serial.print('\r');
delay(1000);
}

if ((CONTADOR >= 100) && (CONTADOR <= 200))


{

digitalWrite(leds,HIGH);
delay(100);
sol();
if (LUZ <= referenciluz)
{
Serial.print("HERROR REVISAR LEDS Y SENSOR DE LUZ");
Serial.print('\n');
Serial.print('\r');
delay(1000);

22
}

if (CONTADOR > 200)


{
CONTADOR = 0;
}

CONTADOR == CONTADOR++;

delay(1000);

//****************
//* SUBPROGRAMAS *
//****************

// SUBPROGRAMA LECTURA DE HUMEDAD EN VOLTS


void tierra() {
HUMEDAD = (5.0/1024)*(analogRead(0));
}

// SUBPROGRAMA LECTURA DE INTENCIDAD DE LUZ EN VOLTS


void sol() {
LUZ = (5.0/1024)*(analogRead(1));
}

// SUBPROGRAMA LECTURA DE TEMPERATURA EN GRADOS CENTIGRADOS


void temperatura () {
LM35 = (5.0*(analogRead(2))*100)/1024;
}

// SUBPROGRAMA LECTURA DE NIVEL TANQUE


void agua () {

if (analogRead(3)== 1024)
{
TANQUE = "BACIO";
}

if (analogRead(4)== 1024)
{
TANQUE = "MEDIO";
}

23
if (analogRead(5)== 1024)
{
TANQUE = "LLENO";
}
}

Con esto debería de ser suficiente para poder programar a nuestro Arduino, aunque
puede que no funcione, ya que nuestro PC, puede no tenga los Drivers necesarios
para poder detectar y programarlo, si esto sucede, le instalaremos los drivers
necesarios, en este caso, el driver es el CH340, y el CP2102.

24
CONCLUSION
Como vimos anteriormente, la placa PCB de MiArduinoCH340, es una replica de la original, lo cual
significa que nosotros realizamos una Placa Mi Arduino, desde cero, esto, en general, para todo
el equipo fue muy necesario y gratificante a la vez, ya que, mediante la realización de la misma,
aprendimos demasiadas cosas, desde realizar una Placa PCB, desde un inicio, desde las placas
fenólicas, hasta el proceso de imprimirlas, plancharlas, cortarlas, estañarlas, soldarlas, etc. Este
proceso fue algo difícil al principio, pero al realizarla, lo más fácil fue la programación, una vez
realizada, el hecho de conectarla y que funcionara el programa fue algo grato, ver el trabajo hecho.
Al momento de programarla, se le tuvieron que realizar unos pequeños ajustes, pero todo esto fue
por orden del profesor lo cual no fue tan difícil, solo fue seguir instrucciones.

25

También podría gustarte