Descripcion Curso Basico

14
01010100010101010 101010101001010100 10100101010 10100101010 01010100010101010 101010101001010100 0110100000101101010101010 01010101 01010101 01010101 01010101010001110101 010101000101010000111101010101010100 1010101010101111101010100101010101010 01010100000 1010010111010100 01010101 0101010000 10101010100 01010100010101010101010 101010010101010100 0101010101000010101 01010100010101010 101010100 10100101010 011010101010 10100101010 10100101010 0101010000 10101010100 0101010101 0101010101 10100101010 0101010000 10101010100 010101000100010101010100 1010101010101111101010010 010101000100010101010100 1010101010101111101010010 10100101010 010101000100011101010010 0101010101 011010101010 010101000100010101010100 1010101010101111101010010 C urso BáSico de microcontroladores con Pic ó ArdUino “Entra Mirando y Sal Programando” www.credetec.com.mx

description

Descripcion de las prácticas a realizar con PIC ó con Arduino!

Transcript of Descripcion Curso Basico

Page 1: Descripcion Curso Basico

01010100010101010101010101001010100

1010010101010100101010 01010100010101010

101010101001010100011010000010110101010101001010101 01010101 01010101

01010101010001110101

0101010001010100001111010101010101001010101010101111101010100101010101010

010101000001010010111010100

01010101010101000010101010100

01

01

01

00

01

01

01

01

01

01

01

01

01

01

001

01

01

01

01

00

01

01

01

01

01

00

00

10

10

10

10

10

10

00

10

10

10

10

10

10

10

10

0

1010

0101

010

01

10

10

10

10

10

1010

0101

010

1010

0101

010

010

10

10

00

010

10

10

10

10

001

0101

0101

0101

0101

0110

1001

0101

0010

10

10

00

010

10

10

10

10

00

10

10

10

00

10

00

10

10

10

10

10

01

01

01

01

01

01

01

11

11

01

01

00

10

01

01

01

00

01

00

01

01

01

01

01

00

10

10

10

10

10

10

11

11

10

10

10

01

0

1010

0101

010

01

01

010

00

10

00

11

10

10

10

01

0

0101

0101

010

11

01

01

01

01

00

10

10

10

00

10

00

10

10

10

10

10

01

01

01

01

01

01

01

11

11

01

01

00

10

Curso BáSico de microcontroladorescon Pic ó ArdUino

“Entra Mirando y Sal Programando”

www.credetec.com.mx

Page 2: Descripcion Curso Basico

Descripción:0

10

10

10

00

01

01

01

01

01

00

01

01

01

00

01

00

01

01

01

01

01

00

10

10

10

10

10

10

11

11

10

10

10

01

0

Este curso fue diseñado para personas que desean conocer eintroducirse al mundo de los PIC y al Mundo ARDUINO, selecciona elcurso que deseas! PIC ó ARDUINO.Brindando una documentación amplia y la teoría-práctica, hacen queeste curso se vuelva dinámico, desde el primer programa hasta algúndiseño más complejo.Recomendando siempre el auto aprendizaje, se incluye la primeraparte de una excelsa recopilación de libros y manuales(digitales), quellevan de la mano a la persona que asiste al curso a entender yprofundizar en el tema de los microcontroladores PIC & ARDUINOdesde diferentes puntos: electrónicos, matemáticos, de programación,de diseño y diversas aplicaciones que propician una experienciacultural en el mundo de los micros.Finalmente la persona que acuda a este curso tendrá el conocimiento eidea clara de cómo empezar y desarrollar proyectos de gran alcance,realizando el siguiente proceso: teoría (introducción mundo PIC óARDUINO y Representación Digital), programación (compilador),simulación (simulador, PIC), físicamente (placa de pruebas), que juntoa la creatividad harán un magnífico complemento.

Entra Mirando y Sal Programando: Lo que necesitas saber para echar aandar tus microcontroladores PIC ó ARDUINO, sin previo Conocimiento.Los parámetros de alcance son desde personas que alguna vez hayan vistoun chip, aficionados a la electrónica de los micros, estudiantes y maestrosde: electrónica, programación, computación, control, robótica,mecatrónica, diseño electrónico e instrumentación que deseen trascendery actualizar los métodos educativos e implementar nuevas formas en quela tecnología ha ido cambiando, en prácticas, tareas, inventos e incluirlosen diseños con circuitos actuales.

Objetivo y Alcance:

.

Page 3: Descripcion Curso Basico

Experimento 1 : Led enciende y apaga 1Experimento 2 : Led y switch 2Experimento 3: Semáforo 3Experimento 4: Led´s rotando sólo ida 4Experimento 5 : Led´s rotando ida y vuelta 5Experimento 6 : Puerto A = B 6Experimento 7: Display de 7 segmentos 7Experimento 8 : Display de cristal líquido (LCD) 8Experimento 9: Modulación de ancho de pulso (PWM) y led 9Experimento 10: Generación de tonos y melodías 10Contacto 11

01

01

01

00

00

10

10

10

10

10

10

11

11

10

10

10

01

0

.

ÍNDICE

Page 4: Descripcion Curso Basico

Experimento 1 : Led enciende y apagaDescripción:Este experimento trata de acercar la teoría y lo platicado con la práctica, en su primerprograma conoceremos como realizar las configuraciones necesarias con el compiladorpara comenzar a programar nuestro pic ó arduino, terminando este proceso con elprograma 1* compilado y cargado en nuestro microcontrolador.Mostraremos como utilizar nuestro programador pickit 2, que será el encargado detransferir el archivo hexadecimal creado por el compilador a nuestro pic. Se realizaráuna plática sobre cómo funciona dicho programador y cómo lograr programardiferentes microcontroladores de microchip con el mismo pickit 2, sin necesidad degastar en programadores universales y se proponen programadores alternativos degran calidad. Caso arduino, sólo basta transferir el archivo.*programa 1:Este programa está diseñado para encender y apagar un led, determinadotiempo, en un bucle infinito.Las variaciones del programa pueden ser:• Que no sea en bucle infinito, que se haga sólo una vez• Cambiar los tiempos de retardo en encendido y en apagado• Encender y apagar varios leds a diferentes tiempos y diferentessecuencias programables.• Implementación de interrupciones• Encendido y apagado de un led para determinar un evento, puede seruna señal informativa, alarma, tiempo de disparo de algún circuito,tiempo de activación de un relé y toda manipulación que se puedaimaginar al llevar a un nivel alto o bajo un pin de nuestro pic.Tareas a desarrollar:Un semáforoAlarma visual con led de alta luminiscenciaConectar un buzzer y realizar mismas variaciones que con un led.Encontrar un dispositivo que sea de última tecnología y se active con un“1” o “0” lógico y sea manipulable del mismo modo que un led.

1

10

10

10

10

10

00

10

10

10

00

10

00

10

10

10

10

10

0

Page 5: Descripcion Curso Basico

Experimento 2 : Led y SwitchDescripción:Este experimento prueba el estado de un pin del puerto B(RB1) y dependiendo del mismo apaga oenciende un led (RB0) ó dos terminales de la placa arduino. Lo interesante es la configuración delpuerto de ocho bits, donde poner 1 significa que ese pin es entrada y colocar un cero significa queese pin es salida.*programa 2:Este programa está diseñado para encender y apagar un led, dependiendo de la señal quemanda un botón (sea uno o cero), en un bucle infinito.Las variaciones del programa pueden ser:• Que no sea en bucle infinito, que se haga sólo una vez• Encender y apagar varios leds, presionando varios botones.• Implementación de interrupciones• Encendido y apagado de otra circuitería, activar un buzzer, o simplemente mandaruna señal que se relacione con presionar el botón.Tareas a desarrollar:Realizar un programa que al presionar un solo botón vaya incrementando untiempo en que permanece encendido el led.Realizar una implementación que al presionar el botón incremente los datos delpuerto B.Imaginar que otras aplicaciones podemos realizar al presionar un solo botón.

2

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 6: Descripcion Curso Basico

Experimento 3 : SemáforoDescripción:Este experimento está diseñado para mostrar un ejemplo de la vida cotidiana y sencillo deindicación con leds. En este caso un semáforo.*programa 3:Se presenta el programa de manera rudimentaria para dar una clara idea de lo que sucede dentrodel micro y simular un semáforo. El programa esta paso a paso con el propósito de generar nuevasideas de cómo mejorarlo y hacerlo más funcional.Las variaciones del programa y que se ven en clase son:• Que no sea en bucle infinito, que se haga sólo una vez• Cambiar los tiempos de retardo en encendido y en apagado• Implementación de interrupciones• Como utilizar funciones• Como realizarlo con una libreríaTareas a desarrollar:Que el semáforo después de realizar la rutina 3 veces, comience a mandar la señalpreventiva que normalmente se ve después de media nocheImaginar una nueva manera de presentar este programa, utilizando nuevosrecursos.

3

10

10

10

10

10

01

01

01

01

01

01

01

11

11

01

01

00

10

Page 7: Descripcion Curso Basico

Experimento 4 : Led´s rotando sólo idaDescripción:En esta práctica se pretende mostrar un led rotando, es un programa escrito de manera laboriosa,utilizando la rotación prácticamente a mano, diciéndole al microcontrolador que dato enviar alpuerto y cuanto tiempo (500ms).La rotación de un bit es uno de los ejemplos más comunes en el mundo de los microcontroladores, yutilizando la herramienta en c, existen diversas formas de llevar a cabo este ejemplo.*programa 4:El microcontrolador tiene conectado en el puerto b, 8 leds, desde RB0 hasta RB7, óterminales a la placa arduino, el programa está diseñado para encender el primer led,mantenerlo encendido medio segundo y apagarlo, después el segundo led y así hasta llegaral led 8, y el programa vuelve a iniciar. Sólo lleva un sentido.Las variaciones del programa pueden ser:• Realizar el movimiento de leds de forma inversa• Manipular el tiempo de encendido y apagado• Comenzar en otro dato que no sea 0000 0001

Tareas a desarrollar:Encontrar la anomalía del programa y pensar como corregirlaEncender dos led y rotarlos a la derechaEncender tres leds y rotarlos a la izquierdaRealizar efecto de parpadeo, que el led parpadee 3 veces antes de rotarEncender todos los leds excepto uno y rotar ese led apagadoImplementar técnicas de programación para realizarlo con : for, do, switch, while.

4

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 8: Descripcion Curso Basico

Experimento 5 : Led´s rotando ida y vueltaEn esta práctica se pretende mostrar un led rotando de izquierda a derecha, es un programaescrito de manera laboriosa, utilizando la técnica de multiplicación de dato, pues considerando quelos datos de 8 bits se escriben 0000 0000, y que cada posición es 2n (0000 0001 = 1,0000 0010=2, 0000 0100=4, 0000 1000=8, 0001 0000= 16, 0010 0000=32,0100 0000=64, 1000 0000 =128, 1 0000 0000 =256).La rotación de un bit es uno de los ejemplos más comunes en el mundo de los microcontroladores,y utilizando la herramienta en c, existen diversas formas de llevar a cabo este ejemplo.*programa 5:El microcontrolador tiene conectado en el puerto b, 8 leds, desde RB0 hasta RB7, mismocon las terminales de la placa arduino, el programa está diseñado para encender el primerled, mantenerlo encendido medio segundo y apagarlo, multiplicar el dato del puerto por 2 ymandar ese dato al puerto donde están los leds, generando el efecto de rotación e ida y alllegar al ultimo led, dividir el dato entre 2, para realizar el efecto de regreso.Las variaciones del programa pueden ser:• Realizar el movimiento de leds de forma inversa• Manipular el tiempo de encendido y apagado• Comenzar en otro dato que no sea 0000 0001• Realizar el programa utilizando operadores << y >>• Realizar el programa con una exponencial.Tareas a desarrollar:Encender dos led y rotarlos a la derechaEncender tres leds y rotarlos a la izquierdaRealizar efecto de parpadeo, que el led parpadee 3 veces antes de rotarEncender todos los leds excepto uno y rotar ese led apagadoEncontrar y corregir el error en el programa de operadores y corregirlo.

5

10

10

10

10

10

00

10

10

10

00

10

00

10

10

10

10

10

0

Page 9: Descripcion Curso Basico

Experimento 6 : Puerto A = BDescripción:El experimento actual trata de mostrar un manejo claro del puerto, como enviar 8 bits a nuestropuerto B del pic, o lo similar con arduino y manipular la información de modo tal que se veareflejado a la salida del mismo.Se muestra como configurar los puertos del pic para hacerlos funcionar como entrada o comosalida y la configuración en arduino, para realizar la manipulación de datos. Podemos entoncesconfigurar todo un puerto como entrada o todo como salida según nos convenga, o bien, sóloconfigurar unos bits del puerto como entrada y otros como salida, también a nuestro gusto.*programa 6:El programa está diseñado para enviar datos al puerto B dependiendo de lo que haya en elpuerto A, de modo tal que hacemos puerto B = puerto A (lo que esté en el puerto A seráasignado al puerto B), en arduino la entrada será la salida.Las variaciones del programa pueden ser:• Hacer la acción contraria puerto A= puerto B, considerando que el pin RA5 solofunciona como entrada, no como salida (colocar resistencia de pull-up),para pic.• Cambiar las configuraciones de entrada y salida de los puertos a nuestra voluntad,haciendo algunas entradas y algunas salidas.• Implementar con interrupciones• Dependiendo de una entrada seleccionada, mandar una señal a la salida, podemosutilizar cualquier sensor.Tareas a desarrollar:Comparar una entrada y enmascarar los datos para evitar errores, se puede generaruna secuencia de datos de entrada y si es correcta activar una salida.Imaginar que otras cosas podemos realizar con cambios de estado de un pin o bien deun puerto completo.Implementación de esta práctica si seleccionaste el curso de arduino.

6

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 10: Descripcion Curso Basico

Experimento 7 : Display de 7 segmentosDescripción:En este experimento utilizaremos un display de 7 segmentos, de cátodo común, con ayuda deuna tabla, que es como normalmente se maneja, comenzar a enviar datos por el puerto, desde 0y hasta 9.*programa 7:Este programa está diseñado para realizar una cuenta 0-9 y realizarlo de manerapermanente.Las variaciones del programa pueden ser:

• Que no sea en bucle infinito, que se haga sólo una vez• Cambiar los tiempos en que se muestran los dígitos• Implementación de interrupciones• Cuenta regresiva

Tareas a desarrollar:Contador de objetosQue el dígito incremente al presionar un botónQue el dígito decremente al presionar un botón.Crear un dígito que no sea numérico (puede ser una letra).Implementar un contador de 0000 a 9999

7

10

10

10

10

10

00

10

10

10

00

10

00

10

10

10

10

10

0

Page 11: Descripcion Curso Basico

Experimento 8 : Display de cristal líquido (LCD)Descripción:El desarrollo de esta práctica nos muestra como conectar y comenzar a trabajar con un LCD de16x2, las configuraciones necesarias y manejo de la librería lcd.c, enviando un texto ymostrándolo en el display de cristal líquido y aplicación de la librería para caso arduino.*programa 8:Este programa está diseñado para mandar un texto, el que sea a la LCD. Debemos conocerel límite de la pantalla 16x2, considerando la memoria virtual. (En menos 15 minutos!)Las variaciones del programa pueden ser:

• Implementación de interrupciones• Mandar un dato a la LCD cuando suceda un evento• Hacer un menú de selecciones

Tareas a desarrollar:Escribir un programa que mande el abecedarioMover una palabra por toda la pantallaPosicionarse en una coordenada que no sea (0,0)Mostrar un mensaje y después de 3 segundos que muestre otroRealizar un contador que se visualice en el LCDImplementar un teclado & LCDRealizar una animaciónImplementar un programa que muestre datos en la LCD, un reloj, termómetro,multímetro, frecuencímetro, comunicación etc.Describir en qué consiste la inicialización de una LCD.

8

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 12: Descripcion Curso Basico

Experimento 9 : Modulación de ancho de pulso (PWM) y Led

Descripción:Este experimento nos enseña la modulación de ancho de pulso, de 0 a 5v, manejando los ciclos detrabajo de la señal digital.*programa 9:Este programa está diseñado para encender un led conectado en la terminalRB3(ccp1/pwm) y controlar la intensidad y brillo de un led de alta luminiscencia,partiendo desde 0 y hasta el máximo de encendido. Con arduino, sólo basta con cargar elvalor 0-256 ó 0-1023!Las variaciones del programa pueden ser:• Implementación de interrupciones• Control de un motor de CD• Control de velocidad, intensidad, sonido, voltaje etc.

Tareas a desarrollar:Control de velocidad de un ventilador de DCMedir la salida 0-5vRealizar un programa que al presionar un botón incremente el PWMRealizar un programa que al presionar un botón incremente el PWM y otro botónque al presionarlo decremente el PWMRealizar un programa que mande datos determinados, por ejemplo, voltaje y losdespliegue en una LCD o al puerto serie.

9

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 13: Descripcion Curso Basico

Experimento 10 : Generación de tonos y melodíasDescripción:Este experimento nos enseña como generar tonos específicos y duración de los mismos utilizandola librería tones.c, y con instrucciones claras para la misma utilización. Mismo caso para arduino.*programa 10:El diseño de este programa es sencillo y muestra una pequeña tonada, el clásico happybirthday.Las variaciones del programa pueden ser:• Implementación de interrupciones• Modificar la duración de los tonos• Realizar la tonada una octava arribaTareas a desarrollar:Generar la tonada del himno nacional mexicano.Generar la tonada del tema de la pantera rosa.Generar la tonada de estrellita.Realizar un programa que toque 3 tonadas diferentes y con duraciones aleatorias.Desarrollar un programa que tenga conectados botones en un puerto y alpresionarlos suene un tono diferente, tipo piano.Realizar un programa que comience a tocar una tonada al presionar un botón y quela deje de tocar al presionar de nuevo.Realizar una simulación de sirena desde 350hz y hasta 5 khz

10

01

01

01

00

00

01

01

01

00

01

00

01

01

01

01

01

00

Page 14: Descripcion Curso Basico

01

01

01

00

00

10

10

10

10

10

00

10

10

10

00

10

00

10

10

10

10

10

01

01

01

01

01

01

01

11

11

01

01

00

10

[email protected]éfono Móvil: solicitar vía mail

11

No olvides darle like a la página de Facebook, parafomentar y difundir el desarrollo Tecnológico en México!

CONTACTO

www.credetec.com.mx