« The Unnecessary Bubble »

Me revoilà aujourd’hui avec une création totalement inutile, d’où ce titre « The Unnecessary Bubble ».

The Unnecessary Bubble

Le matériel nécessaire: Une carte arduino, 3 résistances 150 ohms, 1 led RGB, 1 capteur de proximité SHARP G2D120 ou équivalent, une balle de ping-pong.

La led RGB est branchée sur la masse (GND), et sur les ports 9, 10, 11 de l’arduino au travers des résistances de 150 ohms. La balle de ping-pong percée d’un trou de 5mm sert de diffuseur à la led.

Le capteur SHARP est branché sur l’entrée analogique 0, VCC (5v) et la masse (GND).

Sur le principe l’arduino change de couleur toutes les 100 ms ( ce qui permet de faire varier les tons de couleurs assez rapidement). Si vous approchez un objet ou votre main de la boite, le capteur évalue la distance, plus celle-ci et faible et plus le cycle des couleurs est rapide. Si vous vous éloignez, le cycle de couleur reprend sa vitesse normale.


[youtube:http://fr.youtube.com/watch?v=HkiBnyzf6eY]

Voilà le code source:

[code]

#define PIN_RED           10
#define PIN_GREEN        9
#define PIN_BLUE          11
#define PIN_SHARP       0
#define WAIT              100

int waiting = WAIT;

void color(int r, int g, int b)
{
analogWrite(PIN_RED,   r);
analogWrite(PIN_GREEN, g);
analogWrite(PIN_BLUE,  b);
}

void setup()
{

pinMode(PIN_RED,   OUTPUT);
pinMode(PIN_GREEN, OUTPUT);
pinMode(PIN_BLUE,  OUTPUT);
pinMode(PIN_SHARP,INPUT);
}

void loop()
{

for (int i = 0; i < 256; i++){
color(255, i, 0);
set_delay();
delay(waiting);
}

for (int i = 0; i < 256; i++){
color(255 – i, 255, 0);
set_delay();
delay(waiting);
}

for (int i = 0; i < 256; i++){
color(0, 255, i);
set_delay();
delay(waiting);
}

for (int i = 0; i < 256; i++){
color(0, 255 – i, 255);
set_delay();
delay(waiting);
}

for (int i = 0; i < 256; i++){
color(i, 0, 255);
set_delay();
delay(waiting);
}

for (int i = 0; i < 256; i++){
color(255, 0, 255 – i);
set_delay();
delay(waiting);
}
}

void set_delay()
{
int analogValue1 = analogRead(PIN_SHARP);
if (  analogValue1 < 100 )
{
waiting = WAIT;
}
else
{
waiting = WAIT / (analogValue1 / 10);
}

}
[/code]

7 réponses sur “« The Unnecessary Bubble »”

  1. Comment dire… c’est trop cool tes trucs inutiles ! tu me donnerais presque envie de me remettre à l’électronique. Je pense que tes petites inventions peuvent faire des merveilles en cours d’electro-tech de 6eme, sans vouloir dévaloriser le travail, bien au contraire. A mon avis, si un prof (tu es peut-être toi même prof?) passe par là, il a de quoi s’inspirer !

    Au passage, très joli ton nouveau thème pour le blog.

  2. merci 🙂

    En tout cas, pour les enseignants, je pense que l’arduino est un outil rêvé. Pas cher, puissant, simple à mettre en oeuvre.

    P.S: je ne suis pas du tout prof 😉

  3. Bonjour,

    J’aurai voulu me mettre à la programmation des atmega (sous linux en plus) et je trouve que le concept de l’arduino est bien pour débuter, seulement, je n’ai pas trouvé où l’acheter en France (soit un magasin, soit un site de vente en ligne) et acheter à l’étranger m’arrête un peu.

    Comment as-tu acheté la tienne ?

    Merci d’avance.

  4. Ok, merci de ta rapide réponse. Je vais regarder les liens que tu m’as fourni.

    Sinon, le site ou tu l’as achetée, tu n’as eu aucun problème ?

    Encore merci.

  5. Re,

    Merci de tes réponses, je vais essayé de me procurer une arduino, de préférence la dernière version pour m’initier à la programmation des microcontroleurs sous linux.

    A+

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.