====== Lithurgie ====== * Porteuse du projet : Blandine Degearier * Date : 2019 * Contexte : Arduino ===== Description ===== Dans la poursuite du projet [[wiki:projets:plantasia:accueil|Plantasia]] //(Initié par Sévan Papazian: invention d'un monde utopique où l'Homme vénérerait la Nature)//. Ce projet arduino consisterait à __créer une boîte liturgique permettant de vénérer une plante.__ A l'aide __d'une photoresistance et de 4 leds__, l'utilisateur sera invité à toucher la plante. La photoresistance sera cachée à côté de la plante //(au centre de la boîte)//. __Grâce a l'ombre que produira la main de l'utilisateur et donc de la luminosité captée, l'intensité des leds__ (//reliées à la photoresistance, et positionnées dans les 4 intersistices de la boîte)// __variera.__ {{ :wiki:projets:arduino-leds-blandine:p2.png |}} ===== Matériel ===== * 1 Carte Arduino * 8 Leds (verte!) * 4 Photoresistances * 6 Résistances (photoresistance > 4,7kΩ et leds >500Ω ) * Des fils * Un matériau pour construire la boîte * Une plante (Facultatif : 1 pile+câble afin que le système soit autonome) ===== Tuto ===== === Cablage === {{ :wiki:projets:arduino-leds-blandine:screenshot_2019-05-19_at_16.21.15.png |}} Schémat de circuit soudé. !! Branchement des leds en série !! === action du programme === Suivant la lumière captée par la photoresistence, l'intensité lumineuse des leds varient. const char AN_PHOTORESISTANCE = 0; // pin analogique de la photoresistance const char AN_PHOTORESISTANCE_1 = 1; const char AN_PHOTORESISTANCE_2 = 2; const char AN_PHOTORESISTANCE_3 = 3; const char DOUT_LED_1 = 8;//PWM const char DOUT_LED_2 = 9;//PWM const char DOUT_LED_3 = 10;//PWM const char DOUT_LED_4 = 11;//PWM int offset = 285; void setup() { Serial.begin(9600); // baud=vitesse de comunication entre la carte et l'ordinateur pinMode(DOUT_LED_1, OUTPUT); pinMode(DOUT_LED_2, OUTPUT); pinMode(DOUT_LED_3, OUTPUT); pinMode(DOUT_LED_4, OUTPUT); } void loop() { int valeurSurA0 = analogRead(AN_PHOTORESISTANCE); // lecture de la luminosité d'une pièce dans la console int valeurSurA1 = analogRead(AN_PHOTORESISTANCE_1); int valeurSurA2 = analogRead(AN_PHOTORESISTANCE_2); int valeurSurA3 = analogRead(AN_PHOTORESISTANCE_3); int intensiteLED_1 = 900 - valeurSurA0; // luminosité (en lux)traduite en valeur numérique allant de 0-1023 int intensiteLED_2 = 600 - valeurSurA1; int intensiteLED_3 = 300 - valeurSurA2; int intensiteLED_4 = 300 - valeurSurA3; intensiteLED_1 = intensiteLED_1 - offset; intensiteLED_2 = intensiteLED_2 - offset; intensiteLED_3 = intensiteLED_3 - offset; intensiteLED_4 = intensiteLED_4 - offset; if (intensiteLED_1 < 0) { intensiteLED_1 = 0; } if (intensiteLED_2 < 0) { intensiteLED_2 = 0; } if (intensiteLED_3 < 0) { intensiteLED_3 = 0; } if (intensiteLED_4 < 0) { intensiteLED_4 = 0; } Serial.println(intensiteLED_1); Serial.println(intensiteLED_2); Serial.println(intensiteLED_3); Serial.println(intensiteLED_4);// marquage de l'intensité dans la console analogWrite(DOUT_LED_1 , intensiteLED_1); analogWrite(DOUT_LED_2 , intensiteLED_2); analogWrite(DOUT_LED_3 , intensiteLED_3); analogWrite(DOUT_LED_4 , intensiteLED_4); delay(10); // variation de l'affichage (influ sur la rapidité du calcul de int intensiteLED) } ** PROBLEME NON RESOLU** La carte ne peut supporter qu'une intensité de 100mA, sachant que chaques led possédent une intensité de 10mA. Il faudrait pour augmenter le nombres de leds et venir au projet souhaité, une alimentation externe ainsi que des transistors.