La semaine dernière, je vous ai présenté un premier article sur l'utilisation d'Arduino Create pour la programmation d'un Raspberry Pi. En peu de temps, et sans difficulté majeure, j'avais fait clignoter une LED branchée au Raspberry Pi en utilisant le célèbre sketch "Blink". Ça s'annonçait plutôt bien.
Aujourd'hui, je vous présente le résultat de quelques autres tentatives de programmation d'un Raspberry Pi au moyen d'Arduino Create...avec des résultats beaucoup moins réjouissants.
Où est la documentation?
Massimo Banzi a annoncé officiellement la possibilité de programmer un Raspberry Pi au moyen d'Arduino Create en mars 2018. Un an plus tard, je ne trouve aucun tutoriel, wiki ou autre forme de documentation sur la façon de procéder: c'est comme si l'équipe d'Arduino Create avait oublié l'existence de l'outil qu'elle a créé!
Pas de problème concernant l'étape consistant à lier votre Raspberry Pi à Arduino Create, décrite dans mon article précédent: il s'agit de suivre les instructions à l'écran, et celles-ci sont claires. Mais ensuite, on se retrouve dans l'éditeur en ligne, avec un sketch vide. Quelles sont les bibliothèques supportées? Quels changements doit-on effectuer dans un sketch initialement conçu pour l'Arduino? Allez savoir...
La page github d'Arduino Connector comporte certaines informations, mais rien de tout ça ne semble vraiment utile lors de la rédaction d'un sketch.
analogRead()
Puisque le Raspberry Pi ne comporte pas de convertisseur analogique/numérique (ADC), il me semble évident qu'un appel à analogRead(A0) n'a pas la moindre chance de fonctionner correctement. Par curiosité, j'ai tout de même compilé, téléversé et exécuté l'exemple "AnalogReadSerial" dans mon Rasberry Pi. Aucun message d'erreur ne m'indique que ce que je demande n'a pas de sens.
Serial.println()
J'étais aussi curieux de savoir si la commande Serial.println() allait permettre d'afficher quelque chose dans le "moniteur série" d'Arduino Create, malgré le fait que le Raspberry Pi n'est pas branché par USB.
Le moniteur est disponible, et réglé à mon Raspberry Pi ("Cloud Device: RaspberryPi2"). Il n'y a pas de menu permettant de régler la vitesse de communication (baud rate), toutefois.
Rien ne s'y affiche pendant l'exécution de mon sketch.
Lorsque mon Raspberry Pi est éteint, Arduino Create se donne la peine d'annoncer que le port série n'est plus disponible (donc il aurait dû fonctionner avant, non?).
Puisqu'il semble impossible de recevoir ces messages dans le moniteur série d'Arduino Create, j'ai tenté de les capter au moyen d'un convertisseur USB/série branché à la broche GPIO14 du Raspberry Pi: je n'ai rien capté.
Pourtant, la communication UART est activée dans les réglages de mon Raspberry Pi, et je suis capable d'émettre des messages UART sur la broche GPIO14 grâce à un script en Python.
Conclusion: ou bien j'ai fait quelque chose de travers, ou bien Serial.println() ne fonctionne pas.
(Ici, mon enthousiasme vient d'en prendre un coup: programmer un sketch Arduino sans pouvoir récupérer d'informations par communication série, de mon point de vue, c'est un peu comme jouer au tennis avec les yeux bandés.)
Un afficheur?
Pendant que j'y suis, dans l'espoir de faire fonctionner quelque chose aujourd'hui, j'ai aussi tenté d'afficher un bout de texte sur un écran LCD 16 X 2 branché au Raspberry Pi. La bibliothèque LiquidCrystal est disponible par défaut dans Arduino Create, ça aurait donc dû être facile...
Résultat: rien du tout. L'afficheur fonctionne pourtant correctement lorsque je le contrôle au moyen d'un script en langage python.
Conclusion: non merci!
Programmer un Rasperry Pi avec Arduino Create, oublions ça! Tout ce que j'ai réussi à faire, c'est faire clignoter une LED. Toutes mes autres tentatives ont été vaines.
Si vous avez plus de succès, n'hésitez pas à nous le faire savoir en laissant un commentaire ci-dessous...
Yves Pelletier (Twitter, Facebook)
Aucun commentaire:
Enregistrer un commentaire