Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basado en Microcontrolador Arduino Instituto de Ingeniería Eléctrica Taller 1: Introducción a Arduino 29 de febrero de 2016 IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 1 / 53 Presentación del curso Objetivos y características. Equipo docente. Sitio de cursos y foro de consultas. Horario de clases, cronograma, horarios de consulta. Obligatorios, parcial y proyecto nal. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 2 / 53 Presentación del curso Objetivos y características. Equipo docente. Sitio de cursos y foro de consultas. Horario de clases, cronograma, horarios de consulta. Obligatorios, parcial y proyecto nal. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 2 / 53 Presentación del curso Objetivos y características. Equipo docente. Sitio de cursos y foro de consultas. Horario de clases, cronograma, horarios de consulta. Obligatorios, parcial y proyecto nal. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 2 / 53 Presentación del curso Objetivos y características. Equipo docente. Sitio de cursos y foro de consultas. Horario de clases, cronograma, horarios de consulta. Obligatorios, parcial y proyecto nal. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 2 / 53 Presentación del curso Objetivos y características. Equipo docente. Sitio de cursos y foro de consultas. Horario de clases, cronograma, horarios de consulta. Obligatorios, parcial y proyecto nal. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 2 / 53 Objetivos y características Actividad orientada a la generación de ingreso. Pretende introducir a la Ingeniería Eléctrica, sus métodos, sus herramientas, sus actores. De paso: datos básicos de la carrera: Página de la carrera: http://www.ng.edu.uy/carreras/grado/ingenieriaelectrica Director de carrera: Alvaro Giusto ([email protected]). IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 3 / 53 Objetivos y características Pretende aportar motivación, experiencia de trabajo en equipo, comunicación oral, escrita y digital, a través de una metodología de enseñanza activa. No se viene a escuchar, se viene a HACER. ¾Qué vamos a hacer? IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 4 / 53 Objetivos y características Pretende aportar motivación, experiencia de trabajo en equipo, comunicación oral, escrita y digital, a través de una metodología de enseñanza activa. No se viene a escuchar, se viene a HACER. ¾Qué vamos a hacer? IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 4 / 53 Objetivos y características IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 5 / 53 Objetivos y características Se formarán grupos de 3 estudiantes que en las primeras semanas trabajarán con el Arduino. Luego se agruparán de a 6 estudiantes para trabajar con un robot y placas de comunicaciones. Recibirán materiales para usar en el semestre. Cuidar el material es responsabilidad del grupo!!. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 6 / 53 Objetivos y características Se formarán grupos de 3 estudiantes que en las primeras semanas trabajarán con el Arduino. Luego se agruparán de a 6 estudiantes para trabajar con un robot y placas de comunicaciones. Recibirán materiales para usar en el semestre. Cuidar el material es responsabilidad del grupo!!. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 6 / 53 Equipo docente Docentes Mariana del Castillo Guillermo Airaldi Sebastián Montes de Oca Pablo Belzarena Estudiantes Colaboradores Juan Godoy Matias Echeverria Felipe Tambasco IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 7 / 53 Sitio de cursos y foro de consultas El sitio de cursos: https://eva.ng.edu.uy Allí se busca el EVA del Tallerine dentro de las asignaturas del Instituto de Ingeniería Eléctrica (IIE). Dentro del EVA, hay foros de información y foros de consulta. Además hay material de apoyo, están los ejercicios a realizar y es la plataforma a través de la cual se realiza buena parte de las evaluaciones. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 8 / 53 Sitio de cursos y foro de consultas El sitio de cursos: https://eva.ng.edu.uy Allí se busca el EVA del Tallerine dentro de las asignaturas del Instituto de Ingeniería Eléctrica (IIE). Dentro del EVA, hay foros de información y foros de consulta. Además hay material de apoyo, están los ejercicios a realizar y es la plataforma a través de la cual se realiza buena parte de las evaluaciones. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 8 / 53 Sitio de cursos y foro de consultas El sitio de cursos: https://eva.ng.edu.uy Allí se busca el EVA del Tallerine dentro de las asignaturas del Instituto de Ingeniería Eléctrica (IIE). Dentro del EVA, hay foros de información y foros de consulta. Además hay material de apoyo, están los ejercicios a realizar y es la plataforma a través de la cual se realiza buena parte de las evaluaciones. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 8 / 53 Sitio de cursos y foro de consultas El sitio de cursos: https://eva.ng.edu.uy Allí se busca el EVA del Tallerine dentro de las asignaturas del Instituto de Ingeniería Eléctrica (IIE). Dentro del EVA, hay foros de información y foros de consulta. Además hay material de apoyo, están los ejercicios a realizar y es la plataforma a través de la cual se realiza buena parte de las evaluaciones. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 8 / 53 Sitio de cursos y foro de consultas El sitio de cursos: https://eva.ng.edu.uy Allí se busca el EVA del Tallerine dentro de las asignaturas del Instituto de Ingeniería Eléctrica (IIE). Dentro del EVA, hay foros de información y foros de consulta. Además hay material de apoyo, están los ejercicios a realizar y es la plataforma a través de la cual se realiza buena parte de las evaluaciones. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 8 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Metodología y horarios de clase y de consulta Las clases serán los viernes de 14.30 a 17.30 horas en el Laboratorio de Software del Instituto de Ingeniería Eléctrica. Serán en un formato que combina presentación de temas con mucho trabajo por parte de los alumnos. Habrá semanas con un esquema de trabajo más libre por parte del grupo. El laboratorio estará disponible los miércoles de 15.30 a 18 para quienes quieran venir a trabajar. El miércoles a las 15.30 y a las 17.30 habrá posibilidad de realizar consultas. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 9 / 53 Cronograma Cuatro Módulos, cada uno de 3-4 talleres Módulo 1: Arduino y comunicaciones básicas Módulo 2: Robot Módulo 3: Aplicación 1 - primer parcial Módulo 4: Aplicación 2 - segundo parcial IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 10 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Evaluación: obligatorios, parcial y proyecto nal Habrá preguntas para responder individualmente antes de cada taller. Se indicarán también lecturas previas respectivas. Se darán ejercicios prácticos domiciliarios a ser entregados antes del siguiente taller. Cada módulo tendrá una evaluación (entrega práctica más informe). Los entregables de los módulos 2 y 4 serán parciales además con presentación oral. Fechas tentativas. Primer parcial; Miércoles 11/5 en la tarde media hora cada grupo. Parcial nal: Miércoles 22/6 o Viernes 24/6. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 11 / 53 Arrancamos!!! 1 Introducción 2 Hardware 3 Software Introducción Control de ujo Manejo de pines Materiales con los que vamos a trabajar Ejercicios para hacer en el taller EJERCICIOS para entregar en la próxima clase IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 12 / 53 Esquema de la presentación 1 Introducción 2 Hardware 3 Software Introducción Control de ujo Manejo de pines Materiales con los que vamos a trabajar Ejercicios para hacer en el taller EJERCICIOS para entregar en la próxima clase IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 13 / 53 ¾Qué es Arduino? IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 14 / 53 ¾Un microcontrolador? ¾para qué sirve? Algunas de las muchas posibles aplicaciones: Robótica Control de un invernadero Control de vehículos Control de un proceso industrial: temperatura, pH, nivel de un tanque, motores, etc. Un sintetizador de sonidos IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 15 / 53 ¾Un microcontrolador? ¾para qué sirve? Algunas de las muchas posibles aplicaciones: Robótica Control de un invernadero Control de vehículos Control de un proceso industrial: temperatura, pH, nivel de un tanque, motores, etc. Un sintetizador de sonidos IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 15 / 53 ¾Un microcontrolador? ¾para qué sirve? Algunas de las muchas posibles aplicaciones: Robótica Control de un invernadero Control de vehículos Control de un proceso industrial: temperatura, pH, nivel de un tanque, motores, etc. Un sintetizador de sonidos IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 15 / 53 ¾Un microcontrolador? ¾para qué sirve? Algunas de las muchas posibles aplicaciones: Robótica Control de un invernadero Control de vehículos Control de un proceso industrial: temperatura, pH, nivel de un tanque, motores, etc. Un sintetizador de sonidos IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 15 / 53 ¾Un microcontrolador? ¾para qué sirve? Algunas de las muchas posibles aplicaciones: Robótica Control de un invernadero Control de vehículos Control de un proceso industrial: temperatura, pH, nivel de un tanque, motores, etc. Un sintetizador de sonidos IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 15 / 53 Arduino Uno IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 16 / 53 Filosofíía: Electrónica Libre Basada en el software/hardware libre. Permite: Estudiar el hardware para entender cómo funciona Hacer modicaciones al hardware Poder compartir esas modicaciones con la comunidad IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 17 / 53 Filosofíía: Electrónica Libre Basada en el software/hardware libre. Permite: Estudiar el hardware para entender cómo funciona Hacer modicaciones al hardware Poder compartir esas modicaciones con la comunidad IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 17 / 53 Filosofíía: Electrónica Libre Basada en el software/hardware libre. Permite: Estudiar el hardware para entender cómo funciona Hacer modicaciones al hardware Poder compartir esas modicaciones con la comunidad IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 17 / 53 Sitio web : http://www.arduino.cc/ IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 18 / 53 Filosofía: Electrónica Libre Consecuencias: Comunidad activa de usuarios y desarrolladores (foros, ejemplos, tutoriales, etc) Gran cantidad de software y hardware disponible para autoconstruir Precios bajos Existe mucho material en el Web y muchos proyectos interesantes que pueden hacer. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 19 / 53 Esquema de la presentación 1 Introducción 2 Hardware 3 Software Introducción Control de ujo Manejo de pines Materiales con los que vamos a trabajar Ejercicios para hacer en el taller EJERCICIOS para entregar en la próxima clase IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 20 / 53 Características Microcontrolador: ATmega328 (8 bits) Alimentación via USB (5 V) o independiente (7-12 V) 14 pines de entrada/salida (I/O) digitales (6 con Pulse Width Modulation: PWM) Corriente máxima por pin I/O: 40 mA 6 pines de entrada analógica Permite comunicación serial Memoria ash: 32 KB Frecuencia del reloj: 16 MHz IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 21 / 53 Placa M. Margolis, Arduino Cookbook, O'Reilly Media 2011. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 22 / 53 Esquema de la presentación 1 Introducción 2 Hardware 3 Software Introducción Control de ujo Manejo de pines Materiales con los que vamos a trabajar Ejercicios para hacer en el taller EJERCICIOS para entregar en la próxima clase IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 23 / 53 Lenguaje de programación Basado en Wiring y similar a C++ Sketches = Código fuente Lenguaje compilado IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 24 / 53 Entorno de desarrollo: Arduino IDE IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 25 / 53 Proceso Código fuente IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 26 / 53 Proceso Código fuente -> Compilación (verify) IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 27 / 53 Proceso Código fuente -> Compilación (verify) -> Programarlo en la placa (upload) IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 28 / 53 Estructura de un archivo d e c l a r a c i o n de v a r i a b l e s ; void setup () { s e t e o de p i n e s ; i n i c i a l i z a c i o n de l a c o m u n i c a c i o n s e r i a l ; } void loop () { l o que voy a h a c e r todo e l ti e m p o ; } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 29 / 53 No olvidar ; al nal de cada sentencia! IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 30 / 53 Variables Tipos byte: Enteros (1 byte): -128 a 127 int: Enteros (2 bytes): -32.768 a 32767 long: Enteros (4 bytes) float, double: Números en punto otante (4 bytes) boolean: Verdadero (TRUE) o Falso (FALSE) char: Un solo caracter String: Listas de caracteres IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 31 / 53 Comparación A == B : A igual a B A != B : A distinto de B A < B : A menor que B A <= B : A menor o igual a B A > B : A mayor que B A >= B : A mayor o igual a B IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 32 / 53 Operadores lógicos A && B : A AND A || B : A OR B NOT A !A IIE : (TallerIne) B Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 33 / 53 Control de ujo if i f ( condicion ) { hacer algo ; } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 34 / 53 Control de ujo if i f ( condicion ) { hacer algo ; } i f ( condicion ) { hacer algo ; } else { hacer otra cosa ; } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 35 / 53 Control de ujo if i f ( condicion ) { hacer algo ; } i f ( condicion ) { hacer algo ; } else { hacer otra cosa ; } // Ejemplo : i f ( a == 0){ b=1; } else { b=0; } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 36 / 53 Otros bloques de control if Leerlos del material de estudio case for while do ... while IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 37 / 53 Otros bloques de control if Leerlos del material de estudio case for while do ... while IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 37 / 53 Otros bloques de control if Leerlos del material de estudio case for while do ... while IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 37 / 53 Manejo de pines digitales Los pines digitales (pin 0 a 13) pueden tomar sólo 2 valores: 0 V (LOW) o +5 V (HIGH). i n t pinEntrada = 10; i n t pinSalida = 13; int l l a v e = 0; void setup (){ pinMode ( p i n E n t r a d a , INPUT ) ; pinMode ( p i n S a l i d a , OUTPUT) ; } void loop (){ l l a v e = d i g i t a l R e a d ( p i n E n t r a d a ) ; // l e e e l v a l o r d e l p i n 10 i f ( l l a v e == LOW){ d i g i t a l W r i t e ( p i n S a l i d a , HIGH ) ; // pone e l p i n 13 en +5V }else{ d i g i t a l W r i t e ( p i n S a l i d a , LOW) ; // pone e l p i n 13 en +0V } } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 38 / 53 Manejo de pines digitales Los pines digitales (pin 0 a 13) pueden tomar sólo 2 valores: 0 V (LOW) o +5 V (HIGH). i n t pinEntrada = 10; i n t pinSalida = 13; int l l a v e = 0; void setup (){ pinMode ( p i n E n t r a d a , INPUT ) ; pinMode ( p i n S a l i d a , OUTPUT) ; } void loop (){ l l a v e = d i g i t a l R e a d ( p i n E n t r a d a ) ; // l e e e l v a l o r d e l p i n 10 i f ( l l a v e == LOW){ d i g i t a l W r i t e ( p i n S a l i d a , HIGH ) ; // pone e l p i n 13 en +5V }else{ d i g i t a l W r i t e ( p i n S a l i d a , LOW) ; // pone e l p i n 13 en +0V } } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 38 / 53 Manejo de pines digitales Los pines digitales (pin 0 a 13) pueden tomar sólo 2 valores: 0 V (LOW) o +5 V (HIGH). i n t pinEntrada = 10; i n t pinSalida = 13; int l l a v e = 0; void setup (){ pinMode ( p i n E n t r a d a , INPUT ) ; pinMode ( p i n S a l i d a , OUTPUT) ; } void loop (){ l l a v e = d i g i t a l R e a d ( p i n E n t r a d a ) ; // l e e e l v a l o r d e l p i n 10 i f ( l l a v e == LOW){ d i g i t a l W r i t e ( p i n S a l i d a , HIGH ) ; // pone e l p i n 13 en +5V }else{ d i g i t a l W r i t e ( p i n S a l i d a , LOW) ; // pone e l p i n 13 en +0V } } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 38 / 53 Arduino - Arduino - Protoboard. ¾Cómo estan conectados los bornes? Figura: http://taller.tagabot.org/index.php/Arduino/Armada IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 39 / 53 Resistencias Resistencias - Código de Colores. ¾Corriente? Código colores: tecnorik.blogspot.com IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 40 / 53 LEDs LEDs. ¾Corriente? Descripción Led: electroschematics.com IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 41 / 53 Ejemplo: Blink Veremos un programa ejemplo que prende y apaga periódicamente un LED conectado entre un PIN y tierra (GND). Archivo -> Ejemplos -> Basics -> Blink IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 42 / 53 Ejemplo: Blink Veremos un programa ejemplo que prende y apaga periódicamente un LED conectado entre un PIN y tierra (GND). Archivo -> Ejemplos -> Basics -> Blink IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 42 / 53 Ejemplo: Blink / ∗ B l i n k : Turns on an LED on f o r one second , t h e n o f f f o r one second , r e p e a t e d l y . T h i s example code i s i n t h e p u b l i c domain . ∗ / IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 43 / 53 Ejemplo: Blink / ∗ B l i n k : Turns on an LED on f o r one second , t h e n o f f f o r one second , r e p e a t e d l y . T h i s example code i s i n t h e p u b l i c domain . ∗ / // Pin 13 has a LED c o n n e c t e d on most A r d u i n o b o a r d s . G i v e i t a name : i n t led = 13; IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 44 / 53 Ejemplo: Blink / ∗ B l i n k : Turns on an LED on f o r one second , t h e n o f f f o r one second , r e p e a t e d l y . T h i s example code i s i n t h e p u b l i c domain . ∗ / // Pin 13 has a LED c o n n e c t e d on most A r d u i n o b o a r d s . G i v e i t a name : i n t led = 13; // t h e s e t u p r o u t i n e r u n s once when you p r e s s r e s e t : void setup () { // i n i t i a l i z e t h e d i g i t a l p i n a s an o u t p u t . pinMode ( l e d , OUTPUT) ; } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 45 / 53 Ejemplo: Blink /∗ Blink : then This // Pin Give int // // on for one example 13 has a name : led = 13; setup an LED routine setup () LED on second , code a it the void Turns off is for in the connected runs one second , repeatedly . public on once most when domain . ∗/ Arduino boards . you press reset : { initialize pinMode ( l e d , the digital pin as an output . over again OUTPUT ) ; } // the void loop loop () routine runs over and forever : { d i g i t a l W r i t e ( led , HIGH ) ; delay (1000); d i g i t a l W r i t e ( led , delay (1000); LOW ) ; // turn the LED // wait for a // turn the LED // wait for a on second off second } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 46 / 53 Comparar con el Blink (1) int led = 13; boolean a= f a l s e ; boolean b=t r u e ; boolean c=t r u e ; void setup () { pinMode ( l e d , OUTPUT ) ; } void loop () { d i g i t a l W r i t e ( led , if ( a == ! ( b&&c ) HIGH ) ; || b== ( ! a && c ) ) { delay (1000); d i g i t a l W r i t e ( led , LOW ) ; delay (1000); } } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 47 / 53 Comparar con el Blink (2) int led = 13; boolean a= f a l s e ; boolean b=t r u e ; boolean c=t r u e ; void setup () { pinMode ( l e d , OUTPUT ) ; } void loop () { d i g i t a l W r i t e ( led , if HIGH ) ; ( a = ( ! ( b &&(! c ) ) ) ) if ( a==b ) { OJO : ESTO ES UN ERROR ¾por qué ? { d i g i t a l W r i t e ( led , HIGH ) ; delay (1000); d i g i t a l W r i t e ( led , LOW ) ; delay (1000); } } } IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 48 / 53 Ejercicios para el Taller Ej. 1. Implementar el circuito de la gura y escribir un programa que prenda y apague el LED cada medio segundo. Para eso utilizar la función delay(x) donde x es el tiempo que se detiene el programa en milisegundos. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 49 / 53 Ejercicios para el Taller Ej. 2. Escribir un programa que prenda y apague el LED cada un segundo si la entrada 5 está a 5V y la entrada 6 está a 0V y lo mantenga prendido permanentemente en otro caso. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 50 / 53 Ejercicios para entregar Ejercicio para entregar 1. Modicar el circuito de los ejercicios anteriores y escribir un programa que prenda y apague secuencialmente tres leds. Es decir se prende un led por medio segundo, luego se apaga y se prende el siguiente por un segundo, cuando llega al último vuelve al primero. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 51 / 53 Ejercicios para entregar Ejercicio para entregar 2. En base al Ejercicio anterior, se pide hacer que de acuerdo al valor de la entrada 6, si está a 5V se recorran los leds de derecha a izquierda, cada medio segundo, y si está a 0 se recorran de izquierda a derecha, cada un segundo. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 52 / 53 Resumen para la próxima clase 1 2 3 4 5 Si no terminaron los ejercicios para hacer en este taller, terminarlos. Tener funcionando los ejercicios para entregar 1 y 2. Quedan disponibles preguntas sobre esta clase y los ejercicios para entregar, que deberán contestar en el sitio EVA. Lo deberá hacer cada estudiante individualmente hasta el próximo miércoles. Deberán entregar en la próxima clase un breve informe de los ejercicios para entregar 1 y 2. En esos informes debe estar el código fuente y la explicación de cómo funciona el circuito y el código utilizado. Esos informes serán corregidos por los docentes y se sorteará un estudiante de cada grupo (o eventualmente dos) que deberá mostrar los ejercicios funcionando, explicar al docente lo realizado por el grupo y contestar las preguntas del docente sobre estos ejercicios o sobre lo que se preguntó en el EVA. Se evaluará el trabajo del grupo y el trabajo individual de quienes salgan sorteados. IIE (TallerIne) Taller Introducción a la Ing. Eléctrica 29 de febrero de 2016 53 / 53