Me revoilà aujourd’hui avec une création totalement inutile, d’où ce titre « 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]
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.
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 😉
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.
Salut,
Je l’ai acheté à l’étranger, mais tu peux la commander en France ici: http://82.240.238.211/catalog/index.php?cPath=27_35&language=fr
Sinon la liste des vendeurs est disponible sur cette page: http://arduino.cc/en/Main/Buy
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.
Salut,
j’ai acheté le mien chez SparkFun aux US. Ils ont aussi plein de modules: gps, capteurs, …
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+