2022-12-10 19:04:32 +01:00
# Jumeau numérique d'un portail coulissant
2022-12-05 14:07:17 +01:00
2022-12-10 19:04:32 +01:00
Ce jumeau numérique permet la programmation en Python d'une maquette réelle d'un portail coulissant.
2022-12-05 14:07:17 +01:00
2022-12-22 05:02:33 +01:00
## Maquette numérique
2022-12-10 19:04:32 +01:00
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.
2022-12-05 14:07:17 +01:00
Site internet de la maquette A4 Technologie : https://www.a4.fr/wiki/index.php?title=Portail_coulissant_(BE-APORT-COUL)
2023-01-02 02:17:07 +01:00
## Téléchargement
Les binaires (Game Engine Runtime) sont hébergés sur [phroy.org ](http://www.phroy.org/cloud/index.php/s/JnDeFXRRqQ9abZc ).
2022-12-22 05:02:33 +01:00
## Instructions
2022-12-11 16:38:08 +01:00
Le script Python qui permet la commande du portail est le fichier ** 'porcou_cmd.py'**. Il est éditable avec tout éditeur (Spyder, Emacs, Atom, ...).
2022-12-11 16:39:48 +01:00
#### Actions
2022-12-05 14:07:17 +01:00
Les actions (ordre = True ou False) sont :
2022-12-22 08:17:47 +01:00
- Gyrophare : **gyr(True | False)**
2022-12-22 05:02:33 +01:00
- 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)**
2022-12-11 16:38:08 +01:00
2022-12-11 16:39:48 +01:00
#### Capteurs
2022-12-05 14:07:17 +01:00
Les compte-rendus (valeur retournée = True ou False) des capteurs sont :
2022-12-22 05:02:33 +01:00
- Capteur fin de course portail ouvert : **fdc_o()**
- Capteur fin de course portail fermé : **fdc_f()**
2022-12-11 16:38:08 +01:00
- Capteur barrage IR (absence d'obstacle) : **ir_recep()**
2022-12-12 11:50:20 +01:00
#### Pupitre
2022-12-05 14:07:17 +01:00
Les consignes (valeur retournée = True ou False) du pupitre sont :
2022-12-11 16:38:08 +01:00
- Bouton poussoir coté rue : **bp_ext()**
- Bouton poussoir coté cour : **bp_int()**
2022-12-05 14:07:17 +01:00
2022-12-11 16:39:48 +01:00
#### Gestion du temps
2023-02-04 14:08:20 +01:00
- Temporisation : **tempo(duree)** avec la durée en seconde.
- Réinitialiser la valeur du temps : **reset_t()** .
- Obtenir la valeur du temps depuis le démarrage du cycle : **get_t()** .
- Définir la valeur (x) du temps : **set_t(x)** .
2023-02-04 14:19:05 +01:00
## Accès aux données
2023-02-04 14:08:20 +01:00
2023-02-04 14:17:21 +01:00
- 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])** .
2023-02-04 14:19:05 +01:00
#### Variables publiques :
2023-02-04 14:08:20 +01:00
- 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'.
2023-02-04 14:19:05 +01:00
## Jumelage
2023-02-04 14:08:20 +01:00
2023-02-04 14:17:21 +01:00
- 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)** .
2023-02-04 14:19:05 +01:00
#### Brochage
2023-02-04 14:17:21 +01:00
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).
2023-02-04 14:19:05 +01:00
#### Objets du jumeau numérique :
2023-02-04 14:08:20 +01:00
- Entrées/sorties : 'bp_ext', 'bp_int', 'fdc_o', 'fdc_f', 'mot_o', 'mot_f', 'gyr', 'ir_emet', 'ir_recep'.