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 10:33] – [Réalisations] 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 ... | ||
