LUMIDUINO

Envoyé par le 23 Jan 2015

Constat et concept

Aujourd’hui, il existe de multiples effets de sons et lumières, pour agrémenter toutes les soirées. Le système réalisé porte le nom de lumiduino, c’est un système très visuel. Il permet d’afficher une luminosité, définie selon l’utilisateur, lors de la présence de sonorités aux alentours du capteur.

Il est composé d’un capteur et d’un néon. Le tout fonctionne par l’utilisation d’un Arduino et d’un code.

Technique

Pour réaliser ce système, j’ai utilisé une carte Aduino, un capteur et enfin un « ring neo-pixel ». J’ai élaboré le code pour me changement de luminosité selon la sonorité.

Perspectives d’améliorations

La synchronisation du changement de couleur peut être améliorée par l’amélioration du code existant. Enfin la création d’un boitier pour contenir le système sera intéressant pour pourvoir transporter le système.

 


Le code

#include <Adafruit_NeoPixel.h>

#define SOUND_SENSOR A0

#define PIN 6

#define NUMPIXELS      16

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {

  pixels.begin(); // This initializes the NeoPixel library.

  Serial.begin(9600);

}

void loop()

{int sensorValue = analogRead(SOUND_SENSOR);//use A0 to read the electrical signal

Serial.print(« sensorValue « );

 Serial.println(sensorValue);

If (250 >sensorValue  )

            {

   for(int i=0;i<NUMPIXELS;i++){ // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255

    pixels.setPixelColor(i, pixels.Color(0,150,150)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.

    delay(50); // Delay for a period of time (in milliseconds).

                                                           }

    }

else if ( sensorValue > 250 && sensorValue < 500)

{

   for(int i=0;i<NUMPIXELS;i++){   // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255

    pixels.setPixelColor(i, pixels.Color(250,100,0)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.

    delay(1); // Delay for a period of time (in milliseconds).

   }

 }

 else if ( sensorValue > 500 && sensorValue < 700)

{

   for(int i=0;i<NUMPIXELS;i++){   // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255

    pixels.setPixelColor(i, pixels.Color(0,200,0)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.

    delay (5); // Delay for a period of time (in milliseconds).

   }

 }

 else

{

   for(int i=0;i<NUMPIXELS;i++) { // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255

    pixels.setPixelColor(i, pixels.Color(250,250,250)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.

    delay(1); // Delay for a period of time (in milliseconds).

   }

 }

delay (100);

}

Photo du système en cours de fonctionnement

Photo du système en cours de fonctionnement

Laisser une réponse

Votre adresse e-mail ne sera pas publiée.