0% encontró este documento útil (0 votos)
24 vistas10 páginas

Informe 2 PIAC

Cargado por

bayland
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas10 páginas

Informe 2 PIAC

Cargado por

bayland
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Informe N°2 Proyecto

Arquitectura de Computadores
USO DE ARDUINO PARA APRENDIZAJE DE ELECTRÓNICA

Vicente Briceño, Renata Cuello, Ignacio Helo, Felipe Pizarro, Claudio Pizarro | ITI |
14-04-2022
1. “Blink”.
Para emplear el funcionamiento de
este programa es necesario contar
con un cable USB tipo 2 para poder
conectar el Arduino al
computador. Conectamos el cable
USB tipo 2 en el computador y al
Arduino para posteriormente abrir
el software de Arduino “Arduino
ide”, que es un entorno de
desarrollo integrado lo cual nos
permite grabar nuestro programa y
programar con un lenguaje muy
parecido a C++. Al abrirlo
buscamos el programa “Blink” el
cual ya viene preinscrito.

Primero tenemos la función “void


setup()” que es donde vamos a
organizar y preparar nuestro
programa el cual se ejecutara una sola vez. Luego tenemos “pinMode(LED_BUILTIN,
OUTPUT)” donde pinMode es donde va a entrar o salir información siendo
LED_BUILTIN el led que viene implementado, que vendría a ser el 13 y lo
configuramos como OUTPUT porque al ser un led no se podrá leer información y solo
será una salida. La función “void loop()” vendría a ser el bucle del programa en donde
se va a ejecutar el código que coloquemos infinitas veces. Sería como el código
principal del programa. “digitalWrite(LED_BUILTIN, HIGH)” donde colocaríamos el
pin que deseamos escribir(13) y el estado que deseamos que tenga. En este caso está
puesto en HIGH que hace referencia a un 1 lógico o un alto, donde trabajamos con los
5V que nos proporciona el Arduino. Esta función hará que el led que viene
implementado en el Arduino se encienda. En la línea de código “Delay(1000)” significa
que el led se mantendrá o esperará encendido durante un segundo y 1000 porque está
en milisegundos. “digitalWrite(LED_BUILTIN, LOW)” donde colocamos el pin 13 o
algún pin que estemos ocupando y el estado que deseamos que tenga. En este caso está
puesto en LOW que hace referencia a un 0 logico o un Bajo. Y lo que hace es apagar el
led al cortarse el paso de corriente. Luego encontramos otra vez la función
“Delay(1000)”, lo que hará que el programa se mantenga apagado durante un segundo.
Y así se repetirá infinitamente. El Led se encenderá y se mantendrá encendido durante
un segundo y posteriormente se apagará manteniéndose apagado durante un segundo
y así sucesiva e infinitamente.

Las otras tres formas distinta fueron: 1) Ambos delay a 500 (medio segundo), el
encendido y apagado fue más rápido, 2) Ambos delay a 2000 (2 segundos), más lento,

PÁGINA 1
3) Un delay en 500(que mantenga encendido medio segundo) y el otro en 1000(que
mantenga 1 segundo apagado).

2. Conectando un diodo LED.


Para realizar el circuito utilizamos un diodo LED, una resistencia, cables, la protoboard
y nuestro Arduino. Primero conectamos a través de un cable el GND (tierra) hacia la
parte horizontal negativa de la protoboard, luego con otro cable conectamos el pin 8
hacia el puerto 12-e de la
protoboard, conectamos la
parte negativa al cátodo del
LED y la parte positiva a la
resistencia, conectándose a su
vez al ánodo del LED, la
función de esta resistencia es
para que no se sobrecargue el
LED. El funcionamiento se
empleará cuando cambiemos
en el programa “Blink” el
LED_BUILTIN por el pin 8. En
la parte del void loop()
colocaremos digitalWrite(8,
HIGH) para que se mantenga
encendido.

PÁGINA 2
3. Conectando un segundo diodo LED.
Para realizar el circuito utilizamos dos diodo led, una resistencia, cables, la protoboard
y nuestro Arduino. Utilizando el circuito anterior como base, conectamos otro cable al
pin 7 hacia el puerto 13-j de la protoboard. La parte negativa es conectada al cátodo del
LED y la parte positiva a la resistencia conectándola con el ánodo del LED.

Para que esto pueda funcionar en la función void setup() debemos colocar dos
pinMode, pero debemos configurarlo como el pin 8. Luego en el void loop()
colocaremos dos “digitalWrite” definidos en “HIGH” con sus respectivos pin para cada
LED, de esta forma ambos se mantendrán encendidos.

*El circuito presente en la imagen anterior comprende la misma estructura que el


circuito siguiente, pues ambos funcionan de la misma manera, diferenciándose
exclusivamente en su código, y más específicamente, su “delay”.

PÁGINA 3
4. Encendiéndolos de forma alternada.
Para el cuarto procedimiento de la actividad se les pidió a los alumnos que
encendieran los leds de forma alternada, es decir, que se enciendan o se apaguen uno
después del otro. Para poder realizar este circuito se asumió que se tenía que trabajar
al nivel de código del Arduino, ajustando el estado "HIGH" y "LOW" de cada pin, con
cierto "delay" entre cada uno para que se enciendan en un momento determinado. Este
proceso se puede hacer de distintas formas en cuanto a la modificación del código, y
en este caso se optó por una de las más simples que se ve en la imagen a continuación.

Comprendiendo el funcionamiento del código fue sencillo determinar las condiciones


para realizar la actividad pedida, pues si uno debía mantenerse encendido y el otro
apagado, llegamos a la conclusión de que debíamos determinar un estado “HIGH” para
uno a la vez que “LOW” para el otro, esperar X cantidad de tiempo (en nuestro caso
utilizamos 0,5 segundos), cambiar el estado lógico de cada a uno de forma que el
encendido pase a apagado y viceversa, finalmente esperar X cantidad de tiempo
nuevamente.

PÁGINA 4
5. Encendiendo de forma secuencial tres diodos LED.
En el quinto procedimiento se les pidió a los alumnos que agregaran un tercer y último
led al circuito, y que se encendieran y apagaran de forma secuencial. Lo que el grupo
interpreto por "secuencial" es que se enciendan y se apaguen los leds uno en uno en
cierto orden, para que a continuación hagan lo mismo en orden contrario. En este caso
el proceso no fue tan simple como en el procedimiento anterior, por lo que los
integrantes requirieron de más tiempo para lograr encender los leds de la forma en la
que se solicita y al mismo tiempo que el código se vea de forma ordenada.

Primeramente se encienden todos los leds de izquierda a derecha asignándoles un


estado "HIGH" con un "delay" entre medio de cada
uno, para después apagarlos estableciéndoles un
estado "LOW” en el mismo orden. Después, se pide
que se enciendan los leds de derecha a izquierda,
por lo que se hace el mismo procedimiento anterior,
solo se establece el estado "HIGH" a los pines en el
orden contrario, como se muestra en la imagen.
Finalmente, los leds se apagan al asignarles a los
pines el estado "LOW" de derecha a izquierda,
terminando la secuencia.

PÁGINA 5
6. ¿Cómo podemos conectar interruptores a las entradas
del Arduino?
Al inicio de la construcción, se quemó un led por no haber una resistencia entre el
pulsador y la corriente a tierra. Después de completar el circuito, surgió la duda de
cómo integrar el interruptor de manera de que interceptara la corriente hacia el
arduino. Los ensayos posteriores aclararon la duda, que hizo lograble el evolucionado
sistema.

Para conectar interruptores a las entradas de arduino, debemos tener en cuenta el


circuito necesario para llevarlo a cabo, este puede encontrarse en la misma pagina de
arduino, entrando a https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button,
para implementarlo necesitamos el botón y una resistencia de 10K ohms, para evitar el
flotamiento de la entrada y conseguirla limpia y depurada, sabiendo ya lo necesario,
debemos alimentar el botón conectándolo tanto en la corriente positiva (5V) como en
la parte negativa (GND) conectando desde alguno de los dos la resistencia señalada y
de la misma columna llevarlo hacia un pin para
considerarlo como entrada en el apartado de
código.

PÁGINA 6
7. ¿Qué son las resistencias Pull-Up y Pull-Down?

Las resistencias Pull-Up son un tipo de


resistencia utilizadas en circuitos lógicos para
asegurar un estado lógico en un pin. Esto se
debe a que cuando se deja un circuito con un
interruptor abierto, el estado lógico puede
variar entre “Alto” y “Bajo”, a este estado se le
conoce como “Flotante” (o de alta impedancia)
y se le debe evitar por lo menos en el área en el
que trabajaremos, debido a su naturaleza
impredecible e incontrolable.

Para resolver este dilema se coloca una


resistencia (R1) entre el pin de entrada (Vcc) y
el microcontrolador (MCU), compartiendo la
misma conexión se coloca el interruptor o
switch entre la salida a tierra (GND) y el
microcontrolador, de esta forma se fuerza al
circuito a entregar un nivel lógico “Alto”
cuando el interruptor está abierto y un nivel
lógico “Bajo” cuando está cerrado.

Las resistencias Pull-Down funcionan de la misma


manera, la única diferencia es que cambia el orden
de los elementos y por lo tanto también el valor
lógico. Dicha resistencia cumple la misma función
de resolver el dilema del microcontrolador
entregando un valor lógico “Flotante”, y lo
resuelve conectando una resistencia entre el
microcontrolador y la salida a tierra,

PÁGINA 7
compartiendo la conexión, se coloca el interruptor entre el microcontrolador y el pin
de entrada (Vcc).

De esta forma cuando el interruptor está abierto, la resistencia está forzando que el
microcontrolador salga a tierra y que por lo tanto su valor lógico sea “Bajo”, mientras
que, cuando el interruptor está cerrado, el microcontrolador se conectará al pin de
entrada entregando un valor lógico “Alto”.

8. Pull-Up y Pull-Down en Arduino.

Durante los primeros intentos de realizar las


resistencias Pull-Up y Pull-Down nos
encontramos con errores respectivos a las
terminales, pues primero intentamos realizar
la resistencia Pull-Up conectando el voltaje al
terminal 1a junto al pin (2) en la terminal 1b,
aunque nos dimos cuenta de que el pin y el
voltaje pueden entrar por la misma terminal,
haciendo el circuito más eficiente y
económico en cuanto a uso de materiales.

Sin olvidar el uso de una resistencia para


evitar quemar el diodo led, conectamos el
segundo pin (13) al ánodo del led y la salida a
tierra al cátodo respectivo. De esta forma, y
codificando de forma que cuando pin (2) se
encuentre en un valor “Alto” abra paso al pin
(13), logramos que se encienda el diodo led
cada vez que se presione el interruptor o pulsador.

Para el caso de resistencia Pull-Down nos resultó más sencillo de visualizar codificando
primero las condiciones para que resulte un circuito con este tipo de resistencia, es
decir, iniciamos codificando el pin (12) se encuentre en un estado “Alto” de forma
predeterminada (o en el “else”, si es que no se cumple cierta condición) y que se
conecte al diodo led de forma directa, luego determinamos la condición que requería
el circuito: “mientras el pin (3) esté presionado”, resultando en que si se cumple la
condición, pin (12) pasaría a tener un valor lógico “Bajo”, y como determinamos antes,
si no se cumple la condición tendría un valor predeterminado “Alto”.

PÁGINA 8
Una vez comprendimos la lógica del circuito procedimos a colocar los elementos y
resistencias necesarias. Cabe destacar que, a diferencia del Pull-Up, aquí el pin (3) se
conecta al interruptor por la misma terminal por la que se conecta a tierra (o GND),
mientras que en el caso anterior se conectaba por la misma terminal que el voltaje
(5V).

PÁGINA 9

También podría gustarte