Programme en blocs pour un portail coulissant

pdevisme1

Senior Member
Bonjour à tous, j'ai fait le programme suivant en blocs pour une maquette de portail coulissant sous Picaxe Editor 6.

J'ai un détecteur de fermeture de portail ( un fin de course ) et un détecteur d'obstacle si un piéton passe lors de la fermeture du portail.

Je souhaiterais que le portail s'arrête lors de la détection du fin de course de fermeture évidemment mais aussi lors de la détection d'un piéton.

23279

Pour la version organigramme pas de souci, le programme fonctionne très bien et est facile à réaliser.

Là où je bloque un peu c'est sur le programme en blocs justement...

Lors de la fermeture, il faudrait que je puisse mettre un OU logique entre "tant que entrée Obstacle ? est désactivée" et "tant que entrée Portail fermé ? est désactivée" mais ce blocs logique n'existe pas donc j'ai fait le programme ci-dessus sans être sûr que ce dernier soit correct...

Je mets le fichier du programme aussi en téléchargement au cas où.

Merci d'avance si vous avez une idée.
 

Attachments

PieM

Senior Member
Bonjour,
Peux tu mettre ton fichier .aia ?
Tu le renommes en .txt pour le charger sur le forum ...
 

pdevisme1

Senior Member
Bonjour, je n'ai pas de fichier .aia ( d'App Inventor donc ). Il y a juste un BP pour ouvrir/fermer le portail. Le fichier xml que j'ai joint est à ouvrir dans PE6 en blocs.
 

PieM

Senior Member
Ouais, pas très souple ce Blocky !
A mon avis la seule possibilité pour avoir une double condition est de passer par une variable auxiliaire :
23286
et ta condition de boucle teste varA.

Mais j'aurais bien vu plutôt ça:
23287
 
Last edited:

PieM

Senior Member
Ton "tant que entrée Portail fermé ? est désactivée" est inutile puisque c'est la condition sinon du portail fermé activé ...

23288
 
Last edited:

pdevisme1

Senior Member
Bonjour Piem, dans ton programme #6 ci-dessus, le détecteur d'obstacle est testé au LANCEMENT de la fermeture du portail puis PLUS PENDANT la fermeture ? Donc si un obstacle est détecté lors de la fermeture, le portail ne s'arrête pas. Non ?

Je ne peux pas essayer ce jour, je n'ai pas la maquette chez moi cet après-midi.
 

PieM

Senior Member
Oui je pense que tu as raison! Cette approche avec Blocky ne me parait jamais évidente...
 

PieM

Senior Member
Ce serait plutôt ça alors :

23289

NON ! ça ne marche pas non plus !!!:mad:
 
Last edited:

pdevisme1

Senior Member
C'est bien ce que je me disais... Il faudrait un "bloc logique OU" ( comme dans mBlock pur les cartes Arduino ) pour détecter l'obstacle OU la fermeture complète du portail.

J'ai testé le programme ci-dessous ce matin mais sans succès... en pensant que le bloc "fixer var_obstacle à entrée Portail fermé? OU entrée Obstacle ?" s'incrémenter de 1 ( puisque l'on parle d'une variable ) si l'une des 2 conditions était réunie.

Quand un obstacle est détecté lors de la fermeture du portail ce dernier se ré-ouvre complétement, donc impecc, mais quand il n'y a pas d'obstacle le portail se ré-ouvre aussitôt quand il atteint le fin de course de fermeture...

23290

Ouais, pas évident Blockly et encore moins quand il faut expliquer ça à des gamins de 3ème... Franchement je préfère l'organigramme mais ce n'est malheureusement pas ce qui nous est demandé.

Même les élèves trouvent l'organigramme plus facile...
 

PieM

Senior Member
Il faudrait se contenter d'arrêter la fermeture lors de la détection, sans repartir sur une ouverture, non ?
 

pdevisme1

Senior Member
Re-bonjour, "se contenter d'arrêter la fermeture lors de la détection, sans repartir sur une ouverture" c'est plus simple c'est sûr mais cela ne reflète pas la réalité...

Et une interruption comme sur l'ancienne version Programming Editor ? Mais je ne sais pas si c'est possible en blocs, il faut que je regarde.
 

MGU

Senior Member
Bonjour,

Il y a quelques années (déjà), j'avais fait un petit programme de gestion de portail coulissant (en Lego !).
Je ne sais pas si on peut tirer quelque chose de ce projet, en transposant en Blockly. On sait jamais...

MM
 

pdevisme1

Senior Member
Bonjour MGU,

Merci pour ton aide. Je ne code pas du tout donc c'est un peu difficile pour moi de transposer en Blockly... je sais ce n'est pas bien mais comme au collège la programmation en organigramme et en blocs suffisent et bien je m'en contente aussi !

Par contre, je vais essayer le programme ci-dessous avec une interruption, je verrai bien ce que cela va donner ( je croise les doigts ) :

23381

Je pense que ça devrait marcher. Je vous tiens au courant.

Encore merci.
 

pdevisme1

Senior Member
Bonjour, ça ne marche pas... J'ai l'erreur suivante quand je tente de charger le programme dans la carte :
23387

Pourtant, je suis la procédure du document trouvé ici ( page 26 )...
 

pdevisme1

Senior Member
Re-bonjour, j'ai trouvé et ça fonctionne !

Pour le titre de la sous fonction, il faut mettre interrupt et pas Interruption...
 

MGU

Senior Member
Bonjour,

La francisation n'a pas été jusqu'au bout...
Mais pourquoi ces instructions en basic un peu disgracieuses dans un blockly?
J'ai vu des commandes "Sorties" qui fixent les valeurs "activée" et inactive".
Détail: Par principe, je placerais plutôt "low B.1" avant "high B.0"

MM
 

pdevisme1

Senior Member
Bonjour,

La francisation n'a pas été jusqu'au bout...
Mais pourquoi ces instructions en basic un peu disgracieuses dans un blockly?
J'ai vu des commandes "Sorties" qui fixent les valeurs "activée" et inactive".
Détail: Par principe, je placerais plutôt "low B.1" avant "high B.0"

MM
Bonjour, j'ai trouvé plus simple, pour des élèves de collège, de ne mettre qu'un seul bloc pour ouvrir et fermer le portail.

Oui, oui, il y a bien des high et low pour les sorties mais c'est plus simple comme ça pour moi.

Les élèves doivent juste ouvrir ou fermer le portail, ils ne s'occupent pas de quelles ou quelles sorties commandent le moteur...

Peut-être verront-ils ça au lycée...
 

pdevisme1

Senior Member
Bonjour Piem, au collège, la technologie est considérée comme un enseignement général donc on reste relativement "soft" avec une première approche de la programmation en graphique ( surtout en blocs et normalement plus trop en organigramme... )... Après, au lycée, ils programment en python, en langage C etc...
 

BESQUEUT

Senior Member
Bonjour Piem, au collège, la technologie est considérée comme un enseignement général donc on reste relativement "soft" avec une première approche de la programmation en graphique ( surtout en blocs et normalement plus trop en organigramme... )... Après, au lycée, ils programment en python, en langage C etc...
A force de prendre les collégiens pour des abrutis, on obtient effectivement une majorité d'abrutis...
Mais ceci est une histoire non Picaxienne...
 

PieM

Senior Member
Bonjour Piem, au collège, la technologie est considérée comme un enseignement général donc on reste relativement "soft" avec une première approche de la programmation en graphique ( surtout en blocs et normalement plus trop en organigramme... )... Après, au lycée, ils programment en python, en langage C etc...
Peut être, mais quand on en arrive à utiliser des interruptions parce que une simple fonction logique comme le OU et le ET n'existe pas dans l'outil officiel et "soft", il y a un sérieux problème !
 

pdevisme1

Senior Member
Peut être, mais quand on en arrive à utiliser des interruptions parce que une simple fonction logique comme le OU et le ET n'existe pas dans l'outil officiel et "soft", il y a un sérieux problème !
Bonjour BESQUEUT et Piem,

Oui c'est sûr Piem, mais on s'adapte avec ce que l'on a ou ce que l'on n'a pas... c'est à dire, pas, ou très peu de budget, que des logiciels gratuits... enfin bref, on fait ce que l'on peut...

En ce qui concerne le niveau des élèves, on s'adapte aussi...
 

PieM

Senior Member
Oui c'est sûr Piem, mais on s'adapte avec ce que l'on a ou ce que l'on n'a pas... c'est à dire, pas, ou très peu de budget, que des logiciels gratuits... enfin bref, on fait ce que l'on peut...
Bonjour, oui, mais je suis bien conscient de la galère que doivent supporter les profs ! Le monde des décideurs de l'EN m'a toujours semblé hors sol !
D'un autre coté, RevED qui a adapté ce produit Blockly a destination de l'enseignement, aurait pu aller un peu plus loin en intégrant des fonction B.A. BA de la logique élémentaire liée aux automatismes, qui est la vocation des Picaxes.
 
Top