Bonjour,
Je suis maquettiste de science fiction et j'aimerais ajouter de la lumière et du son dans mes réalisations. j'essaye donc d'apprendre a programmer pour pouvoir utiliser un arduino.
Dans un 1er temps je voudrais faire varier l'intensité d'une led et de la faire clignoter en meme temps.
J'ai trouver sur internet un programme qui fait l'un et l'autre et je les ai bêtement mis l'un au bout de l'autre. Le programme fonctionne mais les opérations sont réalisées l'une après l'autre et pas en meme temps...
voila le code utilisé
Code:// --- 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(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** // --- Fin programme ---
-----