mirror of
https://forge.apps.education.fr/blender-edutech/jumeaux-numeriques.git
synced 2024-01-27 06:56:18 +01:00
99 lines
5.3 KiB
Python
99 lines
5.3 KiB
Python
###############################################################################
|
|
# porcou_doc.py
|
|
# @title: Documentation du portail coulissant
|
|
# @project: Blender-EduTech
|
|
# @lang: fr
|
|
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
|
|
# @copyright: Copyright (C) 2020-2022 Philippe Roy
|
|
# @license: GNU GPL
|
|
###############################################################################
|
|
|
|
################################################################################
|
|
# Documentation du système
|
|
################################################################################
|
|
|
|
# system_card=["twins-card", "serial-card", "movement-card", "sensor-card", "gyro-card", "board-card", "model-card", "arduino-card"]
|
|
system_card=["twins-card", "firmata-card", "movement-card", "sensor-card", "gyro-card", "board-card", "model-card", "arduino-card"]
|
|
system_card_description ={}
|
|
|
|
# Jumeau numérique
|
|
card_twins_title="Jumeau numérique"
|
|
card_twins_text=""" jumeau(brochage) \n -> Active le jumeau réel.\n
|
|
jumeau_stop() \n -> Désactive le jumeau réel.\n
|
|
Le brochage est un dictionnaire, par \n exemple : brochage={ "bouton": ['d',2,'i'], \n "led": ['d',3,'o'] }.\n
|
|
Avec "carte=jumeau(brochage)", on peut \n utiliser l'objet "carte" pour communiquer \n directement avec le protocole Firmata."""
|
|
# jumeau_config(port, vitesse) \n -> Définit la configuration de la liaison \n série.\n
|
|
# Si le port n'est pas spécifié, il sera \n recherché automatiquement (carte \n Arduino Uno ou Mega). \n
|
|
# La vitesse par défaut est 115200 baud."""
|
|
card_twins_url=[]
|
|
system_card_description.update({"twins-card" : [card_twins_title, card_twins_text, card_twins_url]})
|
|
|
|
# Firmata
|
|
card_firmata_title="Protocole Firmata"
|
|
card_firmata_text=""" La communication entre les jumeaux \n est basée sur le protocole Firmata.\n
|
|
broche = carte.get_pin('type:broche:mode') \n -> Créer une entrée/sortie (broche) \n - type : a (analogique) ou d (numérique) \n - mode : i (entrée) , o (sortie) ou p (pwm). \n
|
|
broche.read() \n -> Retourne la valeur de la broche.\n
|
|
broche.write(valeur) \n -> Écrire la valeur sur la broche."""
|
|
card_firmata_url=[["Protocole Firmata : pyFirmata","https://github.com/tino/pyFirmata"]]
|
|
system_card_description.update({"firmata-card" : [card_firmata_title, card_firmata_text, card_firmata_url]})
|
|
|
|
# Ouvrir et fermer
|
|
card_movement_title="Ouvrir et fermer"
|
|
card_movement_text=""" mot_o(True | False) \n -> Ouvrir le portail (moteur sens trigo).\n
|
|
mot_f(True | False) \n -> Fermer le portail (moteur sens horaire).\n
|
|
fdc_o() \n -> Capteur fin de course portail ouvert.\n Retourne True si le portail est ouvert. \n
|
|
fdc_f() \n -> Capteur fin de course portail fermé.\n Retourne True si le portail est fermé."""
|
|
card_movement_url=[]
|
|
system_card_description.update({"movement-card" : [card_movement_title, card_movement_text, card_movement_url]})
|
|
|
|
# Capteurs
|
|
card_sensor_title="Capteur"
|
|
card_sensor_text=""" ir_emet(True | False) \n -> Activer l'émetteur infrarouge (IR).\n
|
|
ir_recep() \n -> Récepteur barrage infrarouge (IR).\n Retourne True s'il n'y a pas d'obstacle."""
|
|
card_sensor_url=[]
|
|
system_card_description.update({"sensor-card" : [card_sensor_title, card_sensor_text, card_sensor_url]})
|
|
|
|
# Gyrophare
|
|
card_gyro_title="Gyrophare"
|
|
card_gyro_text=""" gyr(True | False) \n -> Activer le gyrophare."""
|
|
card_gyro_url=[]
|
|
system_card_description.update({"gyro-card" : [card_gyro_title, card_gyro_text, card_gyro_url]})
|
|
|
|
# Pupitre
|
|
card_board_title="Pupitre"
|
|
card_board_text= """ bp_ext() \n -> Bouton poussoir coté rue.\n Retourne True si le bouton est pressé.\n
|
|
bp_int() \n -> Bouton poussoir coté cour.\n Retourne True si le bouton est pressé."""
|
|
card_board_url=[]
|
|
system_card_description.update({"board-card" : [card_board_title, card_board_text, card_board_url]})
|
|
|
|
# Maquette
|
|
card_model_title="Maquette"
|
|
card_model_text=""" Le modèle 3D est basé sur la maquette \n développée par l'entreprise A4 \n Technologie. \n
|
|
Les documents techniques et \n pédagogiques signés A4 Technologie \n sont diffusés librement sous licence \n Creative Commons BY-NC-SA. \n
|
|
Le pilotage de la maquette se fait par une \n carte Arduino (Uno ou Mega) reliée à \n l'ordinateur via la liaison série (USB) et le \n protocole Firmata."""
|
|
card_model_url=[["A4 Technologie","https://www.a4.fr"],
|
|
["Maquette A4 Technologie","https://www.a4.fr/wiki/index.php?title=Portail_coulissant_(BE-APORT-COUL)"]]
|
|
system_card_description.update({"model-card" : [card_model_title, card_model_text, card_model_url]})
|
|
|
|
# Arduino
|
|
card_arduino_title="Arduino"
|
|
card_arduino_text=""" Arduino une plateforme open-source de \n développement électronique basée sur le \n microcontrôleur de la famille ATmega.
|
|
|
|
Elle est utilisée pour la création d'objets \n électroniques interactifs et connectés : \n IoT, domotique, robotique, ...
|
|
|
|
Le langage de programmation est le C. Par \n la bibliothèque Arduino l'accès aux entrées \n et sorties de la carte est particulièrement
|
|
aisé. Les platines permettent l'ajout \n d'extensions : relais, Grove, RFID, GPS, ... """
|
|
|
|
card_arduino_url=[["Plateforme Arduino","https://www.arduino.cc/"]]
|
|
system_card_description.update({"arduino-card" : [card_arduino_title, card_arduino_text, card_arduino_url]})
|
|
|
|
##
|
|
# Envoi des données
|
|
##
|
|
|
|
def get_system_card():
|
|
return system_card
|
|
|
|
def get_system_card_description():
|
|
return system_card_description
|