Go Down

Topic: Clignotants et warnings pour vélo ou autre (Read 474 times) previous topic - next topic

Belo

Jul 23, 2019, 12:06 pm Last Edit: Jul 23, 2019, 03:14 pm by jfs
Bonjour, pour un projet de vélo électrique avec de multiple fonctions ( vitesse, kilométrage, clignotants, souplesse de conduite et infos batterie ) j'ai réalisé des clignotants pour vélo qui fonctionnent correctement, c'est un projet totalement fini, codé.

 Matériel : - 8 leds jaunes ou oranges et leur résistances qui vont bien pour les alimenter en 5V
               - 1 carte arduino ( NANO pour moi )
               - 1 interrupteur à bascule ( switch ) 3 positions
               - 1 interrupteur à bascule ( switch ) 2 positions ( normal )
               - 1 alimentation arduino
               - et c'est tout !!! ( ici on ne parle pas du boîtier )
               

Code: [Select]

/*ce programme permet l'ajout de clignotants et warning sur un véhicule
 * matériel: - 8 leds jaunes
 *           - 8 résistances 180 Ohms pour les leds
 *           - 1 interrupteur 3 positions ET UN AUTRE 2 POSITIONS
 *           - 2 résistances peu importe la valeur pour raccorder l'interrupteur à la masse
 *           - 1 arduino
 *           - des fils
 *          
 *bien cabler les leds dans l'ordre sinon ce ne sera plus un chenillard : schema clignotant visuel ci dessous
 *
 *  pin12  pin11  pin10  pin9                          pin5   pin6   pin7   pin8
 *  0      0      0      0                             0      0      0      0
 *  Led4G  Led3G  Led2G  Led1G                         Led1D  Led2D  Led3D  Led4D
 */


//définie les pins de déclenchement des clignotants et d'arrêt de ceux-ci
int clignotantgauche = 2;
int clignotantdroit = 4;
int warning = 13;



//définie toutes les pins pour clignotants
int Led1D = 5;  
int Led2D = 6;
int Led3D = 7;
int Led4D = 8;

int Led1G = 9;
int Led2G = 10;
int Led3G = 11;
int Led4G = 12;



void setup() {
  
   //définie les pins de déclenchement comme entrées = INPUT
   pinMode(clignotantgauche, INPUT);
   pinMode(clignotantdroit, INPUT);
   pinMode(warning, INPUT);

  
//Définie les pins clignotants comme sortie = OUTPUT
  pinMode(Led1D,OUTPUT);
  pinMode(Led2D,OUTPUT);
  pinMode(Led3D,OUTPUT);
  pinMode(Led4D,OUTPUT);

  pinMode(Led1G,OUTPUT);
  pinMode(Led2G,OUTPUT);
  pinMode(Led3G,OUTPUT);
  pinMode(Led4G,OUTPUT);  
}

void loop() {

   while(digitalRead(clignotantgauche) == 1){   // si on active le clignotant gauche chenillard vers la gauche
    
    digitalWrite(Led1G, HIGH);
    delay(100);
    digitalWrite(Led2G, HIGH);
    delay(100);
    digitalWrite(Led3G, HIGH);
    delay(100);
    digitalWrite(Led4G, HIGH);
    delay(100);
    
    digitalWrite(Led1G, LOW);
    delay(100);
    digitalWrite(Led2G, LOW);
    delay(100);
    digitalWrite(Led3G, LOW);
    delay(100);
    digitalWrite(Led4G, LOW);
    delay(100);  
  }





   while(digitalRead(clignotantdroit) == 1){       //si l'on active le clignotant droit chenillard vers la droite
    
    digitalWrite(Led1D, HIGH);
    delay(100);
    digitalWrite(Led2D, HIGH);
    delay(100);
    digitalWrite(Led3D, HIGH);
    delay(100);
    digitalWrite(Led4D, HIGH);
    delay(100);
    
    digitalWrite(Led1D, LOW);
    delay(100);
    digitalWrite(Led2D, LOW);
    delay(100);
    digitalWrite(Led3D, LOW);
    delay(100);
    digitalWrite(Led4D, LOW);
    delay(100);  
   }


   //partie warning

   while(digitalRead(warning) == 1){     //si l'on active le second switch les deux chenillard s'allument en meme temps
    digitalWrite(Led1D, HIGH);
    digitalWrite(Led1G, HIGH);
    delay(100);
    digitalWrite(Led2D, HIGH);
    digitalWrite(Led2G, HIGH);
    delay(100);
    digitalWrite(Led3D, HIGH);
    digitalWrite(Led3G, HIGH);
    delay(100);
    digitalWrite(Led4D, HIGH);
    digitalWrite(Led4G, HIGH);
    delay(100);
    
    digitalWrite(Led1D, LOW);
    digitalWrite(Led1G, LOW);
    delay(100);
    digitalWrite(Led2D, LOW);
    digitalWrite(Led2G, LOW);
    delay(100);
    digitalWrite(Led3D, LOW);
    digitalWrite(Led3G, LOW);
    delay(100);
    digitalWrite(Led4D, LOW);
    digitalWrite(Led4G, LOW);
    delay(100);
    
   }
 
}



lesept

Bravo, c'est un projet sympa : des photos peut-être ?
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Belo

En bas une photo en lien de l'installation sur une breadbord mais je compte installer fritzing pour faire des vrais schémas !!!

bilbo83

Non!!!! Surtout pas Fritzing pour les schémas, Kicad peut-être.

68tjs

Quote
Non!!!! Surtout pas Fritzing pour les schémas, Kicad peut-être.
Fritzing = horreur !
Il y a des belles images même de très belles images mais le résultat est totalement incompréhensible.
Fritzing fait des schémas de câblage totalement inutilisables quand on veut comprendre le fonctionnement d'un montage ou pourquoi le montage ne fonctionne pas : il faut le schéma électrique.
Fritzing marche sur la tête car il peut déduire le schéma électrique du schéma de câblage mais le rendu est un infâme plat de nouille.

+1 pour Kicad qui part du schéma électrique pour établir un schéma de câblage : là c'est dans le bon sens et les réalisations sont compréhensibles. Avec Kicad il n'y a pas de "belles photos" mais c'est fonctionnel.
Au premier schéma il te faudra un peu plus de temps pour le maîtriser mais dès le deuxième schéma tu ira plus vite qu'avec la bouse Fritzing.

Belo

#5
Jul 23, 2019, 06:14 pm Last Edit: Jul 23, 2019, 06:18 pm by Belo
Je suis allé voir, ca a l'air très bien, avec d'autres options ( p ex visualisation 3d ) mais fritzing va très bien me convenir car je veux quelque chose d'intuitif et simple, je ne souhaite pas faire un circuit imprimé pour faire une carte mère d'ordi !!! 
Donc désolé mais je vais rester sur fritzing.

68tjs

#6
Jul 23, 2019, 06:32 pm Last Edit: Jul 23, 2019, 06:34 pm by 68tjs
Et bien désolé mais ici les principaux contributeurs refusent fritzing parce que c'est une bouse.
Donc si tu as un problème et que tu demande de l'aide avec du fritzing peu de personnes le regarderont.

Kicad ne sert pas qu'a faire des circuits imprimés.
Avec Kicad tu peux préparer le câblage sur une carte de prototypage (carte pastillée).

zaienj

Bonjour a toi super projet mais a tu des image installer sur un velo par exemple

bien cordialement

Go Up