Practicas Con Arduino UNO

Practicas con arduino UNO OBJETIVO Fomentar el aprendizaje de los estudiantes, a que aprendan ámbitos de la electrónic

Views 321 Downloads 28 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Practicas con arduino UNO

OBJETIVO Fomentar el aprendizaje de los estudiantes, a que aprendan ámbitos de la electrónica y la programación de microcontroladores para una mejor capacitación.

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 PRÁCTICA. Para realizar estas prácticas se deben de tener ciertos conocimientos previos o tener entendimiento de algunos con el fin de facilitar la comprensión del alumno al realizar las prácticas. 1) Que es la Ley de Ohm. 2) Funcionamiento de algunos componentes electrónicos como el LED, resistencias, switch. 3) Que es Arduino y que es la programación. 4) Conocimientos básicos de electrónica.

MARCO TEORICO Contenido de las prácticas: 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 práctica se realizara el ejercicio más sencillo de la programación de microcontroladores, que el prender un LED y parpadear un LED. Circuito en Proteus

Como están viendo a continuación 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 cátodo de la LED (diodo emisor de luz) y se coloca a tierra. Codigo ARDUINO

A continuación se aprecia el código a utilizar donde el código 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 irán entre corchetes “{ }”. En el área de “void setup()” se declararan los pines que vamos a utilizar. Como se puede apreciar el código “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 paréntesis. 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 vendría siendo el pin 13 y que estará en alto ósea en encendido, luego en el siguiente renglón aparece la instrucción “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 leyéndose provocando que el pin 13 prenda y apague 1segundo indefinidamente. Practica en protoboard

A continuación se muestra la representación 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 práctica 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 continuación 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).

Código ARDUINO Botones prende mientras está presionado

Se señalara 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 harán 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 práctica) si no está presionado es “0” que se va directo a la instrucción “else”, si está presionado la variable “estado” vale “1” y en la instrucción “if(estado == HIGH)” (“high” significa alto) significa que si “estado” es igual a “HIGH” (“high” vendría siendo “1 lógico”), seria “1=1”, la instrucción “if” se realizaría que es “digitalWrite(4, HIGH)” (que es escribir en el pin 4 un 1 lógico, que vendría estando encendido el LED).

Botones para mantener estados en un LED

A continuación se presenta el mismo código anterior, pero con la diferencia de que se agregaron 2 variables mas que son “estadoAnterior” y “salida” y se agrego otro “if” con una instrucción algorítmica “AND” (que significa que si todas las condiciones son verdaderas, o son “1” lógicos se activara), cuando “estado” sea “1”, el “estadoAnterior” es “0” se cumplirá la acción, que es mantener la acción o el estado del botón en “1”. Dentro del “if” se encuentra una instrucción 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 operación “1-1” se realiza la operación 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 operación “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 práctica se conectara un display 7 segmentos para simbolizar los números del “0” al “9” en código 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. Código ARDUINO

En el código 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 señalan las variables de la “a” a la “g” como salidas y en “void loop()” usaremos la instrucción “digitalWrite(a, HIGH)” para escribir sobre la variable y señalar que está en “alto” ósea un “1 lógico” y que esta prendido, se realizara este paso con las demás variables para formar números, después se pondrá la instrucción “delay(1000)” para indicar que tendrá un retardo de 1 segundo, donde se realizara estos pasos así sucesivamente hasta llegar al número 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 práctica se realizara un circuito de interfaz que tiene como propósito controlar componentes que manejan mucho mas voltaje, como los relevadores que se verán 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 código es igual al código de la práctica de parpadear un LED, durante un segundo prendido y un segundo apagado.

Practica en protoboard

Como se visualiza el circuito tiene unos pequeños 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 práctica se realizara un circuito que un botón 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 botón.

Código ARDUINO

Como se muestra es el mismo código 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 práctica 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.

Código ARDUINO

Como se muestra es el mismo código 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 práctica se controlara un motor de corriente directa y se direccionara el sentido de giro del motor atraves de un potenciómetro y se regulara levemente la velocidad. Se necesita hoja técnica 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 serán los pines “5 y 6” que irán 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 protección 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 señales de enlugar “1 y 0”, se enviara “0 y 1” se invertiría el giro del motor.

Código ARDUINO

NOTA: La variable “pinPot” al ir un potenciómetro conectado se tendrá que conectar en la sección analógica del arduino y no es necesario declararlo como pin de entrada el arduino lo declara automáticamente al usar una entrada analógica. 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 lógico”, y el “pinPot” está conectado en el pin 19 de arduino o “A5” En “void loop()” el potenciómetro será el “pinPot” que será leído 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 instrucción “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 continuación se muestra la practica física del circuito en protoboard y las conexiones de cómo van los diodos rectificadores, el integrado, el motor y el potenciómetro.

Practica 7: Juego de luces. Como se muestra a continuación en esta práctica se hará un juego de luces donde será controlado por 5 contactos que harán 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 serán de salida para unos LEDs. En los contactos del dipswitch al activarse el contacto 1 se prenderán todos los LEDs, al activarse el contacto 2 prenderán los LEDs pares (NOTA: al iniciar secuencias en programación siempre se empieza desde el “0”) incluyendo al “0” en los pares, al accionarse el contacto 3 se prenderán los LEDs impares, al activarse el contacto 4 parpadearan 1 segundo todos los LEDs y al accionarse el contacto 5 prenderán solo los primeros 4.

Codigo ARDUINO

NOTA: El pin 14 del arduino es una entrada analógica al usarse como salida no hay ningún problema solo se tiene que declarar como salida normal. Como en la práctica del display 7 segmentos las constantes para cada LED se declaran de la misma forma como “const int a = 7” para señalar que el pin 7 del arduino será el primer pin, luego se declararan otras constantes como “const int caso1 = 2” señalando 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á leído 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