jumeaux-numeriques/volet_roulant/README.md
2023-02-04 21:26:37 +01:00

77 lines
3.1 KiB
Markdown

# Jumeau numérique d'un volet roulant
Ce jumeau numérique permet la programmation en Python d'une maquette réelle d'un volet roulant
## Maquette numérique
Le modèle 3D est basé sur la maquette développée par l'entreprise A4 technologie. Les documents techniques et pédagogiques signés A4 Technologie sont diffusés librement sous licence Creative Commons BY-NC-SA.
Site internet de la maquette A4 Technologie : https://www.a4.fr/wiki/index.php?title=Volet_roulant
## Téléchargement
Les binaires (Game Engine Runtime) sont hébergés sur [phroy.org](http://www.phroy.org/cloud/index.php/s/JnDeFXRRqQ9abZc).
## Instructions
Le script Python qui permet la commande du volet est le fichier **'volrou_cmd.py**. Il est éditable avec tout éditeur (Spyder, Emacs, Atom, ...).
#### Actions
Les actions (ordre = True ou False) sont :
- Monter le volet (moteur sens trigo) : **mot_m(True | False)**
- Descendre le volet (moteur sens horaire) : **mot_d(True | False)**
#### Capteurs
Les compte-rendus (valeur retournée = True ou False) des capteurs sont :
- Capteur fin de course volet en haut : **fdc_h()**
- Capteur fin de course volet en bas : **fdc_b()**
- Capteur de luminosité (LDR) : **lum()**
#### Pupitre
Les consignes (valeur retournée = True ou False) du pupitre sont :
- Bouton poussoir monter volet : **bp_m()**
- Bouton poussoir arrêt volet : **bp_a()**
- Bouton poussoir descendre volet : **bp_d()**
- Bouton poussoir mode automatique : **bp_auto()**
Le retour d'information (allumer = True ou False) du pupitre est :
- Voyant témoin mode automatique : **voy_auto(True | False)**
#### Gestion du temps
Les temporisations : **tempo(duree)** avec la durée en seconde
## Accès aux données
- Retourne la valeur de la variable à \n l'instant : **get(variable)**.
- Enregistre les données et génére un fichier de données CSV à l'arrêt du cycle : **daq([variables])**.
- Affiche, à l'arrêt du cycle, le chronogramme des données enregristrées : **plot([variables])**.
#### Variables publiques :
- Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bp_auto', 'voy_auto' et 'lum'.
- Variables réels (si il y a jumelage) : 'bp_m_r', 'bp_a_r', 'bp_d_r', 'fdc_h_r', 'fdc_b_r', 'bp_auto_r' et 'lum_r'.
- Autres : 't' (temps), 'mot_angle' et 'mot_vitesse'.
## Jumelage
- Démarrer le jumelage : **jumeau(brochage)**.
- Arrêter le jumelage : **jumeau_stop()**.
- Définit les modes d'activation des entrées/sorties (True ou False) : **jumeau_mode(entrées réelles, entrées numériques, sorties réelles, sorties numériques)**.
#### Brochage
Le brochage est un dictionnaire qui permet d'associer les objets 3D du jumeau numérique aux broches du jumeau réel.
Son format est le suivant : **brochage = { nom:[type, broche, mode] }** :
- nom : nom de l'objet 3D du jumeau numérique,
- type : a (analogique) ou d (binaire),
- broche : numéro de la broche de carte (Arduino, ...),
- mode : i (entrée), o (sortie) ou p (pwm).
#### Objets 3D du jumeau numérique :
- Entrées/sorties : 'bp_m', 'bp_a', 'bp_d', 'mot_m', 'mot_d', 'fdc_h', 'fdc_b', 'bp_auto', 'voy_auto' et 'lum'.