Arduino : Un feu de garage

feugarage

Cela faisait un petit moment que je n’avais pas bricolé quelque chose à base d’Arduino… J’y reviens avec plaisir pour vous présenter un feu de garage.

A quoi cela peut-il servir ?

Et bien c’est simple, j’ai une grosse voiture, et un petit garage, ce qui fait que lorsque je la rentre en marche arrière, il ne faut pas se louper !

J’ai donc pensé à un système simple qui mesure en temps réel la position du véhicule par rapport à un obstacle (un mur, une porte…), et qui gère une diode RVB passant du vert au rouge pour avertir le conducteur de sa distance par rapport à l’obstacle.

Concrètement, véhicule garé à la position désirée, on place l’appareil contre l’obstacle (mur…), et on tourne le potentiomètre jusqu’à ce que la Led passe au rouge. La distance est ainsi mémorisée, et l’appareil est prêt.

Allez, une petite vidéo de l’engin à l’oeuvre (Cliquez sur la photo) :

feudegrarage

Et pour les curieux, le code Arduino :

——————————- Code ———————–

#include <ChainableLED.h>
#include « Ultrasonic.h »

Ultrasonic ultrasonic(2); // sonar sur pin 2
ChainableLED rgbLed(4,5,1); // sur pin 4 et 5, 1 led
int potPin = 5; // potentiomètre sur pin A5
long valPot;
long distanceReglee;
long distanceMesuree;

void setup() {
Serial.begin(9600);
}

void loop() {
distanceMesuree = ultrasonic.MeasureInCentimeters();
delay(150);
Serial.print(« Distance Mesuree = « );
Serial.println(distanceMesuree);
valPot = analogRead(potPin);
Serial.print(« Valeur potentiomètre = « );
Serial.println(valPot);
distanceReglee = map(valPot, 0, 1024, 0, 255);
Serial.print(« Valeur reglée = « );
Serial.println(distanceReglee);
if (distanceMesuree > (distanceReglee+20)) {
rgbLed.setColorRGB(0, 0, 255, 0);
}

if (distanceMesuree < (distanceReglee+20) && distanceMesuree > distanceReglee) {
rgbLed.setColorRGB(0, 255, 255, 0);
}

if (distanceMesuree <= (distanceReglee)) {
rgbLed.setColorRGB(0, 255, 0, 0);
}
}

————————— /code —————————-

Par facilité de câblage, j’utilise le système Grove, mais on peut sans soucis prendre des composants « from scratch ».

Nota :

Pour une raison mystérieuse, les librairies utilisées ne fonctionnent que sous l’IDE Arduino 1.0.x, et non avec les versions plus récentes. Ceci dit, utilisant des cartes Uno, cela ne me gène pas.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s