You are on page 1of 43

agosto de 2018

Zambrana
Manual del dispositivo de
medición de distancia ArFAD 1.0w
Para: Laboratorio de Hidráulica
Preparado por: Ing. Rodrigo Zambrana Meneses
Wilson Mamani Liendro
Descripción del ArFAD 1.0w
• ArFAD 1.0w, Arduino Fijo Aplicado a distancias 1.0w

agosto de 2018
(Arduino Fixed Applied to Distances 1.0w).

• El ArFAD 1.0w es una extensión de los trabajos y

Zambrana
herramientas que se pueden diseñar a partir de los
códigos de Arduino. Arduino es una plataforma de código
abierto para la creación de prototipos electrónicos
basada en un hardware y software de fácil y libre acceso.
Descripción del ArFAD 1.0w
• El hardware comprende en su mayor parte de las placas
compatibles con Arduino (Leonardo, Mega, Nano, Uno, etc.) y

agosto de 2018
sus respectivos módulos. El software corresponde a un
entorno de desarrollo integrado denominado IDE, donde
dentro de lo más básico se permite al programador escribir
códigos, compilar programas, y cargarlos al hardware

Zambrana
permitiendo de esta manera la interacción entre el hardware y
el software del ArFAD 1.0w basado en Arduino.
Hardware

Zambrana agosto de 2018


Partes de la Placa Arduino del
ArFAD 1.0w
Esta placa consta de un microprocesador que es la versión reducida de un

agosto de 2018
procesador de PC, los componentes conectados a este son equivalentes y
reducidos:

Zambrana
Partes de la Placa Arduino del
ArFAD 1.0w
• Memoria de programa – Espacio para el programa diseñado

agosto de 2018
por el usuario.
• Memoria RAM – Equivalente a la memoria RAM de una PC.
• Memoria ROM – Equivalente al disco duro de una PC.

Zambrana
• Convertidor análogo a digital – Conexión con dispositivos
analógicos.
• Osciladores/Relojes – Marcan el ritmo de trabajo del
Microprocesador.
Partes de la Placa Arduino del
ArFAD 1.0w
• Un microcontrolador es un microprocesador con todos los

agosto de 2018
componentes en un solo circuito integrado.

Zambrana
Módulo de Tiempo
• DS3231 es un modulo de reloj tiempo real preciso I2C (RTC), con un oscilador integrado con
compensación de temperatura de cristal (TCXO). El dispositivo incorpora una batería que cuando
se desconecta la fuente de alimentación principal mantiene el cronometraje preciso. Oscilador

agosto de 2018
integrado de mejorar la precisión a largo plazo del dispositivo y reduce el número de
componentes de la línea de producción.

Especificaciones:
• - Tamaño: 38 mm (longitud) * 22mm (W) * 14mm (altura)

Zambrana
• - Peso: 8g
• - Voltaje de funcionamiento: 3,3-5 0,5 V
• - Chip de reloj: de alta precisión chip de reloj DS3231
• - Precisión Reloj: 0-40 ℃ rango, el 2 ppm precisión, el error fue de 1 minuto
• - Salida de onda cuadrada programable
• - Tiempo real segundo generador de reloj, minuto, hora, día, fecha, mes y año calendario y dar
validez hasta el año indemnización año 2100 bisiesto
• - Sensor de temperatura del chip viene con una precisión de ± 3 ℃
• - Chips de memoria: AT24C32 (capacidad de almacenamiento de 32 K)
• - Interfaz de bus 11.IIC, la velocidad máxima de transmisión de 400 KHz (tensión de 5V de trabajo)
• - Pueden conectarse en cascada con otro dispositivo CII, 24C32 direcciones pueden provocar un
cortocircuito A0 / A1 / A2 modificar dirección predeterminada es 0x57
• - Con la bateriacCR2032 podemos asegurar que el sistema después de un apagón, el reloj se
mueva naturalmente.
Sensor de Distancia
PinParallax
• Éste sensor PING de Parallax. Funciona como un sonar mediante ultrasonidos y es capaz de
detectar objetos a una distancia de entre 2 centímetro a 3 metros. Dispone de un indicador
LED y tan sólo requiere de un pin para su funcionamiento. Se puede utilizar en una placa de

agosto de 2018
prototipo o directamente en proyecto de robótica.

• El sensor envía ultrasonidos por un lado y mide el tiempo de rebote del sonido. En su pin de
salida podremos medir el ancho de pulso PWM en función de la distancia del obstáculo. Es
muy sencillo hacerlo funcionar con un Arduino, PIC o cualquier otro microcontrolador.

Zambrana
Especificaciones:
• Rango: 2 cm a 3 metros
• Tensión de alimentación: 5V +/-10- (Min: 4.5V, Max: 6V)
• Consumo: 30 mA típico, (35 mA max)
• Interfaz: 3 pines (VCC, GND, Señal)
• Comunicación "pulse in / pulse out"
• LED indicador de medición en curso
• Pulso TTL, mínimo 2 µs (5 µs típico)
• Pulso echo: Pulso TTL positivo, 115 µs a 18.5 ms
• Burst Frequency: 40 kHz for 200 µs
• Tamaño: 22 mm x 46 mm x 16 mm
Módulo de Lector micro SD
Este módulo sirve para agregar un tarjeta micro SD a nuestro proyecto.
Soporta tarjeta micro SD, utiliza protocolo SPI, y esta testeada con tarjetas

agosto de 2018
de 2gb y 4gb Conversión de nivel incluida por que se puede utilizar con
microcontroladores de 5V o 3.3V

Especificaciones:

Zambrana
• La interfaz de comunicación es SPI estándar
• Interfaz de control: un total de seis pines (GND, VCC, MISO, MOSI, SCK,
CS). GND se conecta a tierra, VCC es la fuente de alimentación, MISO,
MOSI, SCK es el bus SPI, CS es el pin de selección de chip.
• Circuito regulador de 3.3V
• El conector de micro SD facilita la inserción y extracción de la tarjeta.
• Dimensiones PCB: 38 (L) mm * 18 mm (A) * 1.6 mm (Espesor)
• Dos agujeros de posicionamiento de 2.2mm de diámetro
• Compatible con entrada de alimentación de 3.3V y 5V
• Circuito de conversión de 4 niveles, compatible con entrada de señal de
3.3V y 5V.
Alimentación y energía.
• De la alimentación el ArFAD1.0w debe recibir alimentación de

agosto de 2018
energía eléctrica constante una vez se está haciendo uso y
según el requerimiento de las mediciones el ArFAD1.0w puede
recibir alimentación desde una batería de 5.5V hasta una
conexión directa de un enchufe o alimentador de energía

Zambrana
proveniente de la red de energía eléctrica, siempre y cuando
se verifique el Voltaje de entrada, ya que el ArFAD1.0w cuenta
con entradas de Pin de 3V y 5.5V mas los de Tierra (GND).
Protección del hardware.
• De la protección el ArFAD1.0w está dentro de una cubierta

agosto de 2018
plástica semi-hermeticámente cerrada.

Zambrana
Software

Zambrana agosto de 2018


Gestor de arranque o
Bootloder del Arduino.
• Es un firmware ubicado en la memoria de flash del

agosto de 2018
microcontrolador, es la primera aplicación que se ejecuta
cuando se enciende o se resetea el Arduino.
• Las placas de Arduino tienen el bootloder grabado desde
fábrica. Si hay un Sketch (código de programa) enviado desde

Zambrana
la PC, el bootloder lo graba en la memoria flash.
• El microcontrolador ejecuta cada instrucción del Sketch desde
el principio, de manera ordenada y permanentemente.
• El lenguaje de programación del Arduino se basa en C/C++,
lenguaje que utiliza Wiring, el IDE del Wiring también puede
programar Arduinos.
Entorno de desarrollo
integrado.
• Integrated Development Environment

agosto de 2018
• El IDE o Integrated Development Environment o Entorno de
desarrollo integrado es el software que ArFAD 1.0w utiliza
para escribir y compilar el código en el lenguaje de
programación el IDE utilizado es del Arduino el que así mismo

Zambrana
también es el que permite la comunicación con la placa.
Barra de menú

Zambrana agosto de 2018


agosto de 2018
Zambrana
Código de programación para
el ArFAD 1.0w
Código de programación para
el ArFAD 1.0w
• La programación sigue un proceso secuencial, se indica el

agosto de 2018
trabajo que realizara la placa, reduciéndolo en pequeños
trabajos o instrucciones, donde la mayoría de las instrucciones
tardan milisegundos en ejecutarse.
• Adicionalmente Arduino tiene sus propias instrucciones así

Zambrana
como los módulos que utiliza el ArFAD 1.0w, y estas pueden
reutilizarse en partes del programa.
• El programa deben pasar por un proceso llamado
“compilación”, las compilación es el proceso de traducción de
un lenguaje de programación a un “lenguaje de máquina”, el
lenguaje de maquina es el único lenguaje que entiende el
microcontrolador, utilizando códigos binarios (unos y ceros).
Tipos de Datos

Zambrana agosto de 2018


Entero
• El microcontrolador es capaz de operar solo con datos binarios

agosto de 2018
(bits). Los bits se agrupan para representar números, la
cantidad de bits agrupados define que rango de números se
puede representar.
• byte: entero corto de 8bits. Rango de 0 a 255

Zambrana
• int: entero de 16 bits o 2 bytes. Rango con signo -32 768 a 32 767
• long: entero largo de 32bits o 4Bytes . Rango con signo -2 147 483
648 a 2 147 483 647
Variables
• Son datos con un nombre propio que guardan información

agosto de 2018
que puede cambiar en el tiempo. Para declarar una variable
se le asigna un tipo de dato y luego un nombre. Cuando se lo
declara se puede dar un valor inicial al dato utilizando un
símbolo de igual “=”.

Zambrana
Funciones
• Las funciones son bloques de instrucciones (deben llevar

agosto de 2018
llaves) con un nombre propio. El lenguaje del ArFAD 1.0w
trabaja como Arduino a base de funciones, las que pueden
llamarse utilizando el nombre que se les ha designado.
• Las variables que se definen fuera de una función son

Zambrana
llamadas “globales” y funcionan en toda el programa,
cualquier función puede llamar a una o varias funciones,
reduciendo considerablemente el tamaño del código. En si el
Arduino soporta funciones de C y C++.
Estructura principal del
código de Arduino
Arduino tiene dos funciones principales, no devuelven ningún

agosto de 2018
tipo de respuesta (void):
• Función de inicialización “setup”: Primera función en trabajar.
• Función principal “loop”: Se ejecuta justo después de que

Zambrana
setup termine su trabajo.
Función de retardo
Detiene al Arduino durante una cantidad específica de tiempo

agosto de 2018
en milisegundos.
• Sintaxis: delay (ms).
• Parámetros: tiempo en milisegundos.

Zambrana
También es posible hacer retardos en microsegundos con una
variante de esta función.
Sintaxis Básica
En informática la sintaxis es un grupo de reglas que definen la

agosto de 2018
correcta escritura de un programa que cumpla de forma legible
un lenguaje de programación.
• {…} Llaves: Define el principio y el final de un bloque de
instrucciones.

Zambrana
• ; punto y coma: Separa instrucciones dentro del programa.
• // línea de comentarios: comentarios de una sola línea.
• /*…*/ bloque de comentarios: comentarios multilínea.
• Funciones
• Variables
• Declaración de variables
Sintaxis Básica
• La estructura básica del lenguaje de programación de Arduino es bastante simple
y se compone de al menos dos partes. Estas dos partes necesarias, o funciones,

agosto de 2018
encierran bloques que contienen declaraciones, estamentos o instrucciones:

void setup() {estamentos;}


void loop() {estamentos;}

Zambrana
• En donde setup() es la parte encargada de recoger la configuración y loop() es la
que contienen el programa que se ejecutará cíclicamente (de ahí el termino loop
–bucle-).
• Ambas funciones son necesarias para que el programa trabaje.
• La función de configuración debe contener la declaración de las variables. Es la
primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza
para configurar o inicializar pinMode (modo de trabajo de las E/S), configuración
de la comunicación en serie y otras.
• La función bucle (loop) siguiente contiene el código que se ejecutara
continuamente (lectura de entradas, activación de salidas, etc). Esta función es el
núcleo de todos los programas de Arduino y la que realiza la mayor parte del
trabajo.
Setup ( )
• La función setup() se invoca una sola vez cuando el programa

agosto de 2018
empieza. Se utiliza para inicializar los modos de trabajo de los
pins, o el puerto serie. Debe ser incluido en un programa
aunque no haya declaración que ejecutar.
Ejm:

Zambrana
void setup()
{
pinMode(pin, OUTPUT); // configura el 'pin' como salida
}
Loop( )
• Después de llamar a setup(), la función loop() hace
precisamente lo que sugiere su nombre, se ejecuta de forma

agosto de 2018
cíclica, lo que posibilita que el programa este respondiendo
continuamente ante los eventos que se produzcan en la
tarjeta.

Zambrana
Ejm:
void loop()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el ´pin´
delay(1000); // espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´
delay(1000);
}
agosto de 2018
Zambrana
Procedimiento para
configuración inicial y lanzado
del ArFAD 1.0w
Paso 0: Verificar la conexión con la placa y la
conexión serial con el puerto de interacción.
• Verificar la conexión con la placa de interacción de Arduino/Genuino
Uno.

agosto de 2018
Zambrana
Paso 0: Verificar la conexión con la placa y la
conexión serial con el puerto de interacción.
• Verificar la conexión serial con el puerto de interacción [COM
(Arduino)]

agosto de 2018
Zambrana
Paso 1: Configuración inicial desde el
controlador o la IDE del Arduino
• Verificar que las librerías estén cargadas para el correcto

agosto de 2018
funcionamiento.

Zambrana
Paso 1: Configuración inicial desde el
controlador o la IDE del Arduino .
• Las librerías deben estar cargadas correctamente si es así

agosto de 2018
figuran de color diferente en casi de todas las veces son
característicos de un color diferente.

Zambrana
Paso 1: Configuración inicial desde el
controlador o la IDE del Arduino .
• Una vez añadida las librerías para subirlas al código de

agosto de 2018
programación, deben ser habilitadas buscando con ayuda del
cursor e incluirlas haciendo un “click” en ellas.

Zambrana
Paso 2: Configuración el día, la hora y la fecha
de lanzado del equipo para mediciones.

agosto de 2018
Zambrana
Paso 3: Configuración del intervalo de tiempo
de medición.
• Corregir delay (1000) , el Arduino trabaja con milisegundos, al

agosto de 2018
momento de ingresar el intervalo de tiempo de medición
debe considerar las unidades.

Zambrana
Paso 4: Compilar la programación.

agosto de 2018
Zambrana
Paso 4.1: Verificar la compilación

agosto de 2018
Zambrana
Paso 5: Subir la programación a la placa
Arduino del ArFAD1.0w.

agosto de 2018
Zambrana
Paso 6: Verificar Subido.

agosto de 2018
Zambrana
Paso 7: Monitorear el funcionamiento del
ArFAD 1.0w.

agosto de 2018
Zambrana
Ejemplo de Aplicación

Zambrana agosto de 2018


agosto de 2018
Zambrana
Gracias por su atención

You might also like