Outils pour utilisateurs

Outils du site


3._algorithmie_et_programmation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
3._algorithmie_et_programmation [2024/11/14 08:21] mistert3._algorithmie_et_programmation [2026/01/22 09:27] (Version actuelle) – [INTERRUPTEUR CREPUSCULAIRE] mistert2
Ligne 1: Ligne 1:
 ==== ALGORITHMIE ET PROGRAMMATION ==== ==== ALGORITHMIE ET PROGRAMMATION ====
  
-{{https://mistert-forge.site/cours/1sti2d_it/prog/Arduino Vittascience.pdf}}+{{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://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: 
 +
 +<code C>
 +// 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);  
 +}
 +</code>
 +
 +**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.
 +
 +<code>
 +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
 +</code>
 +
 +==== 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é.   
 +
 +
3._algorithmie_et_programmation.1731572483.txt.gz · Dernière modification : de mistert