Hi everyone !
Bonjour à tous ! (version en français ci-dessous)
Recently, I've worked on creating a detailed french assembly instructions for Nybble, with assembling tips and videos. As it is for french speakers, I'll explain it in French :
Récemment, j'ai travaillé sur une notice de montage détaillée, en français, pour assembler Nybble !
Vous y trouverez des détails et astuces de montage. Chaque étape est illustrée en vidéo.
Vous trouverez des informations supplémentaires sur ce lien : https://www.hackster.io/lilieboizumault/nybble-petoi-notice-de-montage-astuces-francais-31476a
Cette notice a pour but de permettre à tous les francophones de pouvoir se servir de Nybble, même sans comprendre l'anglais et en étant débuttant alors n'hésitez pas à partager !
Lilie
Merci beaucoup pour ton travail. Je vais monter mon Nybble pendant les vacances de Noel en me basant sur cette doc en français et gratuite. La partie Raspberry Pi est bien traitée avec vidéo de montage et mise en oeuvre et c'est ce qui m'intéresse le plus 😺
Je suis super contente que ça te plaise et que ça serve ! N'hésite pas à me donner un retour sur la notice quand tu auras terminé :)
J'ai aussi passé les cours de tous mes ateliers en public, tu les trouveras sur le Moodle si tu es intéressé.
Retour partiel, j'ai passé la journée d'hier à m'organiser pour juste monter la tête et le cou. Jusqu'ici j'ai trouvé ta documentation très claire et facile à suivre. C'est très pertinent de traduire une doc vidéo. Je suis habitué à lire de l'anglais, mais pour une vidéo à suivre pendant qu'on réalise soi-même le travail, c'est une aide réelle de comprendre sans aucun effort. Comme tu vois j'ai fait un travail de peinture préalable d'où le délai. A bientôt pour la fin du montage 😃
Pour ceux qui seraient intéressés : le cursus de robotique en français est entièrement disponible gratuitement ! Un cours détaillé qui va jusqu'à implémenter de la détection d'obstacles dans le code, ajouter une caméra sur Nybble et un microphone ! Plus de détails ici ==> https://www.hackster.io/lilieboizumault/opencat-classroom-un-cursus-de-robotique-pour-francophones-7dfc51
Bon j'ai terminé l'assemblage et grâce à cette documentation ça s'est plutôt bien passé merci!
J'ai juste une question sur les différences de branchement avec ou sans raspberry pi.
J'ai fait les branchements moteurs suivant le schéma 'avec Raspberry Pi' mais lors de la calibration le programme s'attend à des branchements suivant le schéma 'sans rPi'. Par exemple l'épaule arrière gauche c'est l'articulation 11. Branchée sur la broche 9 sans rPi et broche 11 avec rPi. Ma commande C11 2 n'a aucun effet et si je fais C2 2 là le moteur bouge car la queue (articulation 2) est branchée sur la broche 11 sans l'autre schéma.
Est-ce qu'il y a des constantes à modifier sur les programmes ou bien dois-je remettre en place la Raspberry Pi pour faire l'étalonnage?
Hi, You can change the pin mapping in OpenCat.h:
The position of the element is the joint index. While the number at the position is the physical PWM pin number on the NyBoard corresponding to different versions.
For example, on NyBoard_V0_2, the 9th element in pins[] array is indexed as 8, and the pin number is 6. That means the left shoulder servo (indexed as 8 in the program) is connected to the PWM pin 6. You can move the joint to 30 degrees by "m8 30".
Oups ! C'est bien ça, j'ai oublié d'indiquer dans le cours de changer l'attribution des pins. Je suis désolée, je l'ai modifié : tu trouveras le bon pin[] à écrire dans OpenCat.h, merci de ton retour ! Thanks @Rongzhong Li that's exactly the issue, I forgot to write it on the course apparently but now it's correct.
Ah great thank you the two of you :) . Et au passage pourras-tu dire dans le cours pourquoi il est nécessaire d'avoir un mapping différent quand on utilise une Raspberry Pi?
Probably due to the short cables of the shoulder servos? The supplier has some variant errors, still my bad...
Exact, à cause du support du corps pour le montage avec Raspberry, la carte NyBoard est trop loin pour pouvoir brancher les servomoteurs des "épaules" aux pins initialement prévus, c'est pour ça que j'ai dû modifier l'attribution des pins
Bonjour,
Tout d'abord merci à toi Lilie Boizumault pour tes tutos qui m'ont permis de me dépêtrer de beaucoup de problèmes lors du montage.
Par contre là je suis bloqué on parle ici et là de V0_1 et de V0_2 mais sur la NyBoard que j'ai c'est écrit V1_0... Du coup je ne sais pas comment brancher les câbles... Marron vers le haut ou vers le bas, et quels connecteurs...
Et aussi le lien suivant ne mène nul part https://docs.petoi.com/v/francais/chapter4#4-2-telechargements-et-installations du coup je ne sais pas comment faire la procédure décrite dans cette page: http://moodle.coden.bike/mod/book/view.php?id=12&chapterid=21
Si vous pouvez m'aider, ce serait formidable.
Hi, we have upgraded the circuit board to NyBoard V1_0. You can connect the cables to the same position as before, no need to read the pin numbers on the board. More detailed instruction will be posted to docs.petoi.com->Nybble manual.
The previous link to docs.petoi.com is now a central hub for both Nybble and Bittle. You will need to update the old links to nybble.petoi.com.
https://nybble.petoi.com/v/francais/chapter4#4-2-telechargements-et-installations
Sorry for the inconvinience.
@Rongzhong Li Thank you a lot dear Creator ! ;-) No need to read the pin numbers ? It is very convenient but weird... I will check the dos you linked.
I will do a feedback here.
Have a good day.
Bonjour Thomas, Merci pour ton retour j'ai modifié ce que j'ai pu modifier. Malheureusement, le code a également été changé depuis la rédaction du cours. Tu pourras t'inspirer de la notice que j'ai écrite, mais il faudra certainement t'adapter au nouveau code. Je suis désolée pour ça.
Bon courage pour la suite et fin du montage !
It seems there is a problem in "OpenCat.h" :
Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
In file included from C:\Users\Thomas\Documents\GitHub\OpenCat\WriteInstinct\WriteInstinct.ino:31:0:
sketch\OpenCat.h: In function 'void copyDataFromPgmToI2cEeprom(unsigned int&, unsigned int)':
OpenCat.h:411:30: error: 'WALKING_DOF' was not declared in this scope
frameSize = period > 1 ? WALKING_DOF : 16;
^~~~~~~~~~~
sketch\OpenCat.h: In member function 'void Motion::loadDataFromProgmem(unsigned int)':
OpenCat.h:524:34: error: 'WALKING_DOF' was not declared in this scope
frameSize = period > 1 ? WALKING_DOF : 16;
^~~~~~~~~~~
In file included from sketch\OpenCat.h:85:0,
from C:\Users\Thomas\Documents\GitHub\OpenCat\WriteInstinct\WriteInstinct.ino:31:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h: In member function 'void Motion::loadDataFromI2cEeprom(unsigned int&)':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
In file included from C:\Users\Thomas\Documents\GitHub\OpenCat\WriteInstinct\WriteInstinct.ino:31:0:
OpenCat.h:554:34: error: 'WALKING_DOF' was not declared in this scope
frameSize = period > 1 ? WALKING_DOF : 16;
^~~~~~~~~~~
sketch\OpenCat.h: In member function 'void Motion::info()':
OpenCat.h:613:50: error: 'WALKING_DOF' was not declared in this scope
for (int k = 0; k < period * (period > 1 ? WALKING_DOF : 16); k++) {
^~~~~~~~~~~
C:\Users\Thomas\Documents\GitHub\OpenCat\WriteInstinct\WriteInstinct.ino: In function 'void loop()':
WriteInstinct:470:60: error: 'WALKING_DOF' was not declared in this scope
firstValidJoint = (motion.period == 1) ? 0 : DOF - WALKING_DOF;
^~~~~~~~~~~
WriteInstinct:511:29: error: 'WALKING_DOF' was not declared in this scope
int dutyIdx = timer * WALKING_DOF + jointIdx - firstValidJoint;
^~~~~~~~~~~
exit status 1
'WALKING_DOF' was not declared in this scope
Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
One note, you need to choose Arduino Uno for NyBoard V1_0. I'm not sure about the other error, could you take a screenshot so that the message is properly highlighted? It might be some problem in the path setting.
Yes I can ! :)
WALKING_DOF is defined in OpenCat.h by
while NYBBLE is defined at the beginning of InstinctNybble.h.
If you are running Nybble with NyBoard V1_0, check if you have set the configuration correctly in OpenCat.h as:
I set correctly the configuration in OpenCat.h (I didn't saw that I had to chose between Bittle or Nybble).
The problem with WALKING_DOF is canceled. Thanks.
Are these sentences a problem ?
->
In file included from sketch\OpenCat.h:85:0,
from C:\Users\Thomas\Documents\GitHub\OpenCat\WriteInstinct\WriteInstinct.ino:31:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h: In member function 'void Motion::loadDataFromI2cEeprom(unsigned int&)':
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h:68:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src/Wire.h:65:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
It looks fine as long as it's not errors.
I thank you a lot. I am just waiting the batteries delivery to continue. :-)