mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
75 lines
3.2 KiB
Markdown
75 lines
3.2 KiB
Markdown
# Jumeau numérique d'un portail coulissant
|
|
|
|
Ce jumeau numérique permet la programmation en Python d'une maquette réelle d'un portail coulissant.
|
|
|
|
## 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=Portail_coulissant_(BE-APORT-COUL)
|
|
|
|
## 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 portail est le fichier **'porcou_cmd.py'**. Il est éditable avec tout éditeur (Spyder, Emacs, Atom, ...).
|
|
|
|
#### Actions
|
|
|
|
Les actions (ordre = True ou False) sont :
|
|
- Gyrophare : **gyr(True | False)**
|
|
- Ouvrir le portail (moteur sens trigo) : **mot_o (True | False)**
|
|
- Fermer le portail (moteur sens horaire) : **mot_f (True | False)**
|
|
- Emetteur pour le capteur barrage IR : **ir_emet(True | False)**
|
|
|
|
#### Capteurs
|
|
|
|
Les compte-rendus (valeur retournée = True ou False) des capteurs sont :
|
|
- Capteur fin de course portail ouvert : **fdc_o()**
|
|
- Capteur fin de course portail fermé : **fdc_f()**
|
|
- Capteur barrage IR (absence d'obstacle) : **ir_recep()**
|
|
|
|
#### Pupitre
|
|
|
|
Les consignes (valeur retournée = True ou False) du pupitre sont :
|
|
- Bouton poussoir coté rue : **bp_ext()**
|
|
- Bouton poussoir coté cour : **bp_int()**
|
|
|
|
#### Gestion du temps
|
|
|
|
- Temporisation : **tempo(duree)** avec la durée en seconde.
|
|
- Réinitialiser la valeur du temps : **reset_t()**.
|
|
- Obtenir la valeur du temps en seconde depuis le démarrage du cycle : **get_t()**.
|
|
- Définir la valeur (x) du temps en seconde : **set_t(x)**.
|
|
|
|
## 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_ext', 'bp_int', 'fdc_o', 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet', 'ir_recep'.
|
|
- Variables réels (si il y a jumelage) : 'bp_ext_r', 'bp_int_r', 'fdc_o_r', 'fdc_f_r', 'ir_recep_r'.
|
|
- Autres variables : 't' (temps), 'mot_angle', 'mot_vitesse', 'portail_x', 'portail_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.
|
|
**brochage = { nom:[type, broche, mode] }** :
|
|
- nom : nom de l'objet 3D,
|
|
- type : a (analogique) ou d (binaire),
|
|
- broche : numéro de la broche de carte,
|
|
- mode : i (entrée), o (sortie) ou p (pwm).
|
|
|
|
#### Objets du jumeau numérique :
|
|
- Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet', 'ir_recep'.
|