You are on page 1of 8

Arquitectura de

Facultad de Ingeniería y Ciencias Básicas Computadores


Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

INTRODUCCIÓN

En este trabajo se va a explicar cómo se puede hacer un medidor de carga de baterías y


pilas. Lo haremos a través del montaje de un circuito con Arduino.

Suele ser muy típico que tengamos por casa diferentes aparatos eléctricos que utilizan pilas o
baterías. En ocasiones, dudamos si el dispositivo está roto o las pilas se han gastado.

Gracias a este proyecto esto ya no será un problema. El medidor de carga de baterías y pilas te
dará la solución.

OBJETIVOS

 Utilizar Arduino para leer a través de una entrada analógica el voltaje que suministra
una pila.
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

MARCO TEORICO

Arduino (Genuino a nivel internacional hasta octubre 2016), es una compañía de hardware
libre y una comunidad tecnológica que diseña y manufactura placas de desarrollo de hardware,
compuestas por Microcontroladores, elementos pasivos y activos. Por otro lado las placas son
programadas a través de un entorno de desarrollo (IDE), el cual compila el código al modelo
seleccionado de placa.

Arduino se enfoca en acercar y facilitar el uso de la electrónica y programación de sistemas


embebidos en proyectos multidisciplinarios.1 2Toda la plataforma, incluyendo sus componentes
de hardware (esquemáticos) y Software, son liberados con licencia de código abierto que
permite libertad de acceso a ellos.3

El hardware consiste en una placa de circuito impreso con un microcontrolador,


usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida,4 los cuales pueden
conectarse a placas de expansión (shields), que amplían los funcionamientos de la placa
Arduino. Asimismo, posee un puerto de conexión USB desde donde se puede alimentar la placa
y establecer comunicación con el computador.

Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno
de processing y lenguaje de programación basado en Wiring, así como en el cargador de
arranque (bootloader) que es ejecutado en la placa.4 El microcontrolador de la placa se
programa mediante un computador, usando una comunicación serie mediante un convertidor de
niveles RS-232 a TTL.

La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y facilidad de uso
para novatos y profesionales. Buscaba desarrollar proyectos interactivos con su entorno
mediante el uso de actuadores y sensores. A partir de octubre de 2012, se incorporaron nuevos
modelos de placas de desarrollo que usan microcontroladores Cortex M3, ARM de 32 bits,5 que
coexisten con los originales modelos que integran microcontroladores AVR de 8 bits. ARM y
AVR no son plataformas compatibles en cuanto a su arquitectura, por lo cual tampoco lo es su
set de instrucciones, pero se pueden programar y compilar bajo el IDE predeterminado de
Arduino sin ningún cambio.

Las placas Arduino están disponibles de dos formas: ensambladas o en forma de kits "Hazlo tú
mismo" (por sus siglas en inglés "DIY"). Los esquemas de diseño del hardware están
disponibles bajo licencia libre, con lo que se permite que cualquier persona pueda crear su
propia placa Arduino sin necesidad de comprar una prefabricada. Adafruit Industries estimó a
mediados del año 2011 que, alrededor de 300 000 placas Arduino habían sido producidas
comercialmente y en el año 2013 estimó que alrededor de 700 000 placas oficiales de la
empresa Arduino estaban en manos de los usuarios.
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser
conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure Data, etc. Una
tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos desarrollando
interfaces en software como JAVA, Visual Basic y LabVIEW. 6 El entorno de desarrollo
integrado es software libre, y por tanto se puede descargar y modificar gratuitamente; utiliza la
licencia Creative Commons, con copyleft y derechos de atribución al autor.

El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digitales


en el Prix Ars Electrónica de 2006.7 8 9

Arduino como herramienta educativa es muy útil y efectiva. Existen diferentes web con
recursos, tutoriales, trucos y ejercicios, además de existir tutoriales oficiales de Arduino. La
plataforma en sí misma tiene una gran comunidad a su alrededor donde se puede encontrar
muchos recursos, desde tutoriales para iniciarse desde cero hasta aquellos destinados a
usuarios más avanzados.

Componentes de Arduino a utilizar


Vamos a ver que tipo de componentes necesitamos para este circuito.

 Arduino UNO o cualquier placa de Arduino


 Protoboard donde conectaremos los componentes
 Cables para la conexión entre los componentes y la placa
 3 resistencias de 220 Ω
 1 resistencia de 10 kΩ
 1 LED rojo de 5 mm
 1 LED amarillo de 5 mm
 1 LED verde de 5 mm
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

Algoritmo
En esta sección voy a detallar los pasos que debemos seguir sin escribir ni una línea de código,
eso lo haremos luego cuando tengamos claro lo que tenemos que hacer.

1. Leer el pin analógico donde tenemos conectada la pila


2. Calculamos el voltaje para el valor que nos ha dado
3. Evaluamos el voltaje
1. Si es mayor o igual que el umbral máximo
1. Encendemos LED verde
2. Si es menor que el umbral máximo y mayor que el umbral medio
1. Encendemos LED amarillo
3. Si es menor que el umbral medio y mayor que el umbral mínimo
1. Encendemos LED rojo
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

4. El resto de los casos


1. No enciende ningún LED
4. Apagamos todos los LEDs
Analizando el algoritmo que vamos a implementar, sacamos como conclusión que vamos a
utilizar 3 umbrales:

 Umbral máximo: indicará que la pila está totalmente cargada.


 Umbral medio: de este umbral al umbral máximo la pila se ha usado pero todavía tiene
energía.
 Umbral mínimo: de este umbral al umbral medio la pila no suministra suficiente energía.
Por debajo de este umbral interpretamos que no hay una pila conectada.

#define LEDVERDE 2

#define LEDAMARILLO 3

#define LEDROJO 4

#define ANALOGPILA 0

// Variables

int analogValor = 0;

float voltaje = 0;

int ledDelay = 800;

// Umbrales

float maximo = 1.6;

float medio = 1.4;

float minimo = 0.3;

void setup() {

// Iniciamos el monitor serie


Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

Serial.begin(9600);

// Los pines de LED en modo salida

pinMode(LEDVERDE, OUTPUT);

pinMode(LEDAMARILLO, OUTPUT);

pinMode(LEDROJO, OUTPUT);

void loop() {

// Leemos valor de la entrada analógica

analogValor = analogRead(ANALOGPILA);

// Obtenemos el voltaje

voltaje = 0.0048 * analogValor;

Serial.print("Voltaje: ");

Serial.println(voltaje);

// Dependiendo del voltaje mostramos un LED u otro

if (voltaje >= maximo)

digitalWrite(LEDVERDE, HIGH);

delay(ledDelay);

digitalWrite(LEDVERDE, LOW);

else if (voltaje < maximo && voltaje > medio)

digitalWrite(LEDAMARILLO, HIGH);

delay(ledDelay);
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017

digitalWrite(LEDAMARILLO, LOW);

else if (voltaje < medio && voltaje > minimo)

digitalWrite(LEDROJO, HIGH);

delay(ledDelay);

digitalWrite(LEDROJO, LOW);

// Apagamos todos los LEDs

digitalWrite(LEDVERDE, LOW);

digitalWrite(LEDAMARILLO, LOW);

digitalWrite(LEDROJO, LOW);

CONCLUSIONES
Existen plataformas de hardware libre, como lo es el Arduino, una placa con un controlador y un
entorno de desarrollo, su sencillez y bajo costo nos permiten hacer múltiples diseños y múltiples
tipos de uso de éste. Recurrimos al uso del Arduino puesto que permite realizar muchas tareas,
ahorrando elementos electrónicos y en sustitución, el uso de un lenguaje de programación, lo
que hace que sea de muy fácil uso.

REFERENCIAS
https://programarfacil.com/blog/arduino-blog/medidor-de-carga-de-baterias-pilas-
arduino/
Arquitectura de
Facultad de Ingeniería y Ciencias Básicas Computadores
Departamento de Ingeniería de Sistemas Arduino Uno
Cód: 201721004601 Johannys Lozano Meneses Fecha: 21/11/2017