Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
projets:zohrawasnotborninaday:accueil [2015/06/24 16:16] lamirza [Photos] |
projets:zohrawasnotborninaday:accueil [2016/08/11 01:13] resonance [Dispositif technique] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Al-Zohra n'est pas née en un jour ====== | ====== Al-Zohra n'est pas née en un jour ====== | ||
* Porteur du projet : [[user: | * Porteur du projet : [[user: | ||
- | * Date : juin 2015 | + | * Date : juin 2015 - ... |
- | * Licence : libre ! | + | * Licence : code libre ! image copyright Randa Mirza |
- | * Lien : www.randamirza.com | + | * Lien : http://randamirza.com |
+ | |||
+ | |||
+ | {{tag> | ||
===== Description ===== | ===== Description ===== | ||
- | {{ : | + | Mythologie arabe préislamique |
+ | |||
+ | {{ : | ||
Les anges furent vraiment étonnés de la désobéissance et des comportements de l' | Les anges furent vraiment étonnés de la désobéissance et des comportements de l' | ||
Ligne 13: | Ligne 18: | ||
- | ===== Matériaux | + | ===== Scénario |
- | * photo retroéclairé | + | {{: |
- | * arduino | + | |
- | * shield motorshield | + | ===== Dispositif technique ===== |
- | * moteur | + | Suivant le scénario, la carte Arduino contrôle la luminosité d'une LED puissante avec un MOSfet et sa position verticale avec un moteur pas à pas. |
- | * ruban de leds (sert au retroéclairage) | + | |
- | | + | <WRAP center round info 60%> |
- | | + | Avec le classique pilote de moteur L298, le moteur pas à pas faisait trop de bruit. Nous avons donc essayer une nouvelle solution avec le pilote SilentStepStick, |
+ | </ | ||
+ | |||
+ | |||
+ | Mise à jour (08/ | ||
+ | * Arduino UNO | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * Moteur | ||
+ | * Guidage linaire avec courroie [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Connections Arduino : | ||
+ | * SilentStepStick (pins 2,3,4) | ||
+ | * Mosfet (pin 11, 5V, GND) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Code Arduino ===== | ||
+ | |||
+ | ++++ Nouveau code Arduino (08/2016) | | ||
+ | <code cpp> | ||
+ | /* | ||
+ | * Al-Zohra n'est pas née en un jour | ||
+ | * Zohra was not born in a day | ||
+ | * | ||
+ | * Artistic installation from Randa Mirza | ||
+ | * | ||
+ | * Code : Jérôme Abel | ||
+ | * Date : 09/ | ||
+ | * License : GNU/GPL v3 | ||
+ | * Website : http:// | ||
+ | * | ||
+ | * Electronic setup : | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | * Wiring setup : | ||
+ | * SilentStepStick (pins 2,3,4) | ||
+ | * Mosfet (pin 11, 5V, GND) | ||
+ | * | ||
+ | * Main principle : | ||
+ | * An Arduino controls a light with a mosfet and a motor stepper with a quiet driver (for inside installation) | ||
+ | * | ||
+ | */ | ||
+ | |||
+ | // Pins Stepper Driver (TMC2100 SilentStick 5V) | ||
+ | #define EN_PIN | ||
+ | #define STEP_PIN 3 | ||
+ | #define DIR_PIN | ||
+ | #define MS_PIN | ||
+ | #define STEPS 200 // 200 pas pour un tour | ||
+ | #define MICROSTEPS 16 // microstepping 1/16 | ||
+ | |||
+ | // Pins Mosfets Lamp | ||
+ | #define LAMP_PIN 11 | ||
+ | |||
+ | // ---------------- Variables du scénario ---------------- // | ||
+ | int wait = 29000; // temps d' | ||
+ | |||
+ | int lamp_fadein = 29000; // temps de fade in | ||
+ | int lamp_intensity = 200; // intensité de la lampe (entre 0 et 255) | ||
+ | int lamp_fadeout = 5000; // temps de fade out | ||
+ | |||
+ | int motor_turns = 5 ;// nombre de tours en montéé | ||
+ | int motor_turns_ms = 20000; // temps par tour en millisecondes | ||
+ | int motor_break = 7000 ; // temps d' | ||
+ | |||
+ | // | ||
+ | void setup() { | ||
+ | |||
+ | // Setup Stepper Driver | ||
+ | pinMode(EN_PIN, | ||
+ | pinMode(DIR_PIN, | ||
+ | pinMode(STEP_PIN, | ||
+ | // | ||
+ | |||
+ | digitalWrite(EN_PIN, | ||
+ | digitalWrite(DIR_PIN, | ||
+ | digitalWrite(STEP_PIN, | ||
+ | // | ||
+ | |||
+ | // Allumer la lampe au démarrage | ||
+ | pinMode(LAMP_PIN, | ||
+ | | ||
+ | |||
+ | | ||
+ | digitalWrite(EN_PIN, | ||
+ | } | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | void loop() { | ||
+ | delay(wait); | ||
+ | fadein(LAMP_PIN, | ||
+ | motorON(); | ||
+ | motorGo(motor_turns, | ||
+ | delay(motor_break); | ||
+ | fadeout(LAMP_PIN, | ||
+ | motorOFF(); | ||
+ | } | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | void motorON() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | void motorOFF() { | ||
+ | | ||
+ | } | ||
+ | |||
+ | void motorGo(int _tour, int _tourms){ | ||
+ | |||
+ | // Delai entre chaque pas (vitesse en millisecondes) | ||
+ | int _delay = (int) (_tourms / (STEPS * MICROSTEPS) ) * 1000 / 2; | ||
+ | |||
+ | // Exécuter le nombre de tours | ||
+ | for(int x = 0; x < (_tour * STEPS * MICROSTEPS); | ||
+ | digitalWrite(STEP_PIN, | ||
+ | delayMicroseconds(_delay); | ||
+ | digitalWrite(STEP_PIN, | ||
+ | delayMicroseconds(_delay); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void fadeout (int _pin, int _intensity, int _time){ | ||
+ | int new_time = (int) (_time / 255); | ||
+ | for (int i = 0; i <= 255; i++) { | ||
+ | int lampBright = 255 - i; | ||
+ | analogWrite(_pin, | ||
+ | delay(new_time); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void fadein (int _pin, int _intensity, int _time){ | ||
+ | int new_time = (int) (_time / 255); | ||
+ | for (int i = 0; i <= 255; i++) { | ||
+ | analogWrite(_pin, | ||
+ | delay(new_time); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ++++ | ||
- | ===== Tutoriel ===== | ||
- | Photos ou guide pas à pas | ||
+ | ++++ Ancien code Arduino (2015) | | ||
<code cpp> | <code cpp> | ||
Ligne 130: | Ligne 287: | ||
} | } | ||
</ | </ | ||
+ | ++++ | ||
===== Photos ===== | ===== Photos ===== | ||
- | {{: | + | {{: |
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
- | Les mots clés (tags) représentant votre travail | ||
- | {{tag> |