Descripcion: 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. Materiales:
Laboratorio 4 Requerimiento 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 Materiales
Computador (con el IDE de Arduino, y el driver adecuado instalados)
Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
Cable USB (según el conector de la tarjeta Arduino)
Protoboard
8 LEDs + Resistencias 220Ω
Cables macho-macho
IC 74HC595
Se requiere 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.
Materiales
Computador (con el IDE de Arduino, y el driver adecuado instalados)
Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
Cable USB (según el conector de la tarjeta Arduino)
Protoboard
8 LEDs + Resistencias 220Ω
Cables macho-macho
Diagrama del montaje
Diagrama esquemático
Fotos del montaje
Codigo Arduino
Codigo Processing
martes, 1 de septiembre de 2015
Laboratorio #2
Descripción
En este laboratorio vamos a leer datos de 2 potenciómetros. Estos datos los usaremos como tiempo de encendido y el tiempo de apagado para una secuencia de 8 LEDs, que se moverá de izquierda a derecha, y viceversa.
Materiales
Computador (con el IDE de Arduino, y el driver adecuado instalados)
Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
Cable USB (según el conector de la tarjeta Arduino)
Protoboard
8 LEDs + Resistencias 220Ω
2 Potenciómetro 10KΩ
Cables macho-macho
Imagen de protoboard
Imagen esquema
Imagen PCB
Código Arduino
/********** Proyecto **********
* Laboratorio 02: 8 LEDs en linea controlados con Potenciometros
* Autor: Diego Fernando Marin
* Descripcion:
* Mover un LED encendido de Izquierda a Derecha y viceversa
* con tiempos controlados por potenciometros
* Conexiones:
* 8 LEDs + resistencias a los pines D2 .. D9
* 2 Potenciometros a los pines A0 y A1
* Version: 1
*/
/********** Librerias **********/
// ninguna
/********** Constantes **********/
#define POT1 A0
#define POT2 A1
#define TOTLED 8 // Total LEDs
/********** Objetos **********/
// ninguno
/********** Variables **********/
int led[TOTLED]={
2,3,4,5,6,7,8,9};
/********** Configuracion **********/
void setup(){
int pos=0;
while(pos < TOTLED){
pinMode(led[pos], OUTPUT);
pos=pos+1;
}
pinMode(POT1, INPUT);
pinMode(POT2, INPUT);
}// end setup()
/********** Ciclo Principal **********/
void loop(){
// Sensores
int t_encendido = analogRead(POT1);
int t_apagado = analogRead(POT2);
// Acciones
for(int pos =0; pos < TOTLED; pos++){
on(led[pos], t_encendido);
off(led[pos], t_apagado);
}
for(int pos = TOTLED-2; pos >0; pos--){
on(led[pos], t_encendido);
off(led[pos], t_apagado);
}
}// end loop()
/********** Funciones **********/
// Pone en +5V el pin indicado, durante tantos milisegundos
void on(int pin,int ms){
digitalWrite(pin, HIGH);
delay(ms);
}// end on()
// Pone en GND el pin indicado, durante tantos milisegundos