Para el laboratorio 8, es necesario hacer una interfaz gráfica con Processing, a continuación algunos ejemplos de como utilizar una imagen de referencia y el código para sobreponer un barra o una manecilla.
Recuerden que en Processing, primero deben agregar las imágenes al proyecto, usando el menú Sketch → Añadir archivo.
Ejemplo de un Termómetro:
Código en Processing, usando PImage:
Ejemplo de un 'reloj' para medir la humedad:
Código en Processing, usando PImage:
Las ideas y principios que dieron origen al software libre se han ido introduciendo en otros entornos, es así como ahora el Hardware se beneficia del trabajo colaborativo bajo un modelo de cooperar y compartir.
jueves, 13 de octubre de 2016
jueves, 1 de septiembre de 2016
Código de ejemplo para el Lab7
Para el laboratorio 7, es necesario hacer una interfaz gráfica con Processing y ControlP5, a continuación pueden ver un par de ejemplos con diferentes tipos de controles.
Código en Processing, usando Sliders verticales:
Código en Processing, usando Sliders horizontales:
Código en Processing, usando Knobs:
Código en Processing, usando Sliders verticales:
Código en Processing, usando Sliders horizontales:
Código en Processing, usando Knobs:
jueves, 25 de agosto de 2016
Esquemas para los Lab 4 y 5
A continuación encontrarán los diagramas de un display de 7-segmentos, con su codificación de formar los números, y un IC 74HC595
En el código de ejemplo que se muestra aquí, deben tener en cuenta cuales son los 3 pines en el Arduino que actuarán como Clock, Latch y Data (pueden ser cualquiera).
En el código de ejemplo que se muestra aquí, deben tener en cuenta cuales son los 3 pines en el Arduino que actuarán como Clock, Latch y Data (pueden ser cualquiera).
jueves, 18 de agosto de 2016
Código de ejemplo para el Lab3
Para el laboratorio 3, es necesario hacer una interfaz gráfica con Processing y ControlP5, y que esta interfaz envíe datos señalando los tiempos de encendido y apagado por el puerto serial hacia el Arduino.
A continuación pueden ver el código de ejemplo de la interfaz, y la comunicación serial para cambiar la intensidad de un LED vía PWM.
Código para el Arduino:
Código en Processing:
A continuación pueden ver el código de ejemplo de la interfaz, y la comunicación serial para cambiar la intensidad de un LED vía PWM.
Código para el Arduino:
Código en Processing:
jueves, 11 de agosto de 2016
Blogs de los Estudiantes 2016-B
Estos son los estudiantes del periodo 2016-B, cada uno tiene su propio Blog, donde mostrará el desarrollo de sus laboratorios y proyectos.
Estos son los Blogs:
Los invitamos a revisar y comentar los Blogs, para retroalimentar el trabajo de los estudiantes.
Estos son los Blogs:
Los invitamos a revisar y comentar los Blogs, para retroalimentar el trabajo de los estudiantes.
Laboratorios del curso 2016-B
Cada estudiante debe crear su propio blog, con una entrada para cada Laboratorio, los puntos a evaluar en cada laboratorio son:
Recuerden, no hay problema si trabajan en grupo pero cada estudiante debe crear su propio blog, tomar sus propias fotos y vídeos, hacer sus propios diagramas, y escribir su propio código.
- Título del Laboratorio (Lab #0)
- Descripción del Laboratorio
- Lista de los Elementos utilizados
- Proceso del Montaje (Fotos paso a paso)
- Diagrama del Montaje en la Protoboard (usando Fritzing)
- Diagrama Esquemático del Circuito (usando Fritzing)
- Diagrama PCB equivalente (usando Fritzing)
- Código Fuente en Arduino (con documentación y comentarios)
- Código Fuente en Processing (con documentación y comentarios)
- Video del Funcionamiento
- Lab 12: Enviar desde una página web un mensaje a una matriz LED 8x8 (desplazándose de izquierda a derecha) a través de IC MAX7219.
- Lab 11: Enviar desde una interfaz en Processing un mensaje a una matriz LED 8x8 (desplazándose de izquierda a derecha) a través de IC MAX7219.
- Lab 10: Controlar desde el Arduino, una matriz LED 8x8 a través de IC MAX7219, para mostrar un número del 0 al 9, dependiendo de la posición del Potenciómetro.
- Lab 9: Controlar desde una interfaz en Processing, una línea de 8 LEDs RGB 5050 conectado a un Arduino. Nota: No alimente los +5V desde el Arduino.
- Lab 8: Mostrar en una interfaz de Processing la temperatura y humedad (DTH11), y el nivel de iluminación capturado con una fotoresistencia (LdR, CdS) medidas a través de un Arduino.
- Lab 7: Controlar un LED RGB desde el Arduino, vía PWM con una interfaz gráfica en Processing/ControlP5 para controlar el valor de cada color.
- Lab 6: Controlar un LED RGB desde el Arduino, vía PWM con 3 potenciómetros, uno para cada color.
- Lab 5: Controlar desde el Arduino, un Display LED de 7-Segmentos, a través de un IC 74HC595, para mostrar un número de 0 a 9, dependiendo de la posición del Potenciómetro.
- Lab 4: Controlar 8 LEDs desde el Arduino, a través de un IC 74HC595, definiendo mínimo 8 patrones de movimiento que son controlados desde una interfaz gráfica en Processing/ControlP5. Más información sobre el IC 74HC595
- Lab 3: Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve en forma continua de izquierda a derecha, vía una interfaz gráfica en Processing/ControlP5 para controlar el tiempo de encendido y el tiempo de apagado.
- Lab 2: Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve de izquierda a derecha cuyos tiempos de encendido y apagado se controlan desde dos potenciómetros.
- Lab 1: Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve de izquierda a derecha.
- Lab 0: Controlar el tiempo de encendido y apagado de un LED usando un potenciómetro
Recuerden, no hay problema si trabajan en grupo pero cada estudiante debe crear su propio blog, tomar sus propias fotos y vídeos, hacer sus propios diagramas, y escribir su propio código.
Proyectos usando Arduino
He comenzado una serie de laboratorios básicos del uso de Arduino, veremos hasta donde llegamos con eso, por ahora:
- Laboratorio #0: 1 LED y 1 POT
- Laboratorio #1: 8 LEDs en línea
- Laboratorio #2: 8 LEDs en línea y 2 POTs
- Juego Reacción Rápida: Christian David Lucumi
- Carro controlado por Bluetooth: Carlos Mantilla
- Batería MIDI: Carlos Grajales
- Cubo LED 4x4x4: Luis Alvarez
- Carro esquiva obstaculos: Julian Moreno
- Cruce de Semáforos: José Caicedo
- Alcoholímetro: Juberth Rentería
- Control Númerico 2 ejes (X,Y): Andrés Sinisterra
- Puerta con pantalla táctil: Julian Colorado
- Tetris + TvOut: Joan Rosales
- Proyecto Domótica: Juan Camilo Fernández
- Juego Snake: John Paul Trejos
- Arduino, Processing y Kinetc: Jorge Henao
- Puerta con Teclado para acceso: Iduar Trujillo
- Juego y Joystick: Danny Ladino
- Carro a control remoto: Cristian Chaparro
- POV: Luisa Yule
- Pedal de Efectos para Guitarra: Claudia Triviño y Carlos Mera
- Envío de mensajes por Twitter: Nestor Ordoñez
- Instructables - Arduino projects
- Make:Projects - Arduino
- Creative Applications - Arduino
- Arduino Playground - Users
- Arduino Playground - Ideas
- Cooking Hacks - Arduino / Community
- Practical Arduino - Projects
- LadyAda - Projects & Plans
- Nothing but Reboots - Top 10 Arduino projects
- ElectroSchematics - Arduino
- 30 Arduino Projects for the Evil Genius
- Cerebral Meltdown - Arduino projects
- Top 40 Arduino projects of the Web
- Hack-n-Mod - Arduino projects
- Duino4Projects - Arduino projects
- Tangible Media Group
- Fritzing - projects
- Let's make Robots
- Foro Activo - Proyectos Arduino
- Domótica con Arduino
Un poco más de Electrónica
El curso de Programación de Sistemas Embebidos (usando Arduino), es un curso electivo que ofrece la Facultad de Ingeniería de la USC, y puede ser tomado por estudiantes de las Ingenierías de Sistemas, Electrónica, y Bioingeniería, y también estudiantes de Tecnología en Sistemas.
Aunque no es indispensable, algunos conocimientos básicos de electrónica son muy útiles para tomar el curso. Sin embargo en la medida que los estudiantes van buscando proyectos más interesantes, un mayor conocimiento de la electrónica se hace necesario.
A continuación, dejaré algunos enlaces donde podrán ampliar sus conocimientos en electrónica, si así lo requieren:
Otra habilidad útil para desarrollar sistemas embebidos, es crear PCBs, y soldar:
Aunque no es indispensable, algunos conocimientos básicos de electrónica son muy útiles para tomar el curso. Sin embargo en la medida que los estudiantes van buscando proyectos más interesantes, un mayor conocimiento de la electrónica se hace necesario.
A continuación, dejaré algunos enlaces donde podrán ampliar sus conocimientos en electrónica, si así lo requieren:
- Electrónica Básica
- Símbolos Electrónicos e Interpretación de Diagramas: parte 1, parte 2, parte 3 y parte 4
- Curso Electrónica Básica
- Introduction to Engineering Electronics
Otra habilidad útil para desarrollar sistemas embebidos, es crear PCBs, y soldar:
- Como Fabricar PCB y Las Soldaduras de Elementos: parte 1, parte 2 y parte 3
- Como soldar componentes electrónicos
sábado, 6 de agosto de 2016
Internet de las Cosas
Internet de las Cosas, se refiere a un mundo donde los objetos físicos están conectados a Internet, y son accesibles a través de los servicios que ofrecen, y pueden ser consultados e inducidos a cambiar su estado.
Por cada usuario de Internet, siempre habrá un mayor número de aparatos (cosas) conectadas. Hace pocos años una persona conectada equivalia a un computador conectado, hoy esa misma persona sigue conectada además de su computador, está su tablet, su celular, su cámara fotográfica, su impresora, su reproductor MP3, su nevera, su televisor, por nombrar solo algunas posibilidades.
Hoy, un objeto (físico) inteligente, necesita estar conectado a Internet, y todos estos objetos conforman la Internet de las Cosas.
Por cada usuario de Internet, siempre habrá un mayor número de aparatos (cosas) conectadas. Hace pocos años una persona conectada equivalia a un computador conectado, hoy esa misma persona sigue conectada además de su computador, está su tablet, su celular, su cámara fotográfica, su impresora, su reproductor MP3, su nevera, su televisor, por nombrar solo algunas posibilidades.
Hoy, un objeto (físico) inteligente, necesita estar conectado a Internet, y todos estos objetos conforman la Internet de las Cosas.
- Internet de las Cosas (video inglés)
- Internet of Things (video subtitulado)
- Internet de las Cosas, Rubén de Diego, UPM. conferencia nov-2011
- the Internet of Things, reporte de la ITU, 2005
- IoT: a critique of ambient technology and the all-seeing network of RFID
- Inspiring the Internet of Things comic book
- The Internet of Things: from RFID to the Next-Generation Pervasive Networked Systems
- Getting Started with the Internet of Things
- IoT 2008 First International Conference
Computación Física
Denominamos Computación Física a una rama naciente de la computación (y la electrónica), que se encarga de diseñar, construir y programar objetos físicos interactivos, utilizando interfaces de hardware para recolectar datos análogos y responder en la misma forma, y software para el control.
La Computación Física es vista en realidad como una plataforma para la creatividad, en particular para diseñar nuevas forma de interacción entre el mundo real y el mundo virtual (o digital).
Esto incluye brindar interactividad al arte, las exposiciones de museos, promoción y publicidad, prototipado de productos, y aplicaciones científicas.
Cada proyecto incluye usualmente sensores para traducir los datos análogos, y enviarlos al procesador, donde el software controla actuadores como motores, servos, LEDs, pantallas, y otros.
A continuación, la conferencia sobre Computación Física en la secundaria, por Marco Rodriguez en la convención OSHWCon 2011:
Algunos cursos, sitios y personajes claves en la Computación Física:
La Computación Física es vista en realidad como una plataforma para la creatividad, en particular para diseñar nuevas forma de interacción entre el mundo real y el mundo virtual (o digital).
Esto incluye brindar interactividad al arte, las exposiciones de museos, promoción y publicidad, prototipado de productos, y aplicaciones científicas.
Cada proyecto incluye usualmente sensores para traducir los datos análogos, y enviarlos al procesador, donde el software controla actuadores como motores, servos, LEDs, pantallas, y otros.
A continuación, la conferencia sobre Computación Física en la secundaria, por Marco Rodriguez en la convención OSHWCon 2011:
Algunos cursos, sitios y personajes claves en la Computación Física:
- Interactive Telecom Program, NYU
- Physical Computing (RISD Digital+Media)
- Visual Performance and Installation Technologies (ACCAD, OSU)
- Cyber Physical Computing (UIUC)
- Physical Computing (Göteborg University)
- Center for Visual Computing
- Emerging Technologies
- Physical Computing Blog
- Tom Igoe, ITP, NYU
- Dan O'Sullivan, ITP, NYU
- Physical Computing (Eric Forman, RISD Digital+Media)
viernes, 5 de agosto de 2016
Arduino en la Academia
Arduino en Colegios/Universidades del Mundo:
- Introducción a la Computación Física, Universidad de Nueva York
- Arduino en el Depto. de Física, Universidad Ryerson
- LilyPad en el Media Lab, MIT
- Programming Media, Digital Media Arts, UCLA
- Taller de Arduino, Creatividad en Medios Digitales, Universitat Pompeu Fabra
- Laboratorios con Arduino, Ingeniería Eléctrica y de Sistemas, Universidad de Pennsylvania
- Laboratorio High-Low Tech (Arduino, LilyPad, At, MIT
- Introducción a la Ingeniería, Ingeniería Mecánica, Universidad de Minnessota
- Introduction to Computer Engineering, Wisconsin University
- Usando Arduino, Portland State University
- Fundamentos de Mecatrónica, San José State University
- Tutorial Arduino & XBee, Smith College
La Plataforma Arduino
Dado que es una plataforma de Hardware Libre, en Internet encontramos mucho material sobre Arduino, aquí encontrará una recopilación de algunos sitios importantes sobre este tema:
- Sitio oficial de Arduino (español)
- Base de Conocimiento de Arduino
- Arduino en las clases de Física
- Scratch for Arduino, programación del Arduino desde Scratch
- Amarino, toolkit para controlar el Arduino desde un dispositivo Android
- Mini-Robot con Arduino
- Arduino Starter Kit (A Complete Beginners Guide to the Arduino)
- Manual del Arduino en español
- Manual del AVR ATMega328
jueves, 4 de agosto de 2016
Qué es Arduino?
Arduino (el nombre viene del rey Arduino de Ivrea) es una plataforma de Hardware Libre, ampliamente utilizada en proyectos de Computación Física, y en sistemas embebidos en general.
En el siguiente documental del año 2010, se puede obtener una visión general del proyecto Arduino:
En el siguiente documental del año 2010, se puede obtener una visión general del proyecto Arduino:
Al igual que la siguiete conferencia "Arduino: empoderamiento a través de hardware libre" ofrecida por Felix E.Guerrero, en el marco del Campus Party Mexico:
Introducción al Curso
El curso de Programación de Sistemas Embebidos, busca que estudiantes de los programas de Ingeniería de Sistemas, Ingeniería Electrónica, Bioingeniería y Tecnología en Sistemas, puedan trabajar en conjunto para construir aparatos electrónicos inteligentes.
Un sistema embebido (también reciben el nombre de integrados, incrustados, o empotrados) es un sistema electrónico con capacidad computacional diseñado con un propósito específico. Contrario a los computadores de propósito general, los sistemas embebidos realizan unas pocas tareas dentro de un contexto de características especiales y particulares.
Realizar una o pocas tareas específicas, permite que el diseño del sistema sea optimizado, reduciendo costos y aumentando sus prestaciones. Típicamente se diseñan sistemas embebidos para aparatos de consumo masivo, donde la producción por volumen ayuda a disminuir los precios de los componentes.
La vida moderna hace uso de sistemas embebidos en diversos productos: cajeros automáticos, puntos de venta en los supermercados, dispensadores de golosinas/bebidas, equipos médicos, el "computador" de los automóviles o los aviones, reproductores pórtatiles de MP3, agendas digitales, decodificadores de TV por cable, reproductores de CD/DVD, enrutadores de red, sistemas telefónicos, teléfonos IP, etc.
Para mayor información acerca de los Sistemas Embebidos y su importancia, ver el artículo La Enseñanza de Sistemas Embebidos en los programas de Ingeniería.
Nuestro objetivo en el curso es diseñar aparatos electrónicos, y programarlos para realizar tareas específicas.
jueves, 25 de febrero de 2016
Blogs de los Estudiantes 2016-A
Estos son los estudiantes del periodo 2016-A, cada uno tiene su propio Blog, donde mostrará el desarrollo de sus laboratorios y proyectos.
Estos son los Blogs:
Los invitamos a revisar y comentar los Blogs, para retroalimentar el trabajo de los estudiantes.
Estos son los Blogs:
Los invitamos a revisar y comentar los Blogs, para retroalimentar el trabajo de los estudiantes.
jueves, 18 de febrero de 2016
Laboratorios del curso 2016-A
Cada estudiante debe crear su propio blog, con una entrada para cada Laboratorio, los puntos a evaluar en cada laboratorio son:
Recuerden, no hay problema si trabajan en grupo pero cada estudiante debe crear su propio blog, tomar sus propias fotos y vídeos, hacer sus propios diagramas, y escribir su propio código.
- Descripción del Laboratorio
- Lista de los Elementos utilizados
- Diagrama del Montaje en la Protoboard (usando Fritzing)
- Diagrama Esquemático del Circuito (usando Fritzing)
- Diagrama PCB equivalente (usando Fritzing)
- Proceso del Montaje paso a paso (Fotos)
- Código Fuente en Arduino (con comentarios)
- Código Fuente en Processing (con comentarios)
- Video del Funcionamiento
- Lab 12: Enviar desde una página web un mensaje a una matriz LED 8x8 (desplazándose de izquierda a derecha) a través de IC MAX7219.
- Lab 11: Enviar desde una interfaz en Processing un mensaje a una matriz LED 8x8 (desplazándose de izquierda a derecha) a través de IC MAX7219.
- Lab 10: Controlar desde el Arduino, una matriz LED 8x8 a través de IC MAX7219, para mostrar un número del 0 al 9, dependiendo de la posición del Potenciómetro.
- Lab 9: Controlar desde una interfaz en Processing, el patrón de movimiento y colores en un módulo de 8 LEDs RGB controlado con un Arduino.
- Lab 8: Controlar desde el Arduino, dos barras LED (8 rojos, 4 amarillos, 4 verdes) con 2 IC 74HC595, para mostrar el nivel de iluminación capturado con una fotocelda (fotoresistencia, LdR, CdS).
- Lab 7: Controlar un LED RGB desde el Arduino, vía PWM con una interfaz gráfica en Processing/ControlP5 para controlar el valor de cada color.
- Lab 6: Controlar un LED RGB desde el Arduino, vía PWM con 3 potenciómetros, uno para cada color.
- Lab 5: Controlar desde el Arduino, un Display LED de 7-Segmentos, a través de un IC 74HC595, para mostrar un número de 0 a 9, dependiendo de la posición del Potenciómetro.
- Lab 4: Controlar 8 LEDs desde el Arduino, a través de un IC 74HC595, definiendo mínimo 8 patrones de movimiento que son controlados desde una interfaz gráfica en Processing/ControlP5. Más información sobre el IC 74HC595
- Lab 3: Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve en forma continua de izquierda a derecha, vía una interfaz gráfica en Processing/ControlP5 para controlar el tiempo de encendido y el tiempo de apagado.
- Lab 2: Controlar 8 LEDs desde el Arduino, uno LED encendido que se mueve de izquierda a derecha cuyos tiempos de encendido y apagado se controlan desde dos potenciómetros.
- Lab 1: Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve de izquierda a derecha.
- Lab 0: Controlar el tiempo de encendido y apagado de un LED usando un potenciómetro
Recuerden, no hay problema si trabajan en grupo pero cada estudiante debe crear su propio blog, tomar sus propias fotos y vídeos, hacer sus propios diagramas, y escribir su propio código.
Suscribirse a:
Entradas (Atom)