==== ALGORITHMIE ET PROGRAMMATION ====
{{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://www.tinkercad.com/joinclass/1A9TVJZCA | Classe TinkerCAD}}
{{https://mistert.freeboxos.fr/circuit/circuitjs.html | Circuits électroniques}}
==== Piloter un moteur avec arduino ====
{{ 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
==== INTERRUPTEUR CREPUSCULAIRE ====
Faire l'activité dans un premier temps sur Vittascience puissur TinkerCad.
Algorithme : Interrupteur crépusculaire avec détection de présence et forçage
Variables (conceptuelles)
Luminosité : valeur mesurée par la LDR
Présence : état du capteur PIR (oui / non)
Forçage : état de l’interrupteur (activé / non)
État_LED : allumée / éteinte
Seuil_lumière : valeur limite entre jour et nuit
Algorithme principal
1. Initialisation
Fixer un seuil de luminosité (crépuscule).
Mettre la LED à l’état éteint.
2. Boucle de fonctionnement (répétée en permanence)
Mesurer la luminosité avec la LDR.
Lire l’état du capteur PIR (présence ou non).
Lire l’état de l’interrupteur de forçage.
3. Décision d’allumage
Cas 1 : Forçage activé
Allumer la LED, quelle que soit la luminosité et la présence.
Sinon (mode automatique) :
Si la luminosité est faible (nuit ou crépuscule)
ET qu’une présence est détectée
→ Allumer la LED.
Sinon
→ Éteindre la LED.
4. Retour au début de la boucle
==== Versions améliorées ====
Pour éviter que la LED s’éteigne trop vite :
* Si une présence est détectée, maintenir la LED allumée pendant un certain temps (temporisation). Puis revenir au mode normal.
* Ajouter un seuil haut et un seuil bas (hystérésis) pour la détection lumineuse pour que la lampe ne clignote pas de trop pas.
* Prévoir un mode économique qui permet de ne pas consommer trop d'électricité.