Practicas Con Arduino UNO

29
Practicas con arduino UNO

description

Uso de arduino

Transcript of Practicas Con Arduino UNO

Practicas con arduino UNO

Practicas con arduino UNO

OBJETIVOFomentar 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 UTILIZARArduino 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 TEORICOContenido 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 ARDUINOBotones 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 PROTEUSRelevador 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 botonesCircuito 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 L293DCircuito 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 A5En 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