Logo Studenta

Informe 5 lab digitales

¡Este material tiene más páginas!

Vista previa del material en texto

Funciones lógicas con Arduino
Informe #5
Paternina Fuentes Jhon Jairo
Ceballos Betancur Laura Yuliana
Universidad de Antioquia
Facultad de Ingeniería
Departamento de Ingeniaría Eléctrica
Laboratorio de circuitos digitales
Medellín
2021 1
Introducción
Para el ingeniero electricista, dentro de su labor, existen plataformas que engloban hardware y software abiertos, las cuales constituyen en una herramienta de diseño de proyectos, fácil de usar, la cual es el arduino. Está compuesto por una placa principal, del tamaño de la palma de una mano adulta y la cual tiene contenidos, un microcontrolador, memoria RAM y FLASH, entre otros elementos. Para utilizarlo debemos configurarlo dependiendo lo que necesitemos, lo cual es utilizando una interfaz integrada de desarrollo, puede programar, compilar y depurar el programa. Con la ayuda de esta herramienta podremos comprobar y observar en un nuevo ambiente el funcionamiento de las compuertas lógicas, teniendo así, una alternativa para facilitar su estudio y análisis.
.
Objetivos
· Familiarizarse con el hardware y software de la plataforma de desarrollo arduino
· Entender la estructura básica de un programa en arduino.
· Aprende a utilizar las entradas y salidas digitales de la placa arduino UNO.
· Simplificar funciones lógicas mediante algebra booleana.
· Ejecutar funciones lógicas en el microcontrolador.
	
Equipos y elementos necesarios
· Computador con el software arduino instalado.
· Placa arduino UNO.
· Cable USB.
· Suiches y pulsadores.
· Diodos LED.
· Resistencias de 330 Ω.
· Resistencias de 10 kΩ.
· Cables de conexión.
· Protoboard.
Resumen de la consulta previa
¿Cuál es el origen de arduino?
Arduino Nació en el año 2005 el Instituto de Diseño Interactivo de Ibera (Italia). Arduino apareció por la necesidad de contar con un dispositivo para utilizar en aulas que fuera de bajo coste. La idea original fue, fabricar una placa para uso interno de la escuela.
Sin embargo, el instituto se vio obligado a cerrar sus puertas precisamente en 2005. Ante la perspectiva de perder todo el proyecto Arduino en el proceso, se decidió liberarlo y abrirlo al público para que todo el mundo pudiese participar en la evolución del proyecto, proponer mejoras y sugerencias.
Los principales responsables de la idea y diseño de Arduino fueron Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe y Gianluca Martino.
“Team Arduino” de izquierda a derecha son: David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis, Massimo Banzi.
¿Qué otras placas arduino existen además del arduino UNO?
Arduino DUE: Arduino basado en un microcontrolador de 32 Bits, Tiene 54 entradas/salidas digitales y 12 entradas analógicas, 2 buses TWI, SPI y 4 UARTs. Funcionan todos los módulos basados en 3.3V, no soporta 5V ya que puede dañar la placa. Posee adicionalmente interno dos puertos USB para poder controlar periféricos.
Arduino Leonardo: Arduino básico, Con características similares a la arduino, sin embargo, tiene 12 entradas analógicas y 20 entrada salidas digitales. A diferencias del resto de arduino con el microcontrolador ATmega32u4 en que no posee un controlador adicional para controlar el USB. Además, tiene más pines de interrupciones externas. Tiene comunicación TWI, SPI y dos UART. 
Arduino Mega 2560: Arduino basado en un microcontrolador ATmega2560. Tiene 54 entradas/salidas digitales, 16 de ellos pueden usarse como PWM, 16 entradas analógicas y 4 UART además dos modos PWI y uno SPI. Tiene 6 interrupciones externas. Y es compatible con todos los shields de arduino.
Arduino Mega ADK: Exactamente igual que el Mega 2560 pero con la diferencia de que en este caso se tiene la posibilidad de USB Host, poco útil en este proyecto. 
Arduino Micro: Es completamente similar al Leonardo, la única diferencia es el tamaño con el que fue construido. Es compatible con las Shields de arduino, sin embargo, se debe instalar de forma externa, es decir, cableándolo, aunque en el caso de que se construya nuestra propia shield no es ningún problema.
Arduino Nano: Arduino basado en un microcontrolador ATmega328. Es similar en cuanto a características al arduino uno. Las diferencias son tanto el tamaño como la forma de conectarlo al ordenador para programarlo. Es compatible con la mayoría de shield, aunque de la misma forma que el arduino Micro. 
Arduino YUN: El Arduino YUN se trata de un conjunto que trabaja por separado de forma complementaria, por un lado, se tiene la versatilidad de un arduino normal. En este caso un ATmega 32u48 a 16 MHz, y por otro lado de un dispositivo con microprocesador Atheros AR9331. El cual funciona con Lilino (Linux basado en OperWrt (OperWrt-Yun)) a 400 MHz. Las características del arduino son similares a la placa Leonardo. Tiene Ethernet, slot SD y Wifi incluidos, controlados por Lilino. Es compatible con todas las Shields y es capaz de trabajar por separado. 
Arduino FIO: Arduino basado en un microcontrolador ATmega328p. Trabaja a 8 MHz y 3.3V tiene 14 pines de entrada/salidas digitales (6 PWM), 8 pines de entrada analógicas e integra tanto un conector para la batería y su correspondiente módulo de carga, como un slot para poder instalar un módulo de comunicaciones xBee. Tiene UART TTL e interrupciones lo que nos permite también ponerlo en modo Sleep, permite también poner el XBEE en modo Sleep, reduciendo el consumo total. Además, posee tanto TWI (I2C) como SPI. Unas ventajas importantes de este dispositivo son el bajo consumo en Sleep y el poder programarlo mediante XBEE, sin necesidad conectarlo físicamente al ordenador.
¿Qué voltajes soportan las entradas y salidas digitales del arduino?
7 - 12 V recomendado
6 - 20 V limite absoluto
Pines de entrada/salida (E/S): -0.5 V a + 5.5 V (el máximo real es Vcc + 0.5 V para un arduino de 5 V)
¿Para que se utilizan las funciones setup y loop en arduino?
Setup es la encargada de recoger la configuración mientras que loop es la que contiene el programa que se ejecutara cíclicamente. Ambas funciones son necesarias para que el programa trabaje.
¿Qué funciones se utilizan para la configuración y manejo de las entradas y salidas digitales?
· pinMode () – configura en el pin especificado si se va a comportar como una entrada o una salida. http://arduino.cc/en/Reference/PinMode
· 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. http://arduino.cc/en/Reference/DigitalWrite
· digitalRead () – lee el valor del pin correspondiente como HIGH o LOW. http://arduino.cc/en/Reference/DigitalRead
¿Para qué son utilizadas las instrucciones delay y for?
La función delay es utilizada para que el proceso espere, la cual está basada en timers. Mientras que for se utiliza para hacer que una parte de nuestro programa se repita una cantidad de veces determinada, por lo que conocemos como bucle.
Obtenga las funciones lógicas para el circuito de la figura 2 y realice la tabla de verdad
Figura 2. Circuito full adder 1 bit
La primera compuerta lógica de arriba hacia abajo es una XOR, por lo tanto, la salida
de esa compuerta será: AB’+A’B.
S=((AB’+A’B) Cin’) + ((AB’+A’B)’Cin)
Cout=((AB’+A’B) (Cin)) +(BA)
	Entradas
	Salidas
	A
	B
	Cin
	S
	Cout
	0
	0
	0
	0
	0
	0
	0
	1
	1
	0
	0
	1
	0
	1
	0
	0
	1
	1
	0
	1
	1
	0
	0
	1
	0
	1
	0
	1
	0
	1
	1
	1
	0
	0
	1
	1
	1
	1
	1
	1
Procedimiento y Resultados
1- Realice el montaje mostrado en la figura 3.
Figura 3. Montaje Práctica
En tinkercad
2- Programar las funciones lógicas del circuito mostrado en la figura 2, utilizando los operadores booleanos:
(! logical not)
&& (logical and)
|| (logical or)
3- Escriba las tablas de verdad de las funciones implementadas en Arduino y compárelas con los resultados del Preinforme.
Obtenemos el mismo resultado, puesto que es el mismo circuito,solo que lo llevamos al ambiente de arduino. Llegamos a que funciona correctamente, debido a que, usamos pulsadores, es imposible activar dos o tres de estos en la simulación, para esto colocamos un cable entre el pin de lectura y 5 V.
	Entradas
	Salidas
	A
	B
	Cin
	S
	Cout
	0
	0
	0
	0
	0
	0
	0
	1
	1
	0
	0
	1
	0
	1
	0
	0
	1
	1
	0
	1
	1
	0
	0
	1
	0
	1
	0
	1
	0
	1
	1
	1
	0
	0
	1
	1
	1
	1
	1
	1
4- Programar el arduino para que haga parpadear los dos LEDs en dos secuencias diferentes. Cada consecuencia debe repetirse por lo menos tres veces.
Utilizamos un ciclo para que se repita la secuencia tres veces, aumentando 500 el delay, para así obtener diferentes secuencias.
Conclusiones
Para el ingeniero electricista, el uso de software y hardware es muy importante dado que con estos elementos puede verificar y comprobar los montajes, diseños que haya hecho para así evitar fallas. Uno de estos elementos es el arduino, puesto que, este es libre, flexible y fácil de utilizar para los creadores y desarrolladores.
Con arduino, podemos leer datos de sensores (temperatura, luz, presión, etc.) y controlar cargar como lámparas y motores. Dicho estos vemos las posibilidades que hay tanto para un ingeniero electricista, como para otras ramas del saber.
Además, comprobamos y utilizamos un nuevo ambiente para las compuertas lógicas que ya hemos estudiado a lo largo del curso, y con esto tener una nueva herramienta de trabajo.
Bibliografía
¿Qué es arduino? Consultado (agosto 2021) en:
¿Qué es Arduino? | Arduino.cl - Compra tu Arduino en Línea
Tipos de arduino. Consultado (agosto 2021) en:
tiposarduino.pdf (bolanosdj.com.ar)
Límites de voltaje, corriente y alimentación del arduino. Consultado (agosto 2021) en:
Limites de voltaje, corriente y alimentación del Arduino – Electrónica Especializada (aladuino.com.mx)
Estructura sketch arduino. Consultado (agosto 2021) en:
setup | Aprendiendo Arduino (wordpress.com)
Estructuras propias de arduino. Consultado (agosto 2021) en:
Entradas Digitales | Aprendiendo Arduino (wordpress.com)
Arduino delay. Consultado (agosto 2021) en:
Arduino Delay - Retardos de tiempo con Ejemplos - HeTPro/Tutoriales (hetpro-store.com)
For en arduino. Consultado (agosto 2021) en:
for en Arduino. Iniciación a la programación de repeticiones. - YoMaker

Continuar navegando