TCTEDG (ou The Cheapest Target Electronic Dart Game) ou RaspyDarts – STANDARD

TCTEDG (ou The Cheapest Target Electronic Dart Game) ou RaspyDarts – STANDARD

Rémi Delcelier 17 juillet 2020
Print Friendly, PDF & Email

Version du tutoriel

DateAuteurTypeVersion
29/06/2020Rémi D.Création0.0
30/06/2020Rémi D.Modification1.0
03/07/2020Rémi D.Modification1.1
08/07/2020Rémi D.Modification1.2
16/07/2020Rémi D.Création de la page dans MTC1.2b
21/07/2020Rémi D.Modification et ajout de la partie configuration de pyDart1.2b
31/07/2020Rémi D.Ajout de la gestion des boutons physiques + configuration de pyDart (image, font, etc) + gestion des boutons physiques + gestion des droits utilisateurs et choix de la sessions automatiquement au démarrage1.2c
01/09/2020Rémi D.Nettoyage du tuto principal + Création de deux nouveaux tuto (Extension GPIO et Ledstrip)1.3
24/09/2020Rémi D.Nettoyage du tuto principal + Création de l’image “toute faite”1.4

Remerciements

Ça ne se fait pas toujours, mais je tiens à remercier mes trois relecteurs de pré-version du tuto « Frédéric Vicente », « Anthony Matray », « JP Renaud », « Vinz Oué » et « Dimitri Pierret ».

Mais aussi tout ceux de notre groupe Messenger dartcab !

Présentation du TCTEDG

Hormis le nom qui déboite grave, The cheapest target electronic dart game (en bon français : La cible de fléchette électronique la moins cher), c’est un petit projet qui s’est vu naître sur la page du groupe « Monte ton cab ».
Bref, le domaine de la cible de fléchette connectée est vaste, allant de 150€ à plus de 450€… Un coût non négligeable pour se faire plaisir entres amis, alors qu’une cible électronique chez Décathlon coute, pour la moins cher, 20€…
Je me suis donc penché sur « Comment t’y qu’sa peut ben fonctionner une cible ? »
Après quelques démontages de cible électronique, je me suis aperçu qu’il s’agissait « toujours » de la même chose, donc quoi de mieux pour récupérer les infos… Un Raspberry pi ! Coup de bol, j’ai des Raspberry de dispo !
Autre chance, les cibles semblent fonctionner comme fonctionne les claviers, j’entends par là, il s’agit d’une matrice et l’on pourra récupérer le tout via les GPIO du Raspberry (ne vous inquiétez pas, j’y reviens après).
Il nous faudrait quelques résistances pull-down aussi, mais qu’est-ce donc ? Pareil, lisez de nouveau « l’entre parenthèses » du dessus !
Il va nous falloir un petit peu de code, des petites lignes de commande et ça fait « bim bam boum ».
Juste avant, ce tuto s’oriente précisément sur les cibles ayant des nappes 10 + 7 (et encore plus précisément sur la cible Décathlon à 20€) ; Frédéric cité plus haut m’a fait remarquer que sur ses cibles à lui (plus ancienne que les miennes) il avait des nappes 8 + 8 ; j’ai eu beau démonter des cibles plus récentes, je ne suis pas tombé sur ce cas. Je regarderais par la suite pour le mappage de ces nappes.
Bon assez de bla bla pour remplir la première page, rentrons dans le sujet !

RASPBERRY PI, GPIO, PULL-UP/PULL-DOWN, MATRICE

RASPBERRY PI, kézako ?

TOUT DROIT SORTI DE L’IMAGINATION D’UN CONCEPTEUR DE JEUX VIDEO NOMME DAVID BRABEN ET DE SA FONDATION, RASPBERRY PI FOUNDATION, LE RASPBERRY PI EST UN NANO-ORDINATEUR DE LA TAILLE D’UNE SIMPLE CARTE DE PAIEMENT ET QUI ETAIT INITIALEMENT DESTINE A FAVORISER L’APPRENTISSAGE DE L’INFORMATIQUE CHEZ LES JEUNES. PRESENTATION D’UN CONCEPT PLUS QU’INNOVANT.

Le Raspberry Pi (RPI pour les intimes) est une curiosité technologique des plus fabuleuses. En effet, il s’agit d’un tout petit appareil faisant office d’ordinateur et ayant la forme d’une seule et simple carte mère. Que l’on puisse regrouper dans un espace aussi petit les capacités d’un ordinateur relève de l’ingéniosité et c’est précisément ce que recherchait David Braben en confectionnant le Raspberry Pi. En le souhaitant pratique à manipuler de par sa taille et son faible poids, peu cher et facile à utiliser tout en préservant une très bonne performance de l’ensemble, il désirait offrir aux plus jeunes générations la possibilité de s’initier à l’informatique de manière ludique et efficace. De plus, le fait qu’il soit livré tel quel impose à l’utilisateur de construire peu à peu son ordinateur en ajoutant au fur et à mesure le matériel adéquat pour le faire fonctionner.

Et justement, pour faire démarrer son Raspberry Pi personnel, plusieurs accessoires seront indispensables. Le plus important de tous, une carte mémoire SD ou MicroSD (4 Go ou plus de préférence) permettant d’accueillir le système d’exploitation de l’ordinateur. Sans cela, il vous sera impossible d’utiliser votre Raspberry Pi. Plusieurs systèmes d’exploitation officiels sont d’ailleurs optimisés pour les Raspberry Pi, comme Raspbian, le système d’exploitation de la fondation, ou encore Arch LinuxUn câble d’alimentation USB sera également obligatoire afin d’insuffler l’énergie électrique dont aura besoin le Mini-PC. 

Afin de gagner en esthétique et de le protéger contre la poussière, un boitier dédié à l’ordinateur est par ailleurs fortement conseillé. 

Côté spécifications techniques, le Raspberry est propulsé exclusivement par des processeurs ARM (ARM Cortex-A53 à 1,2 GHz pour le dernier modèle Pi 3 sorti en février 2016). Les premières versions proposaient également 256 Mo de mémoire vive mais cette dernière s’étale désormais jusqu’à 1 Go sur le dernier modèle Pi 3.

La manière d’utiliser son Raspberry Pi est extrêmement simple. Ainsi, différents ports disponibles sur le Raspberry Pi permettront de connecter du matériel indispensable pour pouvoir profiter de l’appareil. Grâce à sa connectique RCA ou HDMI, vous pourrez ainsi brancher votre nano-ordinateur directement à l’écran d’une télévision ou bien à celui d’un moniteur. La liaison HDMI sera bien entendu à privilégier car le son et la vidéo seront tous deux transportés, contrairement à une simple prise RCA.

Les ports USB du Raspberry Pi permettront quant à eux de brancher une souris ou un clavier, même si la dernière version Pi 3 propose désormais le Bluetooth 4.1 et le Wi-Fi 802.11n (!). Pour accéder à Internet, excepté le Wi-Fi sur le Pi 3, le Raspberry Pi propose un port Ethernet pour un câble RJ45. Une fois tous vos périphériques connectés, il vous suffira alors de naviguer sur votre nano-ordinateur et d’en profiter pleinement !

Le Raspberry Pi est donc un produit attirant de par son aspect “geek”, très abordable, simple et rapide à utiliser.

[Merci à Aurélien de me mâcher tout le travail (https://www.fnac.com/Raspberry-Pi-qu-est-ce-que-c-est/cp31961/w-4)]

[Un peu de Wiki lecture https://fr.wikipedia.org/wiki/Raspberry_Pi]

GPIO, kézako ?

Les ports GPIO (anglais : General Purpose Input/Output, littéralement Entrée-sortie à usage général) sont des ports d’entrées-sorties très utilisés dans le monde des microcontrôleurs, en particulier dans le domaine de l’électronique embarquée, qui ont fait leur apparition au début des années 1980. Elles sont placées sur un circuit électronique afin de communiquer avec des composants électroniques et circuits externes. Il peut s’agir de détecteurs ou senseurs pour capter des données, ou encore de contrôler des commandes.

Un connecteur GPIO offre à une carte électronique la possibilité de communiquer avec d’autres circuits électroniques. Le GPIO est très présent dans les domaines de l’informatique, principalement embarquée, l’électronique, l’automatisme, la commande numérique, ou la robotique.

Dans les années 1980 il existait des cartes d’interfaces dédiées à ces ports.

Elle est présente en tout premier lieu sur les cartes comportant des microcontrôleurs, comme l’Arduino et son Atmel AVR ou des cartes proches (PCDuino) ou certaines cartes d’essai à DSP comme les STM32 Nucleo de ST Microelectronics, également compatibles Arduino, ou encore les DSP eux-mêmes comme le TMS320C6474 de Texas Instruments, intègrent des connecteurs ou des instructions spécifiques pour le GPIO. Le Raspberry Pi dispose d’un connecteur GPIO depuis sa première version, lui permettant ainsi d’être utilisé à la fois en tant qu’ordinateur personnel, et à la fois en tant que carte contrôleur pour des applications purement électroniques, à l’image de Stellaris Launchpad. [Je ne réinvente pas la roue et c’est trouvable ici : https://fr.wikipedia.org/wiki/General_Purpose_Input/Output]

PULL-UP/PULL-DOWN, kézako ?

Une résistance de rappel (en anglais pull-down resistor), ou une résistance de tirage (en anglais pull-up resistor), est une résistance dans un circuit électronique, située entre la source d’alimentation et une ligne, et qui amène délibérément cette même ligne soit à l’état bas (0 en électronique numérique) pour une résistance de rappel, soit à l’état haut (1 logique) pour une résistance de tirage. Il est important de préciser qu’il ne s’agit pas d’un type spécifique de résistance : Il s’agit d’une résistance commune. Sa place dans le circuit lui confère ce nom en raison de la fonction qu’elle remplit.

Les résistances de rappel sont normalement utilisées avec des sorties numériques à collecteur ouvert ou lorsqu’il est indésirable de laisser une ligne flottante dans un circuit. Par contre, elles augmentent la consommation énergétique du circuit.

Le niveau logique imposé par une résistance de rappel est parfois appelé niveau faible puisqu’une résistance de rappel ne peut fournir de courant. Un niveau imposé par une sortie active ou un interrupteur est appelé niveau fort. Conséquemment un niveau fort a préséance sur un niveau faible.

[Je ne réinvente pas la roue et c’est trouvable ici : https://fr.wikipedia.org/wiki/R%C3%A9sistance_de_rappel]

MATRICE, kézako ?

Bon, faisons simple, on prend notre petit Larousse et on y trouve :
« Mathématiques : Famille (αij) d’éléments d’un corps K, (i, j) ∈ { 1, …, } × { 1, …, p}, et étant deux naturels, habituellement présentée sous la forme d’un tableau rectangulaire à lignes et colonnes [matrice de type (n, p)]. »

Piouloulou, c’est quoi tout ce charabia ?!? Alors une matrice, est en fait un tableau (comme le morpion) ; il y a des lignes et des colonnes et cela nous permets de déterminer les combinaisons pour savoir ce que l’on dit [cette phrase est vraiment tordue].

Exemple, on crée une matrice qui va nous permettre de déterminer si un utilisateur a tapé sur une lettre et de savoir, en plus, si ladite lettre en question est rouge ou blanche :

Sortie\EntréeABC
Rouge   
Blanc   

Il faudra donc alimenter à tour de rôle les sorties « Rouge » et « Blanc » ; et de suivre veiller quand on récupérera cette alimentation sur les entrées. Puis on indique ce qui est touché (ex : Rouge A, Blanc C, etc).

« Mais dis donc Jamy, ça me rappelle quelque chose ça ?!? » Et si ça vous rappelle quelque chose, vous commencez à comprendre comment tout va fonctionner. Et pour ceux qui n’ont pas le déclic, j’ai ni plus ni moins expliqué comment fonctionne une cible de fléchette ! 

Liste de course

Electronique

Si je ne vous ai pas encore perdu, alors c’est parfait ! On va enfin attaquer les choses sérieuses !

Cible électronique

Pour pouvoir récupérer les différents événements survenus sur la cible, il faut pouvoir accéder aux nappes.

Démonter l’arrière de la cible, plus précisément là où se trouve l’afficheur électronique et le compartiment à pile et/ou l’alimentation.

Dans le cas de la cible Décathlon à 20€, une fois démonté vous devriez voir ceci :

Sur la carte électronique (ici la partie marron), vous devriez repérer là où sont connectées les nappes de la cible. Déconnectées les délicatement, puis au choix, dessouder leurs connecteurs de la carte pour les réutiliser plus tard ou non. La carte électronique reste réutilisable en l’état, dans le cas d’un non dessoudage, en reconnectant simplement les nappes.

La manipulation faite, vous voilà avec vos deux nappes.

Coupez, percez l’arrière du plastique dur du compartiment, où se situe la carte électronique, pour pouvoir libérer et réutiliser les nappes.

ATTENTION de ne pas couper le plastique dur du derrière de la cible, cela pourrait altérer son fonctionnement !

ATTENTION aussi de ne pas détériorer les nappes ! On peut réparer une nappe, mais c’est long, minutieux et bien content quand on n’a pas à le faire !

ATTENTION il existe un ensemble de nappe différente (4+16, 7+10, 7+12, 8+8, 8+9, 8+10, etc). La nappe contenant le moins de fils est la nappe de sortie, l’autre en toute logique est l’entrée. Reste le cas de la 8+8, il faut trouver au voltmètre la nappe de sortie, qui est la seule alimentée sans AUCUN appui sur le zone de la cible. Le Tuto est lui fait avec une nappe 7+10 qui semble plus courante chez les cibles récentes…

Liaison entre la cible et le Raspberry

Maintenant que notre cible est prête, passons à la connexion entre cette dernière et le Raspberry. Si vous vous rappelez de la carte électronique de la cible, les nappes sont connectées à la carte via des connecteurs FFC / FPC et elle envoie de ce fait les informations à la carte.

« Mais dit donc Jamy, j’ai deux nappes, mais à quoi elles servent ? Comment elle fait la carte pour comprendre quelle partie est touchée ? »

Bon petit retour sur notre cible de fléchette…

Voici donc une cible de fléchette, elle est constitué de :

  • Zone compte triple
  • Zone compte double
  • Zone compte simple
  • Zone compte Bulleyes
  • Zone compte double Bulleyes

La cible est numérotée de 1 à 20, la zone « Bulleyes » compte elle pour 25 et en toute logique, la zone « Double Bulleyes » compte pour 50.

Pour aller encore plus dans les détails, il y a 40 zones à valeur simple, 20 zones à valeur double, 20 zone à valeur triple, une zone « Bulleyes » et une zone « double Bulleyes » ; ce qui fait en tout 82 zones de valeur.

Bon comptons le nombre de piste sur nos nappes, 10 pistes sur une et 7 pistes sur l’autre ; ce qui fait en tout 17 pistes ! Mince, j’ai dû me tromper…

Ah, mais je vous ai parlé de matrice au début, non ? Alors détaillons plus la cible !

La détection des fléchettes se fait via les deux nappes (bon je l’ai déjà dit, mais on ne sait jamais). La cible est divisée en deux partie (sauf particularité du Bulleyes et double Bulleyes qui sont rattachées à la zone 11-12 et 14-9) pour la détection des valeurs ; il y a les zones 14-9-DoubleBulleyes, 11-12-Bulleyes, 8-5, 16-20, 7-1, 19-18, 3-4, 17-13, 2-6 et 15-10.

Il y a donc 10 zones, traduire en 10 pistes ; pile-poil le même nombre qu’une des deux nappes, étonnant hein !

Intéressons-nous maintenant au multiplicateur de chaque zone ; les multiplicateurs sont : « Simple », « Double », « Triple » et « Bull ».

Si on compte de nouveau notre cible on obtient 7 multiplicateurs, traduire en 7 pistes ; pile-poil le même nombre qu’une des deux nappes, étonnant de nouveau hein !

Ce qui nous donne notre matrice (« Sup » étant la partie supérieure du découpage de la cible, « Inf » en toute logique l’inverse) :

SORTIE\ENTREE9
14 DoubleBulleyes
12 11 Bulleyes5 820 167 119 183 417 132 610 15
Triple_SupTriple 9Triple 12Triple 5Triple 20Triple 7Triple 19Triple 3Triple 17Triple 2Triple 10
Double_SupDouble 9Double 12Double 5Double 20Double 7Double 19Double 3Double 17Double 2Double 10
Simple_SupSimple 9Simple 12Simple 5Simple 20Simple 7Simple 19Simple 3Simple 17Simple 2Simple 10
BullDouble BullBull        
Simple_InfSimple 14Simple 11Simple 8Simple 16Simple 1Simple 18Simple 4Simple 13Simple 6Simple 15
Double_InfDouble 14Double 11Double 8Double 16Double 1Double 18Double 4Double 13Double 6Double 15
Triple_InfTriple 14Triple 11Triple 8Triple 16Triple 1Triple 18Triple 4Triple 13Triple 6Triple 15

On sait maintenant quels est la valeur et son multiplicateur à l’endroit où la fléchette arrive !

« Dis donc Jamy, on a compris comment fonctionne la cible, on a obtenu notre matrice, maintenant on met comment les nappes sur le Raspberry ?? »

Alors pour le Raspberry, il faut que l’on repère les fameuses « pin GPIO », pour un Raspberry Pi 3 B, voici où elles sont :

On y trouve des pins GND (masse), des pins 5V, des pins 3.3V et des pins GPIO avec certaines ayant double utilité. On aura besoin d’une pin GND et de 17 pins GPIO.

Les numéros correspondent au numéro programmé dans le Raspberry (en couleur, fond orange) et non pas leur placement sur la carte (en fond gris) ; moi je me suis servie de :

TypeNomNuméroCouleur
SORTIEPIN_TRIPPLE_INF2Jaune
SORTIEPIN_DOUBLE_ INF3Vert
SORTIEPIN_SINGLE_ INF4Bleu
SORTIEPIN_BULL17Violet
SORTIEPIN_SINGLE_SUP27Gris
SORTIEPIN_DOUBLE_SUP22Blanc
SORTIEPIN_TRIPPLE_SUP10Noir
ENTREEPIN_9_14_B9Marron
ENTREEPIN_11_12_SB11Rouge
ENTREEPIN_8_55Orange
ENTREEPIN_16_206Jaune
ENTREEPIN_15_1013Vert
ENTREEPIN_2_619Bleu
ENTREEPIN_17_1326Violet
ENTREEPIN_3_418Gris
ENTREEPIN_19_1823Blanc
ENTREEPIN_7_124Noir
MASSEGND39 en fond grisnoir

« Dis donc Jamy, on a compris comment fonctionne la cible, on a obtenu notre matrice, on connait les pins que l’on va utiliser, mais tu n’as toujours pas dit comment on met les nappes sur le Raspberry ?? »

Alors doucement encore un peu, on a effectivement vu la cible, vu les pins sur le Raspberry, voyons maintenant schématiquement ce que l’on veut :

Bon ce n’est pas jolie, mais c’est ce que l’on veut en final !

Bon, mettez votre plus beau fer à souder à chauffer, il va falloir bosser. Pour nos deux nappes, on aura besoin de :

  • 2 plaques de prototypage (ou des breadboards)
  • 17 connecteurs mâles
  • 10 résistances de 560 ohms
  • Soit les 2 connecteurs d’origine des nappes Soit les connecteurs FFC/FPC qu’il faudra recouper délicatement pour obtenir un connecteur 7 et 10 broches (pour info, les connecteurs 8 broches ne gêne pas pour les nappes 7 fils)
  • Des fils de cuivres de couleur Mâle/ Mâle, Femelle/Mâle et Femelle / Femelle
  • Des petits fils de cuivre OU le surplus des pates des resistances pour faire les liaison sur les cartes de prototypage
  • Un voltmètre en position test de continuité pour vérifier les soudures

Nous allons devoir réaliser les deux cartes de liaison entre les nappes et le Raspberry. Il faudra être méticuleux et patient car ça peut être long à faire.

Pour dans toute la partie de réalisation il est important de faire attention au sens des nappes, pour se faire, délicatement avec votre ongle repérez où se situe le « début du rouleau de scotch », une fois repéré le « début du rouleau », le côté conducteur de la nappe est de l’autre côté.

Si on regarde de plus près la nappe on remarque le « début du rouleau de scotch » au niveau du cercle rouge et d’un seul côté de la nappe

Le côté « bombé » du connecteur doit aller sur la face conductrice de la nappe

Connexion entre la nappe et les sorties

Commençons par la carte qui s’occupera des sorties.

Elle recevra la nappe 7 fils, il suffit de souder le connecteur de nappe (en faisant attention au sens du connecteur) avec les 7 connecteurs mâles et de les relier entre eux avec des petits brins de fils (ou directement de souder les connecteurs mâles aux pattes du connecteur de nappe, mais attention à la fragilité).

Schéma ultra simplifié

Résultat final avec carte de prototypage (on distingue le « côté plat » du connecteur de nappe) (ATTENTION j’ai soudé un connecteurs 8 fils pour ma nappe 7 fils, une fois connectée la nappe ne bouge pas)

Connexion entre la nappe et les entrées

Cette carte est un peu plus technique, il faut en plus souder des résistances pull-down pour être sûr de bien détecter quand il y a eu une zone de touchée.

Schéma ultra simplifié

Il faut donc, en plus de vérifier le sens du connecteur et de souder les connecteurs mâles, ajouter les résistances reliées à la masse et prévoir un connecteur mâle pour les relier à la masse (GND).

Bien que les résistances ne soient pas polarisé, il est recommandé de mettre les bagues (dorées ou argentées) dans le même sens, c’est plus facile pour lire leurs valeurs.

Résultat final avec carte de prototypage (ATTENTION j’ai soudé deux connecteurs 8 fils pour ma nappe 10 fils, une fois connectée la nappe ne bouge pas)

Si vous faites attention au photo, vous remarquerez que les connecteurs des nappes sont en « miroir ». Les nappes ont bien souvent leur côté conducteur l’une face à l’autre.

J’ai aussi utilisé une couleur unique par broche et par carte, c’est plus facile pour se repérer.

Vous pouvez vérifier vos soudures avec un voltmètre en position « test de continuité » et débrancher vos fers à souder, ils ont bien le droit au repos maintenant.

Vous pouvez aussi faire votre carte comme ceci

Vous pouvez maintenant connecter les nappes sur leur carte respective et brancher chaque pin sur le Raspberry.

Ajout des boutons physiques

/!\ POUR L’UTILISATION DE BOUTON PHYSIQUE /!\ Cela dépend énormément des nappes utilisées ! Dans mon exemple les nappes utilisent 17 pins, il reste donc 7 pins utilisable pour les boutons physique.

Il faudra noter quelle(s) pin(s) est relié au(x) bouton(x).
Les boutons ont comme fonction :

Action du boutonDescription
PIN_UPFlèche du haut
En mode édition de nom : valide la lettre
PIN_DOWNFlèche du bas
En mode édition de nom : efface la lettre
PIN_LEFTFlèche gauche
En mode édition de nom : permet de faire défiler les lettres
PIN_RIGHTFlèche droite
En mode édition de nom : permet de faire défiler les lettres
PIN_PLUSBouton ‘+’ (choix joueur)
PIN_MINUSBouton ‘-‘ (choix joueur)
PIN_VALIDATEValidation
En mode édition de nom : valide le nom du joueur
PIN_CANCELEchap
PIN_NEXTPLAYERJoueur suivant
PIN_BACKRevenir à la manche d’avant
PIN_GAMEBUTTONQuitter la partie
PIN_VOLUME_UPAugmenter le son
PIN_VOLUME_DOWNDiminuer le son
PIN_VOLUME_MUTECouper le son (mute)
PIN_DEMOVOIXFaire lire une phrase à la synthèse vocale
PIN_DEMOLEDLance la démo pour les ledstrip (un ledstrip doit être configuré)

Informatique

Bon, la partie électronique finie, passons aux choses sérieuses !

Préparation de la carte mini SD

Il va falloir télécharger le logiciel nous permettant de formater et de « faire » le nécessaire pour installer l’image toute faite du Raspberry, alors allons télécharger « Win32DiskImager » ici : https://sourceforge.net/projects/win32diskimager/

Je ne détaille pas comment installer Win32 Disk Imager (suivant, suivant, suivant, terminer).

Après avoir fini l’installation, il va nous falloir le plus important, l’image toute faite pour Raspydarts ! Téléchargez la ici:

Fichier IMG Raspydarts

Nous allons maintenant assembler le tout pour obtenir notre carte mini SD pour le Raspberry, rien de plus simple, exécuter tout d’abord le logiciel Win 32 Disk Imager :

Indiquer l’emplacement de l’image toute faite via le bouton :

Périphérique désigne l’emplacement de votre carte mini SD

Si tout est bon, il suffit de cliquer sur « Ecrire », de valider le message d’avertissement (bah oui on va écrire et formater la carte mini SD, donc les données s’il y a dessus on leur dit au revoir) et on attend !

Et voilà, l’écriture est finie !

PyDarts

pyDarts est un logiciel fonctionnant sur Linux/Windows, il a pour but de créer une cible connectée en utilisant la liaison sérié présente sur ce dernier, en soudant directement sur la carte électronique de la cible électronique, puis via l’USB de se brancher sur n’importe quel ordinateur.

Pour ma part, je trouve que cela est plutôt complexe et que l’on ne veut pas tous se connecter à un ordinateur portable ou ordinateur fixe ; cela peut-être bien dans le cas de la réutilisation de l’informatique présente dans un PinCab ou un PC fixe proche, mais ne va pas dans le sens de la mobilité comme l’offre VDarts par exemple.

J’ai donc réalisé le développement moi-même, j’insiste sur cela, car « poilou », l’un des développeurs, n’est pas responsable du code pour la partie Raspberry et cela ne fonctionne que via mes explications (donc il ne sait pas comment j’ai implémenté cela). Je lui ai fournis mon code, mais je ne sais pas s’il va le laisser comme cela, ou tout refaire dans une prochaine version de pyDarts (et n’étant pas développeur Python, il existe surement un moyen encore mieux).

Ceci fait, il va falloir paramétrer pyDarts pour qu’il communique avec notre cible.

Si tout s’est bien passé, pyDarts devrait démarrer !

Place maintenant à la configuration… et au plaisir !

Appuyez sur la touche correspondante au « Raspberry GPIO » (ici F3)

Il va falloir indiquer les pins de sorties, puis les pins d’entrée et enfin les “options” que l’on veut ensuite.

Si vous avez suivie ce tuto, alors pour les pins de sorties il faudra faire :
2 – entrée – 3 – entrée – 4 – entrée – 17 – entrée – 27 – entrée – 22 – entrée – 10 – entrée – espace (espace sert à passer la dernière pin pour les sorties car ici nous en avons 7)

Puis pour les pins d’entrée il faudra faire :
9 – entrée – 11 – entrée – 5 – entrée – 6 – entrée – 13 – entrée – 19 – entrée – 26 – entrée – 18 – entrée – 23 – entrée – 24 – entrée – espace – espace – espace – espace – espace – espace (espace sert à passer les dernières pins pour les entrées car ici nous en avons 10)

A la demande “STRIP_LED” faite espace (ou rendez-vous sur le tuto https://montetoncab.fr/tctedg-ou-the-cheapest-target-electronic-dart-game-ou-raspydarts-ajout-ledstrip/)

A la demande “EXTENDED_GPIO” faite espace (ou rendez-vous sur le tuto https://montetoncab.fr/tctedg-ou-the-cheapest-target-electronic-dart-game-ou-raspydarts-ajout-extension-gpio/)

Enfin au différente demande des “PIN_” indiquez les numéros des pins (fond orange) ou alors appuyez sur espace pour passer les demandes.

Une fois ceci fait, vous arrivez sur le calibrage de la cible :

Il suffit d’appuyer sur les zones demandées par pyDarts (elles doivent toutes fonctionner et c’est vérifiable avec le petit programme de test précédemment fourni)

C’est un peu long
Il faut faire aussi les Doubles !
Il faut faire aussi les Triples !
Place aux valeurs du centre !
Redémarrage pour prise en compte de la configuration

Place au jeux !

/!\ Pour revenir au bureau du Raspberry, il faudra appuyer sur la touche “F12” car la touche “Echap” éteindra le Raspberry /!\

Il ne reste plus qu’à choisir ce sur l’on veut (exemple si « Partie simple » donc touche F1)

Pour donner un nom aux joueurs il suffit d’appuyer sur le “F” correspondant.
Si vous vous servez que des boutons physique : le bouton “Flèche de droite” pour changer le nom du joueur; on fait défiler les lettres avec les boutons “Flèche de droite ou de gauche” on valide la lettre avec le bouton “Flèche du haut” et on efface la lettre avec le bouton “Flèche du bas”. On valide le nom du joueur avec le bouton “Validate”.

On règle les options que l’on veut
Et place au jeu !

Et voilà, maintenant on peut jouer tranquillement !

/!\ Pour revenir au bureau du Raspberry, il faudra appuyer sur la touche “F12” car la touche “Echap” éteindra le Raspberry /!\

/!\ Il semblerait que la sortie analogique des Raspberry pose problème, il est donc recommandé d’obtenir le son via le HDMI (et donc un écran ayant des haut parleurs ou alors un adaptateur HDMI vers HDMI/Audio ou équivalent) /!\

Trucs et Astuces

Tout d’abord, une fois sur la page d’accueil (là ou on propose une nouvelle partie ou de quitter) on appuie sur F12. Une fois sur le bureau, on amène la souris sur le bord supérieur droit, la barre de tâche doit apparaître et on va récupérer l’adresse IP (on le note dans un coin, ça nous sera utile) en mettant notre souris sur ce logo :

REALVNC AFFICHAGE DISTANT

« Dis donc Jamy, à quoi ça peut bien servir ??? »

VNC, c’est simplement le fait de pouvoir se connecter à distance pour éviter d’être à côté du Raspberry mais voir son bureau en étant tranquillement dans son bureau (tordue ma phrase), mais une image vaut mille mots :

Ici il s’agit de RealVNC Viewer, pratique non ?

Pour faire pareil que moi, il suffit de se rendre sur le site de RealVNC Viewer (https://www.realvnc.com/fr/connect/download/viewer/windows/) de télécharger et d’installer la version pour Windows

Une fois RealVNC Viewer d’exécuté, vous vous retrouvez face à cette fenêtre, il suffit d’insérer l’adresse IP obtenue avant :

On valide avec un appui sur « Entrée »


Il nous demande ici nos identifiants qui sont « pi » et mot de passe “Montetoncab

On valide et vous voilà sur le bureau de votre Raspberry Pi !

FILEZILA : TRANSFERT DE FICHIER

Il peut être utile d’installer Filezila sur son ordinateur, par exemple pour envoyer ses propres images, ses sons, etc. Rien de compliqué, on se rend sur le site de FileZila et on télécharge : https://filezilla-project.org/

Et on se retrouve devant cette interface :

On va renseigner ce qu’il nous demande (donc comme pour RealVNC Viewer, en fonction de l’adresse IP que l’on a sur notre Raspberry) !


On indique le port 22, ce qui correspond au port SSH.


Une fois connecté, on peut voir sur la gauche l’arborescence de notre ordinateur et à droite l’arborescence du Raspberry Pi.

Bien démarrer pyDarts trucs et astuce

Mettre ses propres options de jeu par défaut

Par exemple, si la plupart du temps vous préférez jouer au Ho_One en commançant à 501 à la place de 301, et que vous préférez le jouez en 20 tours au lieu de 10, avec l’option “Double In” activée, écrivez simplement dans votre fichier pydarts.cfg :

[Ho_One]
startingat:501
max_round:30
double_in:True
split_bull:False
etc...

Ne pas passer au joueur suivant automatiquement

Pour ne pas passer automatiquement au joueur suivant, direction le fichier config (/home/pi/.pydarts/pydarts.cfg) et modifier la valeur solo en la mettant à 0. De base il est à 2000 (ce qui correspond à 2 secondes)

Passer du plein écran au mode fenêtre (et inversement)

Dans tous les menus et en jeu, utilisez la touche “f” ou double-cliquez pour échanger entre le mode plein écran et le mode fenêtré. C’est tout !

Modifier la police d’écriture

Il est possible de modifier la police d’écriture de pyDarts. Pour cela, une fois que vous disposez de la police d’écriture voulue (il y en a plein par exemple dans le dossier C:\Windows\Fonts), rendez-vous dans le dossier ‘pydarts/fonts‘ et déposer le fichier .ttf (en le renommant ‘MaPolice.ttf’ sans les ‘) dans ce répertoire. Au redémarrage de pyDarts, la police d’écriture sera prose en compte.

Utilisez un autre jeu de couleurs

Si le jeu de couleur par défaut ne corresponds pas à vos goûts, vous pouvez être intéressés par le changer. Pour faire ça, utilisez l’option en ligne de commande --colorset=nom_du_colorset à la place du jeu de couleur par défaut, qui est le “clear”. (--colorset=clear). Vous pouvez ajouter vos propres jeux de couleurs en modifiant le fichier “include/ColorSets.py” et en ajoutant les vôtres.

 /!\ La syntaxe de ce fichier et python et peut, en cas d’erreur, rendre votre jeu non fonctionnel !

Utiliser un son personnalisé pour votre joueur

Vous pouvez avoir un son personnalisé qui est joué quand c’est à votre tour de jouer… Trop bien, non? Pour faire ça, créez simplement un répertoire nommé “sounds dans votre répertoire /home/pi/.pydarts. Mettez dans ce répertoire un fichier son au format OGG VORBIS (”.ogg“), nommé comme votre joueur. Il sera utilisé pour appeler votre joueur à chaque tour et en cas de victoire !

Utiliser des images et des sons personnalisés

Vous pouvez remplacer les sons et images pyDarts par les vôtres, dans avoir a remplacer les fichiers originaux, et sans changer le code ! Pour faire ça, créez un répertoire nommé “sounds” et/ou “images” dans votre répertoire /home/pi/.pydarts. Déposez ici vos images avec le même nom et la même extension que les images originales, elles vont être utilisées automatiquement par le logiciel à la place de celles d’origine.

Modification du fichier ‘/home/pi/.pydarts/pydarts.cfg”

Le fichier de configuration de pydarts renferme plusieurs options (fullscreen, chemin http, etc), pour activer des options, pensez à retirer le # en début de ligne.

Exemple : pour activer le fullscreen, il faut enlever le # au début de la ligne ‘fullscreen‘ est mettre ‘= 1‘ = fullscreen = 1

Amusez-vous bien !

Et pour compléter

Ajouter des GPIO pour plus de boutons

Ajouter des Ledstrip pour plus de lumière

4 thoughts on “TCTEDG (ou The Cheapest Target Electronic Dart Game) ou RaspyDarts – STANDARD

Laisser un commentaire



Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.