Bonjour,
j'apprend la programmation d'un arduino et j'aimerais faire clignoter et varier la luminosité d'une led en meme temps.
J'ai récupérer un programme de variation et j'ai simplement collé le fameux programme blink au bout et ça fonctionne mais une opération après l'autre. pas en meme temps.
J'aimerais donc savoir c'est bien possible et si oui comment faire?
voila le code actuel
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 // --- Programme Arduino --- // par X. HINAULT - 01/2010 // --- Que fait ce programme ? --- /* Fait varier la luminosité d'une LED connectée sur la broche 3*/ // --- Fonctionnalités utilisées --- // --- Circuit à réaliser --- // Connecter une LED et sa résistance sur la broche 3 (configurée en sortie) //**************** Entête déclarative ******* // A ce niveau sont déclarées les librairies, les constantes, les variables... // --- Inclusion des librairies utilisées --- // --- Déclaration des constantes --- // --- constantes des broches --- const int LED=3; //declaration constante de broche // --- Déclaration des variables globales --- int i=0; // variable de boucle // --- Initialisation des fonctionnalités utilisées --- //**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() // --- ici instructions à exécuter au démarrage --- pinMode(LED, OUTPUT); //met la broche en sortie } // fin de la fonction setup() // ******************************************************************************** //*************** FONCTION LOOP = Boucle sans fin = coeur du programme ************* // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension void loop(){ // debut de la fonction loop() for (i=0; i<=255;i++){ // boucle for compte de 0 à 255 analogWrite(LED,i); // génère une impulsion sur la broche de largeur i = la luminosité augmente delay(10); // pause de 10 ms entre chaque "cran" } // fin de la boucle for for (i=0; i<=255;i++){ // boucle for compte de 0 à 255 analogWrite(LED,255-i); // génère une impulsion sur la broche de largeur 255-i // = la luminosité baisse delay(10); // pause de 10 ms entre chaque "cran" } // fin de la boucle for // --- ici instructions à exécuter par le programme principal --- { digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(random(10,150)); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(10); // wait for a second } } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** // --- Fin programme ---
Partager