Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Messages - ucino

#1
Ah ok Bzhtitude merci pour ces infos.

Oui, je ne comprends pas non plus pourquoi 2048 suffisent... peut-être qu'en vrai le modèle que j'ai sous la main n'est pas un 1/64 mais 1/32 ? Si jamais je perce le mystère je reviendrai en faire part dans ce fil de discussion.

Ok merci Seb pour l'avoir intégré :)
#2
Bien vu pour le réducteur.

Précisément c'est ce moteur, j'ai retrouvé le lien, les données que tu as indiquées correspondent : https://fr.aliexpress.com/item/5V-Stepper-Motor-28BYJ-48-With-Drive-Test-Module-Board-ULN2003-5-Line-4-Phase/32608569300.html

En fait 4096 fait 2 tours sur mon moteur, bizarre, du coup par défaut je lui mets donc 2048.

Pour le driver en effet c'est un ULN2003.

Citationil y a de quoi "s'amuser" beaucoup plus avec des modes "1/2 pas" "double bobines" voir même du microstepping

Ah tu titilles ma curiosité, c'est à dire ? Pour s'amuser je suis preneur :)

Ma fille a pu tester les blocs, elle s'en est bien sortie, ça a pu l'entraîner à la lecture et l'écriture des chiffres. Du coup ça l'air de tenir la route les blocs dans la config actuelle, je vais le pousser dans sa nouvelle config. Avec plus de tests, je pense que d'autres idées d'améliorations viendront.
#3
Bien vu... merci beaucoup ! Je viens de l'intégrer en local, demain j'essaie de tester sur le moteur.

Pour 2048 pas par tour pour un PAP, je dois refaire des tests. Il m'a semblé que ce moteur 28BYJ-48 pouvait étrangement fonctionner avec 2048 ou 4096, et il fallait réajuster la vitesse (l'un pouvait monter jusqu'à 8 ou 10 l'autre bien plus haut pour set speed). Je ne me souviens plus de ce qu'il en était des tours : faisait-il en 1 tour ou un demi tour ?

S'il a un réducteur, je ne sais pas trop, il est comme ça : https://browse.startpage.com/do/show_picture.pl?l=francais&rais=1&oiu=https%3A%2F%2Fimg.fasttechcdn.com%2F398%2F3982900%2F3982900-1.jpg&sp=141187c82972ff223c120a5e88d0fff5&t=default à priori non ?

J'avais regardé pas mal de vidéos, tutos et articles sur le 28BYJ-48, il y avait pas mal de recommandations différentes pour le nombre de pas par tour. Maintenant que les blocs fonctionnent bien, je vais un mieux tester  ça. Je vous tiens au courant.
#4
Je suis en train d'essayer de faire le bloc pour permettre à l'enfant de dire qu'il veut avancer le moteur pas à pas en tours (ex. 2 tours) au lieu de pas (ex. 2048x2) qui est plutôt difficile pour des maternels...

Mais ce n'est peut-être pas possible. Est-ce que quelqu'un sait s'il est possible d'aller chercher la valeur définit dans un autre bloc de config qui a le même nom de variable ? (cf. l'image pour comprendre plus facilement). Si c'est possible et si quelqu'un connait un bloc dans blocky@arduino qui fait ça je suis preneur...

En fait on dirait qu'il faudrait faire la même chose qu'avec le nom du moteur, mais que cela soit considéré comme un nombre et non des caractères (si je renomme le moteur en 123 blockly m'ajoute un my_123). J'essaie de creuser dans la doc... https://developers.google.com/blockly/guides/create-custom-blocks/variables
#5
Pull request faite, et pour le tuto github j'avais en fait déjà intégré les nouveautés pour pouvoir faire la pull request.
#6
Je vais essayer de t'envoyer ce soir la correction, en mettant à jour le tuto sur github.
J'essaie ensuite d'ajouter un bloc plus facile pour les plus petits (nombre de tours de roue au lieu de nombre de pas) et enfin les enfants vont pouvoir tester.
#7
Ahaaaa en regardant bien ton code, j'ai vu qu'il manquait au mien dans le generator lié au block de config:

return '';

Du coup avec ça ça a l'air de fonctionner...

Ton code va aussi beaucoup m'aider pour mettre en œuvre la traduction.

Milles merci pour ta précieuse aide !
#8
Merci beaucoup pour le code, je vais le regarder attentivement, et ton explication vis à vis de la démarche.

#9
Super, bien joué, merci !

1) Est-ce qu'il serait possible d'accéder au code ?

2) Est-ce que tu pourrais me dire comment tu as procédé : Tu as utilisé le tuto http://www.libreduc.cc/wiki/doku.php/fr/arduino/blockly_rduino/creerblocsmultiling , ou tu es parti d'un bloc existant .js (si oui lequel), ou tu as utilisé l'usine à code (icône bleu d'usine en bas à gauche de https://technologiescollege.github.io/Blockly-at-rduino/ ou une autre méthode ?

Merci
#10
Merci pour ton retour.

J'essaie de résoudre les 2 problèmes que tu avais soulignés sur le moteur pas à pas, et je reprends le tuto en ayant ainsi un cas d'usage à mettre en œuvre (remonter les corrections du moteur pas à pas via github).
#11
Hello,

Débutant avec github, sa méconnaissance peut-être un frein chronophage pour contribuer à Blockly@arduino.

L'objectif de ce fil de discussion est d'essayer de proposer un petit guide pratique pour gagner du temps à ceux qui sont ou seront dans le même cas.

Attention, il comporte peut-être des erreurs, a été initié par un débutant et est en cours d'expérimentation et pas encore testé.

Présentation des objectifs du tutoriel

Vous aimeriez contribuer à Blockly@arduino ? Ajouter de nouveaux de nouveaux blocs, enrichir les traductions, les images ou proposer des corrections ?

Git est très pratique pour cela, il vous fera gagner beaucoup de temps, ainsi qu'aux autres contributeurs.

Mais vous ne savez pas utiliser Git et Github ?

Pas de soucis, ce tuto est là pour cela, tout sera expliqué pas à pas, pour les utilisateurs sous GNU/Linux.

Installer git

Sous debian et ubuntu :

    sudo apt update
    sudo apt install git


Se créer un compte sur github

1) Aller sur https://github.com/ et créez-vous compte (si vous avez des problèmes à la création du compte, débloquez peut-être juste le temps de créer un compte des addons de sécurité qui peuvent empêcher un test anti-spam de se mettre en œuvre) ;
2) consultez vos emails (dont le dossier spam) et cliquez sur le lien pour valider votre compte (sinon vous ne pourrez pas forker comme expliqué ci-après) ;
3) puis identifiez-vous si vous ne l'êtes pas (mais normalement vous devez l'être suite à la création du compte).

[Note] si quelqu'un sait s'il est possible d'utiliser https://framagit.org/ à la place de github en tant que contributeur sans que cela complique la vie de Seb, merci de le dire, le tuto sera alors réalisé en utilisant https://framagit.org/ pour éviter les dérives de centralisation des pouvoirs comme cela avait été le cas avec google code qui appliquait l'embargo US et empêchait ainsi aux résidents de certains pays (ex. Syrie) de télécharger et contribuer à des logiciels libres.[finNote]

Ne pas prendre de risques

Il pourrait y avoir 2 types de contributions à Blockly@arduino avec git. Soit Seb vous a donné les droits pour téléverser vos améliorations directement sur son dépôt, soit non.

Ici on est dans un cadre débutant pour javascript, blockly@rduino et github, on ne prend pas de risques de tout casser chez Seb, et on envisage donc que vous n'avez pas les droits de verser directement votre code sur le repository de Seb. Ce tuto suit donc cette logique.

Forker le dépot de Blockly@arduino sur votre compte github

1) Via votre navigateur et logué donc sur github, allez sur https://github.com/technologiescollege/Blockly-at-rduino/ et en dessous de la barre jaune cliquez sur le bouton "Create new file".

En faisant cela, vous avez créé une copie (un fork) du dépôt de Blockly-at-rduino sur votre espace github, sur lequel vous pourrez ajouter tranquillement vos améliorations.

2) Une nouvelle page avec un espace vide a été créé, on n'y prête pas attention, allez tout en haut à droite et cliquez sur l'icône rectangulaire > Your repositories. Nous arrivons maintenant sur votre page de dépôts, et nous retrouvons le fork (copie) de blockly@rduino. Cliquons dessus pour que s'affiche https://github.com/VOTREIDENTIFIANTGIT/Blockly-at-rduino

Télécharger votre dépôt sur votre ordinateur

Pour pouvoir tester et éditer facilement le code de votre dépôt Blockly@arduino, nous allons le télécharger sur votre ordinateur.

Pour cela :

* Créer un dossier dans votre ordinateur qui va contenir votre dépôt (ex. MonDepotBlocklyAtArduino)
* Entrer dans ce dossier
* Y ouvrir un terminal (ex. clic droit > Ouvrir un terminal ici)
* Entrer dans le terminal la commande suivante :
git clone https://github.com/XXXXXXX/Blockly-at-rduino.git
Où XXXXXXX est à remplacer par votre identifiant github

* Patienter jusqu'à le dépôt sont entièrement téléchargé.

Préparer votre dossier

* Entrer cd Blockly-at-rduino/ pour entrer dans le dossier que vous venez télécharger.

* Configurer l'accès : git config --global user.name "MonPrénom MonNom"
* Vérifier que le dépôt est bien à jour : git pull

Félicitations, vous pouvez maintenant apporter vos modifications et ajouts !

Réaliser les modifications ou ajouts de nouveaux fichiers
* À vous de jouer ! (cf. http://www.libreduc.cc/wiki/doku.php/fr/arduino/blockly_rduino/creerblocsmultiling )

* Vérifions maintenant le bon fonctionnement en cliquant sur index.html contenu dans le dossier Blockly-at-rduino

Ajouter les modifications réalisées sur votre ordinateur dans votre fork dépôt github

Dans cet exemple, nous partons du principe que vous n'avez pas ajouté de nouveaux fichiers, seulement modifiés des fichiers existants.

* Regardons ce qui a été modifié sur votre ordinateur ("en local") : entrez dans le terminal git status

Une ou plusieurs lignes rouges dans votre terminal devraient reprendre les fichiers que vous avez modifiés.

* Entrons dans le terminal git commit -a pour que ces modifications soient sujettes à être uploadées dans votre dépoôt forké.

* Dans votre terminal, un nouvel espace s'affiche. Indiquez de manière synthétique pourquoi vous avez réalisé ces modifications (ex. Correction moteurs pas à pas unipolaires pour que quand 2 blocs de config moteurs pas à pas sont déposés, il y ait bien 2 vitesses initiales prises en compte au lieu d'une seule.)

* Faire Ctrl + O pour valider votre commentaire, Entrée, puis Ctrl + X pour revenir en arrière.

* Entrer dans le terminal git push pour que soient envoyés vos modifications dans votre dépôt git en ligne.

* Votre identifiant github vous est demandé, entrons-le, puis appuyer sur Entrée.

* Puis votre mot de passe de votre compte github, puis appuyer sur Entrée.

Bravo vous venez d'uploader vos modifications. Vous pouvez aller sur https://github.com/VotreIdentifiant/Blockly-at-rduino pour vérifier le résultat, vous verrez notamment votre commentaire qui s'affiche.

Informer Seb que vous avez réalisé une modification pour qu'il puisse l'intégrer

Maintenant que vous avez contribué au code de Blockly@rduino, nous allons en faire part à Seb avec github.

* Aller sur https://github.com/VotreIdentifiant/Blockly-at-rduino

* Cliquer sur le bouton gris en dessous de la barre jaune "New pull request"

* Cliquer sur le bouton vert "Create pull request" une première fois, puis une deuxième fois.

Voilà, Seb devrait en être automatiquement notifié, à voir maintenant s'il l'ajoutera sur son dépôt !

Tuto en cours de rédaction la suite à venir dans les jours qui viennent...
#12
Citation de: SebCanet le Janvier 08, 2019, 03:10:25 PM
Le pb vient du champ des définitions et/ou du setup qui ne doivent pas être fixes (ex : 'stepper') mais différent quand on veut les ajouter (ex : 'stepper_' + num_pin).
Merci j'essaierai de l'appliquer.

Citation de: SebCanet le Janvier 08, 2019, 03:10:25 PM
Mais aussi dans en.js et de.js.... ;)
oula  ::)


Citation de: SebCanet le Janvier 08, 2019, 03:10:25 PM
Cool ! Des tests avec des enfants et remanier l'ergonomie, voilà ce qui manque ! Toute remarque ets la bienvenue.
ok impec.

Citation de: ucino le Janvier 08, 2019, 01:20:22 AM
Pour le bloc de config je me demande ce qu'il faudrait mieux mettre, que penses-tu qu'on ne puisse l'emboiter ni par en haut, ni par en bas ? Je ne sais pas trop, on dirait que pour les blocs de configs on retrouve un peu des deux dans blockly at arduino.

Citation de: SebCanet le Janvier 08, 2019, 03:10:25 PM
Pour les URL c'est réglé mais pour l'ergonomie c'est un vrai problème...sachant qu'on peut faire les deux en les mettant dans des toolbox de niveaux différents et pas seulement dans 'TOUT'.
Merci pour ton retour. Du coup, quand toi tu prépares des blocs de configs tu privilégies quand l'un ou l'autre ? Pas d'emboitement par en haut et par en bas pour les niveaux débutant ? [edit : je pense avoir compris un peu mieux les enjeux : mieux vaut pouvoir les emboîter, comme ça on peut avoir une série de bloc emboîtés de déclarations > je conserve donc l'emboitement du haut et du bas]

Je mets à jour ma todo list :)

1 [presque ok - workaround] - comprendre comment répercuter les modifs du dépôt de Seb sur mon fork github [edit :  après avoir tenté https://www.christopheducamp.com/2013/12/16/forker-un-repo-github/ et https://help.github.com/articles/syncing-a-fork/ puis https://gist.github.com/vladimirtsyupko/10964772 je n'y suis pas arrivé. J'ai du coup fait le barbare : supprimé mon fork et en ait recréé un nouveau]
2 - [presque ok] faire qu'il soit possible d'utiliser 2 moteurs pas à pas en même temps en jouant sur  le champ des définitions et/ou du setup qui ne doivent pas être fixes (ex : 'stepper') mais différent quand on veut les ajouter (ex : 'stepper_' + num_pin).; [edit cf. https://github.com/openelearning/Blockly-at-rduino/commit/22f7f01eaa38677a8a3f52bb780cbcdbbb862448 : on peut maintenant ajouter 2 config du moteur pas à pas, mais si on les emboîte le dernier disparaît du code arduino. Le code attach servo de la catégorie servo ne présente pas ce problème, mais en regardant son code je ne suis pas arrivé à avoir le même comportement : faire que l'on puisse emboîter les blocs sans que cela fasse disparaître du code arduino une des 2 déclarations]
3 - faire des tests avec différentes valeurs pour voir celles qui marchent le mieux avec ce modèle de moteur (ex. dans le bloc de config,  4096 ou 2048 en nombre de tours par révolution fonctionnent toutes deux, laquelle est la plus intéressante) ;
4 - ajouter un bloc où l'enfant renseigne un numéro de tour ;
5- tester avec les enfants pour voir si d'autres méthodes - améliorations seraient  plus pertinentes ;
6 - mettre les traductions dans fr.js ;
7 - mettre les traductions dans en.js.
#13
Salut,

Merci pour ton retour, bien vu pour les liens.

Pour le bloc de config je me demande ce qu'il faudrait mieux mettre, que penses-tu qu'on ne puisse l'emboiter ni par en haut, ni par en bas ? Je ne sais pas trop, on dirait que pour les blocs de configs on retrouve un peu des deux dans blockly at arduino.
#14
Bonjour et meilleurs vœux à vous 2 :)

Merci beaucoup Seb pour ces corrections et intégrations. BuchiProf on a planché en même temps sur la même chose :)

Impeccable pour le moteur pas à pas existant, maintenant donc les pins sont bien pris en compte. Je ne peux pas aller plus dans les tests matériels car je n'ai pas de moteur pas à pas bipolaire, seul à pouvoir fonctionner avec 2 pins de config si j'ai bien compris.

Pour le nouveau moteur :
* Merci de l'avoir ajouté :)
* Bien joué pour qu'il n'y ait plus le void qui apparaisse, je vais regarder en détail pour mieux comprendre.

Les 4 prochains objectifs sur lesquels je vais essayer de m'atteler :
- comme BuchiProf, faire qu'il soit possible d'utiliser 2 moteurs pas à pas en même temps (piste 1 : créer 2 blocs un avec par défaut moteurG, l'autre moteur D - piste 2 : utiliser un seul bloc que l'on peut mettre plusieurs fois, et changer sa variable sans que cela bug comme c'est le cas actuellement) ;
- mettre les traductions dans fr.js ;
- tester avec les enfants pour voir si d'autres méthodes - améliorations seraient  plus pertinentes (ex. l'enfant renseigne des tours au lieu du nombre de pas) ;
- faire des tests avec différentes valeurs pour voir celles qui marchent le mieux avec ce modèle de moteur (ex. dans le bloc de config,  4096 ou 2048 en nombre de tours par révolution fonctionnent toutes deux, laquelle est la plus intéressante)
#15
Bonjour à tous,

Tout d'abord un grand merci à Seb et à ceux qui l'ont aidé pour mettre ce projet en place.

J'essaie de mettre en place des blocs pour utiliser un moteur pas à pas 28BYJ-48 avec un driver ULN2003A.

Je débute dans les moteurs pas à pas, blocky@rduino et javascript et dans github... ce n'est donc pas très évident pour moi :)

ça avance un peu quand même, mais voici ce qui me bloque actuellement :

Quand on dépose un de ces 3 blocs créés, un void nomdelinstance ; qui est créé dans le code arduino, ce qui rend la compilation dans arduino impossible, et ce que d'autres blocs ne font pas.

J'aimerai savoir comment empêcher cela.

Voici quelques infos :

Accéder au résultat actuel : http://developpements.open-elearning.fr/contrib-blockly-at-arduino/

Choisir français > Arduino Nano > Configurer les blocs > tout > Moteurs pas à pas > ce sont les 3 blocs avec des images.

Glisser déposer un de ces 3 blocs, et un vilain void moteurPap1; apparaît dans le code arduino.

Voici les 2 principaux fichiers :

https://github.com/openelearning/Blockly-at-rduino/blob/gh-pages/blocks/unipolar_stepper_motor/unipolar_stepper_motor.js

https://github.com/openelearning/Blockly-at-rduino/blob/gh-pages/generators/arduino/unipolar_stepper_motor.js

Si quelqu'un a des pistes pour que "void moteurPap1;" n'apparaisse pas, je suis preneur, merci.

Ucino