A continuación os detallo mi primer trabajo artístico utilizando la microcontroladora opensource ARDUINO. Se trata de una caja de luz en la que, mediante una placa de 4 relés conectados a una Arduino Mega, se logra controlar el encendido y apagado de 4 grupos de luces diferentes.
Todo el tinglado está embutido en una caja de madera de DM de dimensiones 100 x 100 x 10 cms, pintada con acrílico y en la que se han hecho diferentes orificios con una taladradora. En dichos orificios hay una placa de metacrilato con diferentes filtros coloreados. El resultado se muestra en las siguientes fotos:
![]() |
ARDUINO Mega |
![]() |
Placa de 4 relés a 5V |
Todo el tinglado está embutido en una caja de madera de DM de dimensiones 100 x 100 x 10 cms, pintada con acrílico y en la que se han hecho diferentes orificios con una taladradora. En dichos orificios hay una placa de metacrilato con diferentes filtros coloreados. El resultado se muestra en las siguientes fotos:
Estructura interna |
Placa ARDUINO + placa de 4 relés |
![]() |
Las 4 fases de luz |
A continuación unas líneas de código para quien esté interesado:
/* YourDuino Example: Relay Control 1.10
Handles "Relay is active-low" to assure
no relay activation from reset until
application is ready.
terry@yourduino.com */
/*-----( Import needed libraries )-----*/
/*-----( Declare Constants )-----*/
#define RELAY_ON 0
#define RELAY_OFF 1
/*-----( Declare objects )-----*/
/*-----( Declare Variables )-----*/
#define Relay_1 2 // Arduino Digital I/O pin number
#define Relay_2 3
#define Relay_3 4
#define Relay_4 5
void setup()
/****** SETUP: RUNS ONCE ******/
{
//-------( Initialize Pins so relays are inactive at reset)----
digitalWrite(Relay_1, RELAY_OFF);
digitalWrite(Relay_2, RELAY_OFF);
digitalWrite(Relay_3, RELAY_OFF);
digitalWrite(Relay_4, RELAY_OFF);
//---( THEN set pins as outputs )----
pinMode(Relay_1, OUTPUT);
pinMode(Relay_2, OUTPUT);
pinMode(Relay_3, OUTPUT);
pinMode(Relay_4, OUTPUT);
delay(4000);
//Check that all relays are inactive at Reset
}
//--(end setup )---
void loop() /****** LOOP: RUNS CONSTANTLY ******/
{
//---( Turn all 4 relays ON in sequence)---
digitalWrite(Relay_1, RELAY_ON);
delay(1000);
digitalWrite(Relay_2, RELAY_ON);
delay(1000);
digitalWrite(Relay_3, RELAY_ON);
delay(1000);
digitalWrite(Relay_4, RELAY_ON);
delay(4000);
//---( Turn all 4 relays OFF in sequence)---
digitalWrite(Relay_1, RELAY_OFF);
delay(1000);
digitalWrite(Relay_2, RELAY_OFF);
delay(1000);
digitalWrite(Relay_3, RELAY_OFF);
delay(1000);
digitalWrite(Relay_4, RELAY_OFF);
delay(4000);
}
//--(end main loop )---
Beautiful. Just like you.
ResponderEliminarJoanne xx