Logo Studenta

Informe 2 - Conociendo Arduino

¡Este material tiene más páginas!

Vista previa del material en texto

LABORATORIO DE CIRCUITOS DIGITALES 
“PRÁCTICA #2: CONOCIENDO ARDUINO” 
UNIVERSIDAD DE ANTIOQUIA 
FACULTAD DE INGENIERÍA 
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA 
MEDELLÍN – ANTIOQUIA 
2020-1 
INTRODUCCIÓN 
Arduino es una placa que tiene todos los elementos necesarios para conectar periféricos a las 
entradas y salidas de un microcontrolador. Es decir, es una placa impresa con los componentes 
necesarios para que funcione el microcontrolador y su comunicación con un ordenador a través de 
la comunicación serial. 
Las funciones de Arduino, como ocurre con la mayoría de las placas de microcontroladores, se 
pueden resumir en 3 factores: 
 Cuenta con una interfaz de entrada. Esta puede estar directamente unida a los periféricos, 
o conectarse a ellos a través de puertos. 
 La interfaz de entrada tiene como objetivo trasladar la información al microcontrolador. El 
microcontrolador es la pieza que se encarga de procesar esos datos. Además, varía 
dependiendo de las necesidades del proyecto en el que se desee usar la placa, y existe una 
gran variedad de fabricantes y versiones disponibles. 
 También cuenta con interfaz de salida. Este se encarga de llevar la información procesada 
a los periféricos autorizados de hacer el uso final de esos datos. En algunos casos puede 
tratarse de otra placa en la que se centraliza y procesa la información de forma totalmente 
renovada, o sencillamente, puede ser una pantalla o un altavoz encargado de mostrar la 
versión final de los datos. 
La plataforma Arduino se programa con un lenguaje propio basado en el lenguaje de 
programación de alto nivel Processing, lo que significa que es similar a C++. 
 
OBJETIVOS 
 Familiarizarse con el hardware y el software de la plataforma de desarrollo Arduino. 
 Entender la estructura básica de un programa en Arduino. 
 Aprender a utilizar las entradas y salidas digitales de la placa Arduino UNO. 
 Simplificar funciones lógicas mediante álgebra booleana. 
 Ejecutar funciones lógicas en el microcontrolador. 
 
MARCO TEÓRICO 
¿CUÁL ES EL ORIGEN DE ARDUINO? 
Arduino fue inventado en el año 2005 por el entonces estudiante del instituto IVRAE Massimo 
Banzi, quien, en un principio, pensaba en hacer Arduino por una necesidad de aprendizaje para los 
estudiantes de computación y electrónica del mismo instituto, ya que en ese entonces, adquirir 
una placa de micro controladores eran bastante caro y no ofrecían el soporte adecuado; no 
obstante, nunca se imaginó que esta herramienta se llegaría a convertir en años más adelante en 
el líder mundial de tecnologías DIY (Do It Yourself). 
Inicialmente fue un proyecto creado no solo para economizar la creación de proyectos escolares 
dentro del instituto, sino que, además, Banzi tenía la intención de ayudar a su escuela a evitar la 
quiebra de esta con las ganancias que produciría vendiendo sus placas dentro del campus a un 
precio accesible (1 euro por unidad). 
¿QUÉ OTRAS PLACAS ARDUINO EXISTEN ADEMÁS DEL ARDUINO UNO? 
 Arduino UNO 
 Arduino MEGA 
 Arduino Ethernet 
 Arduino Due 
 Arduino Leonardo 
 Arduino Micro 
 Arduino Mini 
 Arduino Lilypad 
 Arduino Yun 
¿QUÉ VOLTAJES SOPORTAN LAS ENTRADAS Y SALIDAS DIGITALES DEL ARDUINO? 
Límites de voltaje de entrada: 
 Se recomiendan voltajes de 7 a 12 V 
 El límite absoluto de voltaje está entre 6 a 20 V 
 Para los pines de Entrada/Salida: -0.5 a 5.5 V 
El valor máximo real que soporta el Arduino es Vcc + 0.5V, esto es para un Arduino que soporte 5 
Volts. 
En el caso de que agreguemos una resistencia en seria a un pin de E/S, podemos incrementar la 
protección de voltaje de entrada a dicho pin. 
Por ejemplo, cuando conectamos una resistencia de 10K Ohm brindamos protección al Arduino 
para que este pueda admitir voltajes entre -10.5 y +15.5V. 
Límites de corriente de salida: 
 Si se alimenta a través de USB: Puede suministrar hasta 500 mA 
 Si se alimenta con una fuente externa o batería: Puede suministrar entre 500mA a 1A 
 Por cada pin de Entrada / Salida el valor máximo individual es de 40 mA 
 Sumando todas las Entradas / Salidas combinadas, sin incluir el pin de 5 V: Puede 
suministrar 200mA 
¿PARA QUÉ SE UTILIZAN LAS FUNCIONES SETUP Y LOOP EN ARDUINO? 
void setup() 
 El setup es la primera función en ejecutarse dentro de un programa en Arduino. 
 Es, básicamente, donde se «setean» las funciones que llevará a cabo el microcontrolador. 
 Aquí es donde establecemos algunos criterios que requieren una ejecución única. 
Por ejemplo, si nuestro programa va a usar comunicación serial, en el setup establecemos el 
comando Serial.begin para indicarle al programa que vamos a iniciar la comunicación serial. 
Si vamos a utilizar un pin determinado como salida de voltaje, usamos el pinMode para indicarle a 
Arduino que determinado pin funcionará como salida, usando el parámetro OUTPUT. 
Es importante tener en cuenta que aquí colocamos aquello que solo se debe ejecutar una vez. 
void loop() 
 Loop en inglés significa lazo o bucle. 
 La función loop en Arduino es la que se ejecuta un número infinito de veces. 
 Al encenderse el Arduino se ejecuta el código del setup y luego se entra al loop, el cual se 
repite de forma indefinida hasta que se apague o se reinicie el microcontrolador. 
 
 
¿QUÉ FUNCIONES SE UTILIZAN PARA LA CONFIGURACIÓN Y MANEJO DE LAS ENTRADAS Y 
SALIDAS DIGITALES? 
En Arduino para tratar las entradas y salidas digitales usamos las siguientes funciones: 
pinMode() 
 Configura en el pin especificado si se va a comportar como una entrada o una salida. 
digitalWrite() 
 Escribe un valor HIGH o LOW en el pin digital especificado. 
 Si el pin está configurado como OUTPUT pone el voltaje correspondiente en el pin 
seleccionado. 
 Si el pin está configurado como INPUT habilita o deshabilita la resistencia interna de pull 
up del correspondiente pin. 
digitalRead() 
 Lee el valor del pin correspondiente como HIGH o LOW. 
¿PARA QUÉ SON UTILIZADAS LAS INSTRUCCIONES DELAY Y FOR? 
Delay 
 
 Pausa el programa durante el tiempo (en milisegundos) especificado como 
parámetro. (Hay 1000 milisegundos en un segundo). 
For 
 
 La instrucción o declaración FOR se utiliza para repetir un bloque de declaraciones entre 
llaves. 
 Por lo general se usa un contador de incrementos para incrementar y terminar el ciclo. 
 La instrucción FOR es útil para cualquier operación repetitiva y, a menudo, se usa en 
combinación con matrices para operar en colecciones de datos / pines. 
 
OBTENGA LAS FUNCIONES LÓGICAS PARA EL CIRCUITO QUE SE MUESTRA A CONTINUACIÓN Y 
REALICE LA TABLA DE VERDAD. 
 
SIMULACIÓN Y TABLA DE VERDAD UTILIZANDO LOGISIM 
 
 
La variable y corresponde a C_Out 
La variable x corresponde a S 
TABLA DE VERDAD REALIZADA A MANO 
𝑺 = 𝑨⨁𝑩⊕ 𝑪 
𝑺 = (𝑨 𝑩 + 𝑨𝑩 )⨁𝑪 
𝑺 = (𝑨 𝑩 + 𝑨𝑩 ) 𝑪 + (𝑨 𝑩 + 𝑨𝑩 )𝑪′ 
𝑪_𝑶𝒖𝒕 = (𝑨⨁𝑩)𝑪 + 𝑨𝑩 
𝑪_𝑶𝒖𝒕 = (𝑨 𝑩 + 𝑨𝑩 )𝑪 + 𝑨𝑩 
𝑪_𝑶𝒖𝒕 = 𝑨 𝑩𝑪 + 𝑨𝑩 𝑪 + 𝑨𝑩 
Al añadirle valores a A, B y C, obtenemos lo siguiente: 
TABLA DE VERDAD - MONTAJE 
A B C C_OUT S 
0 0 0 0 0 
0 0 1 0 1 
0 1 0 0 1 
0 1 1 1 0 
1 0 0 0 1 
1 0 1 1 0 
1 1 0 1 0 
1 1 1 1 1 
 
 
 
 
ELEMENTOS NECESARIOS PARA LA SIMULACIÓN 
 Software de Arduino instalado. 
 TinkerCad. 
DESARROLLO DE LA PRÁCTICA 
MONTAJE DE LA PRÁCTICA – ARDUINO CON 2 LEDS Y UN SWITCH 
 
 
PROGRAMACIÓN DE FUNCIONES LOGICAS PARA EL CIRCUITO 
Se utilizaron operadores booleanos: 
 ! (Logical NOT) 
 && (Logical AND) 
 II (Logical OR 
 
 
 
TABLA DE VERDAD DEL MONTAJE Y COMPROBACIÓN MEDIANTE TINKERCAD DE LOS 
RESULTADOS OBTENIDOS EN EL MARCO TEÓRICO 
TABLA DE VERDAD - MONTAJE 
A B C C_OUT S 
0 0 0 0 0 
0 0 1 0 1 
0 1 0 0 1 
0 1 1 1 0 
1 0 0 0 1 
1 0 1 1 0 
1 1 0 1 0 
1 1 1 1 1 
 
 
 
 
A continuación, se mostrará la comprobación de la tabla de verdad a través del circuito en 
TinkerCad: 
1. A = 0, B = 0, C = 0, C_OUT = 0, S = 0 
 
2. A = 0, B = 0, C = 1, C_OUT = 0, S = 1 
 
3. A = 0, B= 1, C = 0, C_OUT = 0, S = 1 
 
 
4. A = 0, B = 1, C = 1, C_OUT = 1, S = 0 
 
5. A = 1, B = 0, C = 0, C_OUT = 0, S = 1 
 
6. A = 1, B = 0, C = 1, C_OUT = 1, S = 0 
 
 
7. A = 1, B = 1, C = 0, C_OUT = 1, S = 0 
 
8. A = 1, B = 1, C = 1, C_OUT = 1, S = 1 
 
PROGRAMAR LEDS PARA QUE SE ENCIENDAN Y SE APAGUEN EN DOS SECUENCIAS 
Se utilizaron 6 leds y se realizaron 2 secuencias, el montaje es el siguiente: 
 
La primera secuencia, se programó de la siguiente manera: 
 
La segunda secuencia, se programó de la siguiente manera: 
 
Para notar la diferencia entre secuencias, se programó un apagado de los leds así: 
 
 
CONCLUSIONES 
 Arduino nos brinda una plataforma de código abierto en la cual se tiene software y 
hardware, son sencillos de utilizar y acoplarse a la parte de programación y a la parte 
práctica con la placa resulta muy intuitivo. 
 Mediante Logisim y a través del montaje del circuito con los dos leds y el Switch fue 
posible comprobar de manera experimental y teórica la tabla de verdad del montaje 
propuesto. 
 Es posible implementar una estructura lógica a través de Arduino, esto puede optimizar el 
diseño de un circuito ya que no es necesario utilizar las compuertas lógicas por separado, 
tan solo tenemos que programarlas y obtendremos los mismos resultados optimizando el 
espacio en la protoboard. 
 
 
 
CIBERGRAFÍA 
1. https://arduinodhtics.weebly.com/historia.html#:~:text=Arduino%20fue%20inventado%2
0en%20el,una%20placa%20de%20micro%20controladores 
2. https://www.bejob.com/que-es-la-programacion-con-arduino-y-para-que-
sirve/#:~:text=El%20arduino%20es%20una%20placa,trav%C3%A9s%20de%20la%20comun
icaci%C3%B3n%20serial. 
3. https://www.arduino.cc/reference/en/ 
4. https://www.arduino.cc/reference/en/language/structure/boolean-operators/logicalnot/ 
5. https://www.arduino.cc/reference/en/language/structure/boolean-operators/logicaland/ 
6. https://www.arduino.cc/reference/en/language/structure/boolean-operators/logicalor/ 
7. https://www.arduino.cc/reference/en/language/structure/control-structure/for/ 
8. http://panamahitek.com/el-setup-y-el-loop-en-arduino/

Continuar navegando