Point sur le projet...


Le boitier abritant la carte MKS a été repensé en positionnant les composants face à l’intérieur de la monture. Cela m’a permit de placer tous les connecteurs en bas mais aussi par la suite de dégager de l’espace pour le passage de l’encodeur de l’axe R.A...


La tension d’alimentation est maintenant régulée par un Pololu S18V20F12 12V Step-Up/Step-Down (récupération de mon tout premier proto) mis en boiter avec interrupteur...


Et pour finir j’ai revu le boitier du PI Zero du proto de viseur polaire en l’inclinant de 90° pour un accès plus pratique aux ports par le dessous...

Restera à voir le connecteur du câble du moteur de mise au point du CN-212 qui dans l’immédiat est encore câblé directement en interne sur la carte. Je pense partir sur du RJ-9 histoire d’avoir quelque chose de compact.
Avancée de l'interface de JARVIS
https://www.youtube.com/watch?v=YOFlksQ5o74Le format paysage me contraint à revoir complètement l'interface de navigation que j'avais imaginé pour l'écran de l'ancien prototype mais cela devrait être d'autant plus confortable à l'usage.
Le retour de ScreenView:
Ceux qui suivent le projet depuis un moment, auront sans doute noté que l’interface rappelle la librairie ScreenView que je vous avais présenté mi 2017. Et pour cause puisque c’est elle que j’utilise. Je l’ai adaptée pour supporter l’écran 4,3’’ sur Arduino Due. Et avant qu’on me pose la question: oui je pense la partager lorsqu’elle sera assez avancée et stabilisée. ;)
Articles connexes:
- Aperçu bibliothèque C++ ScreenView
- Aperçu bibliothèque C++ ScreenView (2)
Nom de code: EM-10 JARVIS
Pour faire court, on a deux options au niveau librairies:
- Adafruit_RA8875
- sumotoy/RA8875
J’ai tout d’abord testé la première mais impossible à l’usage de charger de nouvelles polices de caractère. C’est d’autant plus dommageable que la police par défaut est trop grande. On doit aussi constamment jongler manuellement entre mode texte et mode graphique ce qui est pénible.
J’ai donc opté pour celle de sumotoy. Tout allait pour le mieux jusqu’au moment où j’ai inséré ma carte micro SD pour m’attaquer à l’affichage de l’image de démarrage du projet. Et là catastrophe! Les performances s’écroulent et le tactile ne fonctionne plus. :/
Après moult lectures et notamment les discussions animées par sumotoy il semblerait bien que cet écran souffre du « MISO bug » découvert par Paul Stoffegen:
«There's another **hardware issue on MISO** that's a problem only if you are planning to use any other SPI devices together with RA8875 (example, the SD card holder!), Paul Stoffregen discover the MISO bug that it's not tristate»
https://github.com/sumotoy/RA8875/wiki/RA8875-chip-BUGS!
Bref! Il faut encore que j’investigue mais c’est moyen cool! Dans l’immédiat, j’ai décidé d’avancer malgré tout en intégrant mon image de boot en mémoire flash. Cela fonctionne, c’est relativement rapide côté affichage mais cela monopolise beaucoup de mémoire.
Alors bienvenue à JARVIS, le cerveau de mon projet...
Just A Rather Very Intelligent System... 🤪
Tony Stark: "Jarvis, where's my flight power?!"
Jarvis: "Working on It, sir. This is a prototype."
Amélioration de la librairie adafruit RA8875
https://github.com/MarScaper/Adafruit_RA8875
Le tactile a été revu avec une fifo circulaire afin de réaliser une moyenne glissante pour limiter le bruit...
https://www.youtube.com/watch?v=gKrekKUhyoYEnjoy folks! :)
L'écran tactile de mes rêves...
https://www.ebay.com/itm/Serial-SPI-4-3-inch-TFT-LCD-Touch-Shield-for-Arduino-Due-MEGA-2560-Uno-w-Library-/291873847671
Sur la base de cette écran, mon idée est de réaliser une raquette de commande qui ressemble un peu à une console de jeux portable en format paysage. L’écran est piloté par un Arduino Due 32 bits ARM afin d’offrir plus de liberté qu’une carte Arduino MEGA. Avec 84Mhz et 96Ko de SRAM le Due est l’Arduino le plus puissant du moment. Je vais pouvoir faire des folies!
Après la Nintendo Switch voici la naissance de l’Astro Switch... ;)
La puce GPS de l’ancien prototype va être réimplantée dans la raquette...
Un aperçu de l’adaptation de l’abaque numérique de l’EM-10 calé sur les données de la puce GPS (lumière bleue à l’intérieur du boitier)...
Amélioration de l'écran tactile TFT 400x240
Un coup de Dremel plus tard, on récupère l’accès aux entrées/sorties A6 à A15 et 14 à 21…
Côté PCB, pas de problème pour la découpe puisque aucune piste ne passe par là. Il faut juste faire attention à ne pas toucher l’écran avec la mini scie circulaire du Dremel.
L’amélioration est très intéressante car on récupère l’accès à 18 entrées/sorties! Dans mon cas, l’accès aux liaisons séries 1, 2 et 3 va être tout particulièrement utile. Je vais ainsi pouvoir connecter la puce GPS et la puce Bluetooth en hardware. :)
Et pour finir un aperçu du prototype actuel démonté et placé sur un support bricolé et décoré avec ma fille (on ne voit pas bien sur la photo mais il y a des planètes et des étoiles dessinées)…
Pour rappel, le lien vers l’écran TFT 240x400 (7,31€):
http://www.volumerate.com/product/open-smart-touch-screen-expansion-shield-w-touch-pen-for-arduino-450238
Test d'un écran tactile TFT 400x240
http://www.volumerate.com/product/450236

Par rapport au Kuman K60 2.8’’, j’aime:
- Ecran plus grand.
- Résolution de 400x240 contre 320x240 pour le Kuman.
- Meilleur contraste et meilleur angle de vue que le Kuman. On l’aperçoit sur la photo, le Kuman vire vite au bleuté dans les noirs dès qu’on est pas dans l’axe.
- Affichage plus rapide (environ 2x) que ce soit en dessin vectoriel ou lors du chargement de bitmaps depuis une carte micro SD.
- L’écran chauffe moins que le Kuman.
- On dispose d’une sonde de température LM75 intégrée.
- Malgré le gain en taille, ce modèle n’occulte pas les ports supérieurs du Mega...
Maj du 25/06 : le nouvel écran permet aussi l’accès au buffer d’affichage contrairement au Kuman. Il m’est ainsi possible de faire des captures d’écran en bmp sur la carte micro SD… :)
Ebauche de viseur polaire (mode nuit à gauche et mode jour à droite).
Ecran déporté de débogage via Bluetooth

Et voici le résultat en vidéo…
https://www.youtube.com/watch?v=Eh7B9osfDkk
Note pour plus tard: plus j’y pense et plus je me dis qu’à terme cela pourrait être assez classe d’avoir un petit écran d’abaque numérique pour le viseur polaire. On allume l’écran. On l’approche de la monture. Il se connecte en Bluetooth et à partir des informations GPS nous affiche automatiquement l’emplacement de la polaire dans le réticule.
Amélioration des performances de l'écran TFT
https://www.youtube.com/watch?v=Tjh4EQe2xGI
Optimisation:
- Librairie SD de base remplacée par SDFat qui offre de meilleurs performances.
- Modification de la méthode pushColor() de la classe Adafruit_TFT afin de permettre l’usage d’un buffer de pixels supérieur à 256. On peut ainsi allouer toute la largeur d’une image plein écran de 320 pixels.
- Les fichiers bitmap 24 bits sont remplacés par de vrais fichiers bmp 16 Bits. On évite ainsi tout besoin de conversion pour l’écran 16 bits.
- Les fichiers bmp sont aussi préalablement retournés haut/bas du fait de l’origine inversée entre le format bmp et l’écran. Ainsi on peut se déplacer linéairement lors de la lecture (pas besoin de seek).
Au final les performances sont améliorées d’un facteur 3x pour de l’affichage bitmap. :)
Ecran TFT or not écran TFT?
https://www.amazon.fr/gp/product/B01C3RDFN6/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
L’écran offre une résolution de 320x240 en 16bits (65535 couleurs). Au dos on trouve un lecteur de carte micro SD. Et pour le tactile c’est du résistif on ne peut plus commun. Alors autant le dire tout de suite, pour 14€ ce shield est une plagia pur et simple du produit proposé par Adafruit…
2.8" TFT TOUCH SHIELD FOR ARDUINO WITH RESISTIVE TOUCH SCREEN
D’ailleurs, Kuman fournit le code source du driver sur demande uniquement par mail. Et pour cause, c’est une version à peine modifiée du code proposé par Adafruit. Sacrés chinois!!!
Les plus:
- Shield plug & play.
- Pas cher.
- Lecteur de carte SD intégré.
- Qualité d’écran très correcte notamment en mode portrait.
Les moins:
- Performance d’affichage assez limitées.
- Utilise quasiment toutes les connections d’un Arduino Uno.
- Angle de vue optimisé pour un affichage portrait ce qui devient désagréable visuellement si on préfère un usage en mode paysage.
- L’usage en simultané des librairies pour l’affichage, le tactile et la carte SD consomme quasi entièrement les 32Ko de stockage. L’usage d’un Arduino Mega n’est donc pas du luxe.
Astuce: le remplacement de la librairie SD par la librairie SDFat permet un gain substantiel: l’usage de la mémoire Flash est plus réduit (environ 9% sur un Uno) ainsi que l’usage de la SRAM et les performances sont sensiblement améliorées.
Dans l’immédiat, je ne pense pas utiliser cet écran TFT pour la raquette de commande mais il pourrait être pratique pour concevoir une console de débogage déportée avec une connexion Bluetooth.