Comment une nouvelle partie est ajoutée au programme de l’Hubibox

Dans un premier temps, je réfléchis à l’algorithme du programme et effectue des recherches. Ensuite je commence à produire les premiers graphismes. Ils sont dérivés des précédents, pour coller à l’aspect général.

Ces éléments en main j’écris la structure de base du code de cette partie qui est directement incluse dans le code existant de l’Hubibox. Je tends alors de plus en plus vers mon idée en écrivant de plus en plus des lignes de code. Je teste petit à petit le fonctionnement, débusque les bugs les plus déroutants. Trouve des solutions pour un bon fonctionnement de l’ensemble. Généralement je peaufine ou j’ajoute des graphismes.

J’essaye toujours d’aller à l’essentiel. Je suis seul pour réaliser mon idée, et souvent de nombreuses heures sont nécessaires. J’entrecoupe souvent ces séances de réalisations. C’est mon véritable boulot qui fait la coupure. Et au final certaines journées sont très longues. Le tout est de pouvoir terminer l’idée, la partie concernée. De nombreux développeurs amateurs se lancent des défis trop importants et ne terminent jamais leur projet.

La musique est produite en cours de réalisation. Elle aide et encourage la création. Une fois écrit le code est à tester de nombreuses fois. L’ordinateur insulte de ses messages signalant les erreurs. Le débogage n’est pas facile, comprendre ce qui cloche et converser avec un ordinateur demande beaucoup de pratique et de sang-froid. Cette étape fastidieuse est plus agréable lorsque la musique est en place. Dans d’autres parties comme les diaporamas je produis la musique à la fin.

Tout ce temps passé, est du temps de ma vie. Et j’ai beaucoup de choses à faire. Ce ne semble pas être un gros projet et pourtant il consomme des heures. Comme c’est le travail d’une seule personne. Il me ressemble. Un programme d’auteur.

Le Raspberry 4 est sorti

La célèbre ‘carte ordinateur’ est mise à jour et je la testerai en embarquant le programme de l’Hubibox. Le processeur central est plus rapide, le processeur vidéo également, mais ce qui m’intéresse plus particulièrement c’est la Ram. Ainsi j’ai opté pour une carte de 4 Go contenue dans un petit boitier. Elle est déjà en rupture de stock. Je l’ai commandé en vue de tests en septembre. Le programme ne lisait pas les vidéos sur les précédentes versions. Espérons que je trouverai une solution pour combler cette lacune.

Retour sous Android

J’ai repris une grande partie du code de la borne, zut, l’Hubibox pour changer l’accès au dossier des données. De ce fait elle fonctionne également sous Android. Cette version est similaire à la version Windows en ce qui concerne la lecture des vidéos (oui çà fonctionne !). Je l’ai testé sur ma box Android Ugoos 2Go de Ram qui est connectée à ma TV. Le dispositif de pointage est la souris-télecommande sans fil. Pour cette configuration j’ai désactivé les passerelles bluetooth écrite en c++ (pas de Robot ou Boite à cadeaux). C’est assez véloce.

J’ai également testé sur une Box Android sur laquelle était installée une des premières versions. Et tout fonctionne à merveille.

Rotule rotation horizontale.

Je réalise une rotule automatique pour mon trépied vidéo. L’idée est de réaliser un rotation horizontale souple. Une Arduino nano est couplée à un servomoteur. Un module bluetooth permet l’utilisation de mon téléphone portable en sans fil pour commander la rotation. Le tout est alimenté par un bloc de piles.

Le 09.05.2019

Finalement la solution du servomoteur ne convenait pas . Le couple était largement satisfaisant mais le déplacement était trop trop rapide. Impossible de ralentir tout en conservant un mouvement souple. Du coup virage vers une autre solution:

J’ai remplacé le servomoteur par un moteur continu et sa roue (en jaune). Au dessous de la plaque pivotante – sur laquelle est placée le caméscope – se trouve une poulie de diamètre plus important. Le mouvement est fluide. J’ai la place de poser mon téléphone qui commande le dispositif sans fil. La je suis dans l’attente de la livraison d’un bloc de 6 piles et d’une vis de fixation pour le caméscope.

Du côté de Linux

J’ai changé le système d’exploitation de l’ordinateur du meuble. J’ai opté pour du Linux, plus précisément Ubuntu. La raison de ce changement est la fin des mises à jour de sécurité et du support de Windows 7 en janvier 2020. Du coup, j’ai évidemment testé le programme de la borne.

Déjà, j’ai été surpris de l’évolution des interfaces graphiques de Linux. Gnome se rapproche du traditionnel bureau de Windows 7. Le programme fonctionne parfaitement, enfin presque. Une fois de plus, la lecture des vidéos est problématique.J’ai adapté le code pour pouvoir lancer un programme externe : VLC. Impossible d’inclure les vidéos au plus près du programme comme c’est la cas sous Windows. C’est moins propre, mais ça fonctionne. Ubuntu est une distribution gratuite au contraire des systèmes Windows.

Tout le reste fonctionne bien. Ensuite il faudrait écrire une version linux des programmes passerelles en c++ qui communiquent avec la BorneBox ou le BorneBot. Ce qui relève d’un nouveau challenge. Et je me pose la question si j’investis du temps ou pas la dessus.

Meuble modifié

J’ai modifié le devant du meuble qui contient l’écran tactile et l’ordinateur. Il intègre un joystick type arcade et des boutons. J’ai modifié le code du programme de la borne en conséquence, c’est fun de s’amuser avec Pacmaze ou Tetrixe. Je me laisserai bien tenter par la réalisation d’un Galaga like ou Frogger un de ces jours.

02.04.2019

Je me suis laissé tenter par une séance de retro-gaming. J’ai installé BlueMSX sur le Windows et j’ai pu rejouer à Bosconian. Un jeu de tir culte des années quatre-vingt ! Et tous les autres jeux de ma jeunesse. Le meuble et la manette ont bien résisté aux parties de ‘Nemesis’.

BorneBot

J’ai finalement changé de nom. Alimenté par piles, il est équipé de deux petits moteurs, d’un module Bluetooth (HC05) et un détecteur d’obstacle à ultra-sons (HC-SR04)

J’ai consacré beaucoup de temps à la réalisation du châssis en bois, à percer avec précision pour l’assemblage, à découper des planches et des petits tasseaux. Deux jours assez intensifs, histoire d’obtenir ce que je m’imaginais.

Aujourd’hui, j’ai réalisé une première version qui commande le robot dans le programme de la borne. Un temps record pour écrire ce morceau de code conséquent.

Il est possible de commander directement le ‘bot’ avec le BornePad ou de lancer une série d’instructions pré-programmées. Par exemple ‘a005’ signifie ‘avancer pendant 5 secondes’.

Les tests se sont opérés sur le ‘bot’ relié par un long câble USB. J’ai effectué d’énormes recherches et des tests pour pouvoir enfin activer le module Bluetooth sans fil.

J’ai réussi à commander le Robot depuis mon smartphone connecté en Bluetooth. Sous Windows et au travers du programme de la borne ça été plus laborieux. Cela semble fonctionner bien que d’autres tests soient nécessaires (HC04 et HC05).

29.03.2019

Le BorneBot est passé à quatre roues et a été vernis. Un petit servomoteur lève le drapeau sur commande. J’en ai profité pour nettoyer le code des programmes. Je voudrais réaliser un pourtour en carton décoré.

le 11.05.2019

J’ai démonté le BorneBot. La carte Arduino a cramé lorsque j’ai souhaité augmenter la capacité de l’alimentation. Je pense que le servomoteur coincé à également provoqué la panne.

Au départ je voulais passer à 9V mais il y a eut une erreur de livraison sur la taille du bloc de piles. J’ai commencé à utiliser des piles bon marché neuves sans problème. Mais le remplacement par des piles de marques – elles au bon voltage – à provoqué une surtension.

Je ne me servais pas trop du BorneBot en fait. Il a surtout été une passerelle pour comprendre de nouvelles choses (dont la liaison sans fil, les moteurs, le code …). Le passage à quatre roues n’était pas une bonne idée pour sa maniabilité.

J’ai ré-assemblé le modèle du kit de base à trois roues sur sa plaque de plexiglas. J’attends un autre module Bluetooth, mon HC06 semble HS.

Projet BorneCar

Je souhaite réaliser un véhicule commandé via le programme de la borne avec le BornePad ou autre.

Le 24.02.2019

Premiers tests de connexion sans fil en bluetooth. Merci à la communauté française arduino pour son aide : https://forum.arduino.cc/index.php?topic=599594.0

Le programme de la borne est capable d’allumer et éteindre une led de la carte en bluetooth.

Le 13.03.2019

Premier essai avec les pièces reçues

La DLL fonctionne !!!

Etre codeur c’est avoir beaucoup d’espoir, une grande patience et surmonter de nombreux soucis et défis techniques.

Après des échanges très techniques avec les autres développeurs internationaux d’AgkGameKit, des heures de recherche, j’ai pu réaliser ma propre extension (dll) pour mieux commander les cartes Arduino. Le programme passe des commandes directement à la carte et c’est vraiment génial.

https://forum.thegamecreators.com/thread/223809