Está en la página 1de 24

Practicas con arduino

UNO

OBJETIVO
Fomentar el aprendizaje de los estudiantes, a que aprendan mbitos de la electrnica y la
programacin de microcontroladores para una mejor capacitacin.

MATERIAL Y EQUIPO A UTILIZAR


Arduino UNO.

Resistencias de 330 ohms y


10Kohms. De de watt.

LED`s.

Push Button NA o botones


Normamelme abiertos.

Display 7 segmentos de
catodo comun.

Transistor NPN (ejemplo:


2N2222).

Relevador de 6Vcd SPDT


(simple polo doble tiro).

Fotorresistencia.

Integrado L293D

Diodos rectificadores.

Potenciometro de 10Kohms.

Protoboard.

Motor de 3Vcd

Alambre para protoboard.

ACTIVIDADES PREVIAS A LA PRCTICA.


Para realizar estas prcticas se deben de tener ciertos conocimientos previos o tener
entendimiento de algunos con el fin de facilitar la comprensin del alumno al realizar las
prcticas.
1) Que es la Ley de Ohm.
2) Funcionamiento de algunos componentes electrnicos como el LED, resistencias,
switch.
3) Que es Arduino y que es la programacin.
4) Conocimientos bsicos de electrnica.

MARCO TEORICO
Contenido de las prcticas:
Practica 1: Prender un LED, el HOLA MUNDO de los microcontroladores.
Practica 2: Botones.
Practica 3: Display 7 segmentos.
Practica 4: Relevadores.
Practica 5: Sensor de Luz.
Practica 6: Giro de los motores.
Practica 7: Juego de luces.

Practica 1: Prender un LED, el HOLA MUNDO de los microcontroladores.


En esta prctica se realizara el ejercicio ms sencillo de la programacin de
microcontroladores, que el prender un LED y parpadear un LED.
Circuito en Proteus

Como estn viendo a continuacin es el circuito que se va a realizar donde la terminal 13


(o terminal PB5 de arduino) va conectada a una pata de la resistencia de 330ohms y en la
otra pata de la resistencia al ctodo de la LED (diodo emisor de luz) y se coloca a tierra.
Codigo ARDUINO

A continuacin se aprecia el cdigo a utilizar donde el cdigo siempre de divide en 2


funciones una que es void setup() (que se utiliza para configurar y/o declarar entradas y
salidas, o estados alto y bajo) y void loop() (que es donde se indican las funciones y
operaciones a realizar del microcontrolador), y donde todas las instrucciones irn entre
corchetes { }.
En el rea de void setup() se declararan los pines que vamos a utilizar. Como se puede
apreciar el cdigo pinMode(13, OUTPUT), es para declarar que un pin de arduino se
utilizara, el 13 que ser el pin 13 y OUTPUT que ser de salida que se refiere que
enviara una salida, todo entre parntesis.
En el rea de void loop() se puede apreciar las instrucciones que vamos a realizar, que
son digitalWrite(13, HIGH); que es que leeremos un pin, que vendra siendo el pin 13 y
que estar en alto sea en encendido, luego en el siguiente rengln aparece la instruccin
delay(1000) donde se har un retardo de 1000miliseg, que viene siendo 1seg, donde
estar prendido, ahora con digitalWrite(13, LOW) otra vez se vuelve a leer el pin 13
pero ahora con la diferencia de que estar en bajo sea apagado, con otro retardo de
1seg para estar apagado, y el ciclo continua leyndose provocando que el pin 13 prenda y
apague 1segundo indefinidamente.
Practica en protoboard

A continuacin se muestra la representacin del circuito simulado para un protoboard,


donde como se muestra es que el pin 13 ser de salida (cable amarillo), donde se
conectara a una resistencia en una terminal y la otra terminal al lado positivo del LED, y la
parte negativa de el LED a tierra.

Practica 2: Botones.
En esta prctica se dividir en 2 partes, pero con el mismo circuito, una es que mientras
este presionado el pushbutton este encendido el LED, y la otra parte es que al presionar
el LED se quede prendido manteniendo el estado en el que estuvo presionado.
Circuito PROTEUS

Como se muestra a continuacin se utilizara el pin 4 del arduino como salida que ira
conectada a un LED que inicialmente estar apagado, y el pin 8 como entrada a un
pushbutton normalmente abierto (NA).

Cdigo ARDUINO
Botones prende mientras est presionado

Se sealara en void setup() con pinMode los pines 4 y 8 que se utilizaran como
entrada y salida, y se creara una variable llamada estado que su valor ser 0, y el
void loop() se harn las instrucciones, se leer con digitalRead(8) el pin 8 para
checar si est en 1 o en 0 (que es si esta presiona o no est presionado en la
prctica) si no est presionado es 0 que se va directo a la instruccin else, si est
presionado la variable estado vale 1 y en la instruccin if(estado == HIGH) (high
significa alto) significa que si estado es igual a HIGH (high vendra siendo 1 lgico),
seria 1=1, la instruccin if se realizara que es digitalWrite(4, HIGH) (que es
escribir en el pin 4 un 1 lgico, que vendra estando encendido el LED).

Botones para mantener estados en un LED

A continuacin se presenta el mismo cdigo anterior, pero con la diferencia de que se


agregaron 2 variables mas que son estadoAnterior y salida y se agrego otro if con
una instruccin algortmica AND (que significa que si todas las condiciones son
verdaderas, o son 1 lgicos se activara), cuando estado sea 1, el
estadoAnterior es 0 se cumplir la accin, que es mantener la accin o el estado del
botn en 1.
Dentro del if se encuentra una instruccin que es salida = 1 - salida que es para
mantener el estado, se utiliza para cuando se presiones y estado es igual a 0 para
cambiar a 1 se realiza la operacin 1-1 se realiza la operacin y es igual a 0 (que
se apaga el LED), entonces el estado es igual a 0. Ahora al volver a presionar
estado es igual a 0 se realiza la operacin 1-0 es igual a 1 (que se enciende el
LED).

Practica en protoboard

Como se visualiza el pin 4 de arduino es una salida que va conectado a una resistencia
de 330ohms y a un LED, y la entrada es el pin 8.
Practica 3: Display 7 segmentos.
En esta prctica se conectara un display 7 segmentos para simbolizar los nmeros del 0
al 9 en cdigo BCD.
Circuito en PROTEUS

Los pines del 2 al 9 del arduino a las terminales del display de la terminal a a la h, que
son el pin 2 a la terminal a del display, el pin 3 a la terminal b y as sucesivamente.
Cdigo ARDUINO

En el cdigo se realizaran 7 variables que son una para cada terminal del display, la
variable a es igual a 2 que es el pin 2 del arduino y as sucesivamente hasta la
variable g es igual a 8. En void setup() se sealan las variables de la a a la g
como salidas y en void loop() usaremos la instruccin digitalWrite(a, HIGH) para
escribir sobre la variable y sealar que est en alto sea un 1 lgico y que esta
prendido, se realizara este paso con las dems variables para formar nmeros, despus
se pondr la instruccin delay(1000) para indicar que tendr un retardo de 1 segundo,
donde se realizara estos pasos as sucesivamente hasta llegar al nmero 9, como no hay
interrupciones este ciclo se repetir infinitamente.

Practica en protoboard

Como se muestra a continuacion se observa que los pines del 2 al 9 de arduino iran
conectados a unas resistencias de 330ohms que asu ves iran a un display de 7
segmentos de catodo comun en el display las terminales de en medio del display iran a
tierra.

Practica 4: Relevadores.

En esta prctica se realizara un circuito de interfaz que tiene como propsito controlar
componentes que manejan mucho mas voltaje, como los relevadores que se vern acabo.
Circuito en PROTEUS
Relevador controlado por tiempos

El circuito que se muestra es que el pin 4 se usara como salida para controlar la base de
un transistor NPN (Num. Parte: 2N2222) que conmutara (o swicheara) un voltaje de 6Vcd
para controlar un relevador de simple polo doble tiro que maneja un voltaje de 120Vac
para que se mueva el contacto.
Codigo en ARDUINO

El cdigo es igual al cdigo de la prctica de parpadear un LED, durante un segundo


prendido y un segundo apagado.

Practica en protoboard

Como se visualiza el circuito tiene unos pequeos cambios que son que no se manejaran
los voltajes de 6Vc y 120Vac antes mencionados sino que se utilizaran los voltajes que
maneja el arduino en su placa. Como se muestra el pin 4 del arduino ser una salida.
Relevador controlado por botones
Circuito en PROTEUS

En esta prctica se realizara un circuito que un botn controle el estado de un relevador


mientras este apagado el relevador mande el voltaje a cierta rea y al presionarse se
quede activado hasta volver a presionar el botn.

Cdigo ARDUINO

Como se muestra es el mismo cdigo para botones para mantener estados de un LED,
solo con la diferencia que en lugar de controlar un LED, ahora ser un relevador.
Practica en ptotoboard

Como se muestra en el circuito el pin 3 del arduino ser la entrada, y el pin 4 sera la
salida.

Practica 5: Sensor de Luz.


En esta prctica se realizara un sistema de control en el cual utilizaremos un sensor de
luz o fotorresistencia el cual controlara a un relevador que mientras alla luz manda un 1

logico y no funcione un foco que se conectara al relevador y al momento que este


obscuro mande un 0 logico y se prenda el foco.
Circuito en PROTEUS

Como se muestra en el circuito es el mismo que el de botones solo que con la diferencia
que en lugar de ser un pushbutton ahora ser una fotorresistencia.

Cdigo ARDUINO

Como se muestra es el mismo cdigo del de botones que prende mientras est
presionado.
Practica en protoboard

Como se muestra el circuito es el mismo que el de controlar un relevador solo que con la
diferencia de en lugar de ser un switch ahora ser una fotoresistencia.

Practica 6: Giro de los motores.

En esta prctica se controlara un motor de corriente directa y se direccionara el sentido de


giro del motor atraves de un potencimetro y se regulara levemente la velocidad.
Se necesita hoja tcnica del integrado L293D
Circuito en PROTEUS

Como se muestra en el circuito el pin 19 del arduino o el A5 se usara para controlar el


giro del motor de 3Vcd, las salidas sern los pines 5 y 6 que irn conectados al
integrado (el integrado L293D en un puente H para controlar giros de motores) que ese
a su vez controlara los estados del motor en las salidas del integrado ira el motor junto
con unos diodos rectificadores como proteccin del motor.
En los pines 5 y 6 de salida de ARDUINO se enviaran 1 y 0 logicos al integrado que
controlara el giro del motor al invertir las seales de enlugar 1 y 0, se enviara 0 y 1 se
invertira el giro del motor.

Cdigo ARDUINO

NOTA: La variable pinPot al ir un potencimetro conectado se tendr que conectar en


la seccin analgica del arduino y no es necesario declararlo como pin de entrada el
arduino lo declara automticamente al usar una entrada analgica.
Se declararan 4 constantes que son pinPot, pinMotorA, pinMotorB y valorPot,
en voidsetup() usando pinMode declararemos que el pinMotorA y el
pinMotorB son como salida y que con digitalWrite iniciaran en estado bajo sea 0
lgico, y el pinPot est conectado en el pin 19 de arduino o A5
En void loop() el potencimetro ser el pinPot que ser ledo por
analogRead(pinPot) que tomara el mismo valor que valorPot, y checamos el
if(valorPot < 504) si valorPot es menor que 504 se activara y realzara la instruccin
digitalWrite(pinMotorA) que consiste en escribir en esa variable alto dando as que
gire para la izquierda y apagar pinMotorB o dejarlo en estado bajo. Ahora miramos el
else if(valorPot > 520) que escribir si se cumple que el pinMotorA este en bajo
sea que se apague y el pinMotorB que este en alto sea que se prenda y gire para la
derecha. En caso de estar entre los valores de 504 y 520 el motor se apagara.
Practica en protoboard

A continuacin se muestra la practica fsica del circuito en protoboard y las conexiones de


cmo van los diodos rectificadores, el integrado, el motor y el potencimetro.

Practica 7: Juego de luces.


Como se muestra a continuacin en esta prctica se har un juego de luces donde ser
controlado por 5 contactos que harn diferentes acciones.
Circuito en PROTEUS

Como se ve en el circuito los pines del 2 al 6 de arduino se utilizaran como entradas y los
pines del 7 al 14 sern de salida para unos LEDs. En los contactos del dipswitch al
activarse el contacto 1 se prendern todos los LEDs, al activarse el contacto 2 prendern
los LEDs pares (NOTA: al iniciar secuencias en programacin siempre se empieza desde
el 0) incluyendo al 0 en los pares, al accionarse el contacto 3 se prendern los LEDs
impares, al activarse el contacto 4 parpadearan 1 segundo todos los LEDs y al accionarse
el contacto 5 prendern solo los primeros 4.

Codigo ARDUINO

NOTA: El pin 14 del arduino es una entrada analgica al usarse como salida no hay
ningn problema solo se tiene que declarar como salida normal.
Como en la prctica del display 7 segmentos las constantes para cada LED se declaran
de la misma forma como const int a = 7 para sealar que el pin 7 del arduino ser el
primer pin, luego se declararan otras constantes como const int caso1 = 2 sealando
que el pin de entrada 2 tendra un valor y asi sucesivamente y la ultima constante es int
estado = 0 donde se mantendr el estado del utlimo contacto activado.
En voidsetup() declararemos los pines de entrada y de salida con pinMode.
Y en void loop() el estado ser ledo por digitalWrite() y al tomar un valor estrara al
if(estado == HIGH) que estar en alto o en 1 logico y prendera una serie de LEDs con
digitalWrite().
Practica en protoboard