==== ALGORITHMIE ET PROGRAMMATION ==== **Correction de l'exercice LDR** {{ https://www.tinkercad.com/things/b23EPZ4hgf8-etude-de-la-ldr | Lien activité TinkerCAD}} // C++ code // void setup() { pinMode(3,OUTPUT); Serial.begin(9600); } void loop() { int ldr = analogRead(A0); float lux = 4.705 * ldr - 2648; if (lux < 200) { digitalWrite(3,HIGH); } else if (lux > 600) { digitalWrite(3,LOW); } Serial.print("Tension LDR: "); Serial.print(ldr); Serial.print(" , LUX: "); Serial.println(lux); } {{ ::ldr.png |}} {{https://mistert.freeboxos.fr//cours/1sti2d_it/prog/Arduino Vittascience.pdf}} {{https://fr.vittascience.com/arduino/?mode=mixed&console=bottom&toolbox=vittascience&board=uno | Site VittaScience}} {{https://wokwi.com/projects/375144550969032705 | Site Wokwi}} {{https://mistert.freeboxos.fr/circuit/circuitjs.html | Circuits électroniques}} ==== Piloter un moteur avec arduino ==== https://www.tinkercad.com/joinclass/R9FK9NZYE {{ https://mistert.freeboxos.fr//cours/2SiCit/commande_moteur.png?800 }} **Objectifs attendus:** - Comprendre comment la vitesse est contrôlée grâce à la technologie PWM ; - inverser le sens de rotation d'un moteur en jouant sur les valeurs MOTEUR1_IN1 et MOTEUR2_IN2; - faire un graphique Vitesse, Tension en faisant varier le paramètre transmis à MOTEUR1_EN de 0 à 255 (dans ce code il est à 62); - brancher le deuxième moteur et proposer le code pour tourner à gauche, à droite, avancer, reculer. Se rendre sur la classe TinkerKad: // C++ code // #define MOTEUR1_EN 6 #define MOTEUR1_IN1 7 #define MOTEUR1_IN2 5 void avancer() { analogWrite(MOTEUR1_EN, 62); digitalWrite(MOTEUR1_IN1, HIGH); digitalWrite(MOTEUR1_IN2, LOW); delay(200); } void setup() { pinMode(MOTEUR1_EN, OUTPUT); pinMode(MOTEUR1_IN1, OUTPUT); pinMode(MOTEUR1_IN2, OUTPUT); } void loop() { avancer(); delay(500); } **Fonctionnement du contrôleur moteur L293D:** {{ https://electropeak.com/learn/wp-content/uploads/2018/08/Diagraml-1200.jpg?800 }} https://www.tinkercad.com/things/8gpHB1obZhl-pir-sensor-example