10-03-2014, 09:49:48
Bonjour
Je vous présente un autre projet mais basé sur Arduino
Il permet d'ajouter la fonction d'allumage automatique des feux de position et de croisement sur une voiture qui n'en ai pas équipée. Pour cela, un capteur de lumière permet de déterminer l'éclairage ambiant et selon deux seuils, d'allumer les feux via deux relais.
(Ce projet a déjà été présenté sur Forum-Clio.com)
![[Image: 817136SAM1036.jpg]](http://img4.hostingpics.net/pics/817136SAM1036.jpg)
![[Image: 499823SAM1037.jpg]](http://img4.hostingpics.net/pics/499823SAM1037.jpg)
Feux de position allumés :
![[Image: 715997SAM1038.jpg]](http://img4.hostingpics.net/pics/715997SAM1038.jpg)
Feux de croisement allumés :
![[Image: 519451SAM1039.jpg]](http://img4.hostingpics.net/pics/519451SAM1039.jpg)
Les valeurs mesurées par l'Arduino (avec les seuils) :
![[Image: 856123Sanstitre1.jpg]](http://img4.hostingpics.net/pics/856123Sanstitre1.jpg)
Le code :
A suivre

Je vous présente un autre projet mais basé sur Arduino

Il permet d'ajouter la fonction d'allumage automatique des feux de position et de croisement sur une voiture qui n'en ai pas équipée. Pour cela, un capteur de lumière permet de déterminer l'éclairage ambiant et selon deux seuils, d'allumer les feux via deux relais.
(Ce projet a déjà été présenté sur Forum-Clio.com)
![[Image: 817136SAM1036.jpg]](http://img4.hostingpics.net/pics/817136SAM1036.jpg)
![[Image: 499823SAM1037.jpg]](http://img4.hostingpics.net/pics/499823SAM1037.jpg)
Feux de position allumés :
![[Image: 715997SAM1038.jpg]](http://img4.hostingpics.net/pics/715997SAM1038.jpg)
Feux de croisement allumés :
![[Image: 519451SAM1039.jpg]](http://img4.hostingpics.net/pics/519451SAM1039.jpg)
Les valeurs mesurées par l'Arduino (avec les seuils) :
![[Image: 856123Sanstitre1.jpg]](http://img4.hostingpics.net/pics/856123Sanstitre1.jpg)
Le code :
Code :
[== C++ ==]
// PIN NUMERIQUE
const int l1 = 2; // led relais veilleuses (feux de position)
const int l2 = 3; // led relais codes (feux de croisement)
const int inter = 4; // interrupteur
// PIN ANALOGIQUE
const int potar = 0; // seuil allumage des veilleuses
const int sensor = 1; // capteur de luminosité
void setup()
{
pinMode(l1, OUTPUT); // Led 1 en sortie
pinMode(l2, OUTPUT); // Led 2 en sortie
pinMode(inter, INPUT); // Interrupteur en entrée
digitalWrite(l1, LOW); // Initialisation des leds
digitalWrite(l2, LOW);
}
void loop()
{
int bt = digitalRead(inter); // lecture de l'état du bouton
if(bt == LOW) // système en marche
{
int seuilVeilleuses = analogRead(potar); // lecture du seuil de déclenchement des veilleuses via le potentiomètre
int light = analogRead(sensor); // lecture de la luminosité
seuilVeilleuses = map(seuilVeilleuses, 0, 1023, 0, 255); // réajuste la valeur fourni par le potentiomètre sur une plage de 0 à 255
seuilVeilleuses = constrain(seuilVeilleuses, 0, 255); // pour être sûr que l'on reste bien entre 0 et 255
light = map(light, 0, 900, 0, 255); // Idem
light = constrain(light, 0, 255); // Idem
int seuilCodes = seuilVeilleuses + 50; // temporaire, lire la valeur d'un second potentiomètre
if(light < seuilVeilleuses) // plein jour
{
digitalWrite(l1, LOW); // position éteint
digitalWrite(l2, LOW); // croisement éteint
}
else if((light > seuilVeilleuses) && (light < seuilCodes)) // pénombre
{
digitalWrite(l1, HIGH); // position allumé
digitalWrite(l2, LOW); // croisement éteint
}
else // obscurité
{
digitalWrite(l1, HIGH); // position allumé
digitalWrite(l2, HIGH); // croisement allumé
}
}
else // l'interrupteur est ouvert, le système n'est donc pas en marche
{
digitalWrite(l1, LOW);
digitalWrite(l2, LOW);
}
delay(1000); // actualisation des états (1 seconde par défaut)
}
A suivre

Anciennement vodkaorange

Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github