start:arduino:etoile
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
start:arduino:etoile [2018/08/17 12:31] – [Exemples avec Mblock pour 6 LEDs] gerardadmin | start:arduino:etoile [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ======= Fabriquer une etoile avec un arduino ======= | ||
+ | ===== etoile exemple ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | le code arduino : | ||
+ | |||
+ | <code cpp etoile.ino> | ||
+ | |||
+ | long portPotentiometre = A0; | ||
+ | long valeurPotentiometre; | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin(9600); | ||
+ | } // boucle d' | ||
+ | |||
+ | |||
+ | void loop() { | ||
+ | valeurPotentiometre = analogRead(A0); | ||
+ | delay(1); | ||
+ | digitalWrite(10, | ||
+ | delay(valeurPotentiometre); | ||
+ | valeurPotentiometre = analogRead(A0); | ||
+ | delay(1); digitalWrite(11, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(12, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(13, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(14, | ||
+ | delay(valeurPotentiometre); | ||
+ | digitalWrite(10, | ||
+ | valeurPotentiometre = analogRead(A0); | ||
+ | delay(1); digitalWrite(11, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(12, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(13, | ||
+ | delay(valeurPotentiometre); | ||
+ | delay(1); digitalWrite(14, | ||
+ | delay(valeurPotentiometre); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== etoile exemple 2 ==== | ||
+ | Ceci est un code pour l' | ||
+ | à des fréquences différentes sans l' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <code cpp LEDS_clignotent.ino> | ||
+ | |||
+ | // on déclare les périodes des deux leds | ||
+ | float period1 = 1000; // un clignotement par seconde | ||
+ | float period2 = 1000/3.0; // un clignotement par tiers de seconde | ||
+ | |||
+ | void setup() { | ||
+ | // on utilise les sorties 9 et 10 pour les leds | ||
+ | pinMode(9, OUTPUT); | ||
+ | pinMode(10, OUTPUT); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | long t = millis(); | ||
+ | |||
+ | // la fonction getStateAtTimeWithPeriod() retourne l' | ||
+ | // et à la période donnée. | ||
+ | digitalWrite(9, | ||
+ | digitalWrite(10, | ||
+ | } | ||
+ | |||
+ | boolean getStateAtTimeWithPeriod(long t, float period) { | ||
+ | boolean onOrOff = ((int)(t / period)) % 2; | ||
+ | return onOrOff; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== fichiers STL d' | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | ==== Exemples avec Mblock pour 4 LEDs ==== | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ==== Exemples avec Mblock pour 6 LEDs ==== | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Le même programme mais en utilisant une boucle | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ==== Réalisations ==== | ||
+ | |||
+ | [[start: | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Un exemple de programme | ||
+ | |||
+ | <code cpp Un_exemple_de_programme_Attiny_6LEDS_CharliePlexing.ino> | ||
+ | |||
+ | #define LED_1 0 // Pin 0 de l' | ||
+ | #define LED_2 1 // Pin 1 de l' | ||
+ | #define LED_3 2 // Pin 2 de l' | ||
+ | |||
+ | void setup() | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | void set_pins(int high_pin, int low_pin) | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | void reset_pins() | ||
+ | { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Etoile pour un arduino Uno sans charliePlexing | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Code pour un arduino Uno sans charliePlexing | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | <code c Uno-sans_charlieplexing.ino> | ||
+ | // ce programme allulme les leds une par une | ||
+ | int pin[6]={3, | ||
+ | int temp0=200; //tempo pour allumer les leds | ||
+ | int temp1=100; // tempo pour eteindre | ||
+ | |||
+ | void setup(){ | ||
+ | for (int i = 0 ; i<=5 ; i++){ | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | for (int i = 0 ; i<=5 ; i++){ // boucle for pour allumer les leds une par une | ||
+ | | ||
+ | | ||
+ | } | ||
+ | for (int i = 5 ; i>=0 ; i--){ | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | A suivre ... |