Pédale Vite — Instructions de montage

Table des matières

  1. Introduction
  2. Fournitures
    1. Plans
    2. Matériaux
    3. Outillage
  3. Montage pas à pas
    1. Boîtier
    2. Électronique
    3. Assemblage
  4. Installation logicielle
    1. Préparation du système
    2. Démarrage et configuration de base
    3. Mise à jour système
    4. Installation de la carte son
    5. Installation des dépendances logicielles
    6. Installation de Pédale Vite
    7. Démarrage automatique de Pédale Vite
    8. Optimisation du temps de démarrage
    9. Retrait de NOOBS
    10. Passage du système en lecture seule et autres optimisations
  5. Maintenance
    1. Tests et dépannage
    2. Code source
  6. Amérliorations et variations envisageables
  7. Historique des versions

I. Introduction

Pédale Vite est une pédalier multi-effet pour guitare à fabriquer soi-même (DIY, do it yourself). Ce manuel détaille comment réaliser le montage et installer toutes les composantes nécessaires à son fonctionnement.

Je tiens à préciser que ce projet est à la portée de tout le monde. Il n’est pas nécessaire d’avoir le bricolage dans le sang. Il ne nécessite pas d’adresse ou de compétence particulière. Toutes les techniques utilisées (soudure, perçage, etc.) s’apprennent relativement rapidement.

Cependant la réalisation est relativement prenante et nécessite une dizaine de jours de travail environ. C’est approximativement le temps que j’ai passé au montage. Je suis loin d’être très organisé et encore moins adroit de mes dix doigts. Je suis sûr qu’une personne un peu bricoleuse peut réduire ce temps de moitié.

II. Fournitures

Les fichiers nécessaires se trouvent dans le dépôt GitHub du projet.

Certains documents ont été exportés en .png ou .pdf pour un accès plus simple.

Plans

Les plans se trouvent dans le répertoire doc du dépôt.

Ces plans ne sont pas exhaustifs. Par exemple, je n’ai pas encore fait figurer les câbles reliant la carte son à la façade, ou les câbles secteur. Toutefois ce sont des parties relativement simples qui ne nécessitent pas d’instruction détaillées.

Matériaux

La liste des matériaux utilisés dans le prototype présenté se trouve dans le fichier doc/parts.ods du dépôt. Un prix hors taxes indicatif est donné pour chaque composant, assorti des containtes de quantité. D’ailleurs en terme de prix, il est possible d’optimiser un certain nombre de choses, par exemple inutile de prendre les coûteuses prises jack Neutrik pour la connectique interne.

Il est tout à fait possible de prendre d’autres matériaux, pourvu qu’ils soient compatibles ou adaptables. Pour information, les résistances utilisées sont toutes des ¼ W, essentiellement pour des raisons d’encombrement sur le circuit.

Outillage

L’outillage à lui seul peut revenir assez cher. N’hésitez pas à vous faire prêter le matériel, ou à faire un achat collectif.

III. Montage pas à pas

Boîtier

Usinage

Découper la plaque de métal avec un disque de tronçonnage monté sur la mini-perceuse. Utiliser une planche comme guide pour appuyer l’axe de la perçeuse afin de couper aussi droit que possible. Asperger la ligne de coupe d’huile de coupe afin d’éviter les échauffements et d’économiser les disques de tronçonnage. Une fois la plaque coupée aux bonnes dimensions, ébavurer avec une lime de façon à arrondir les bords dans le sens de l’épaisseur.

Toujours avec les disques de tronçonnage, rainurer la plaque au niveau des futures pliures, sur la face intérieure. Entailler environ la moitié de l’épaisseur. Comme pour la découpe, utiliser une planche comme guide.

Tracer ensuite les repères des perçages et découpes en fonction des plans. Tracer le contour des trous à fraiser à l’aide d’un compas. Procéder ensuite au perçage. On pourra commencer par les plus gros trous, qui seront percés à la fraise. Là aussi, utiliser l’huile de coupe. Arrêter la découpe quand on dépasse les contours tracés. Se munir de la pièce à faire rentrer dans le trou et essayer. Remettre un coup de fraise si c’est trop juste.

Une fois les plus gros trous faits, ébavurer avec une fraise spéciale ou utiliser la mini-perceuse avec un disque de tronçonnage pour découper le métal qui dépasse.

Découper les deux cornières qui serviront de renforts dans le sens de la profondeur, en déduisant 3–4 mm dans chaque sens (mais surtout sur la partie du fond) pour laisser de la place à la pliure de la plaque principale.

Serrer ensemble chaque cornière avec la plaque. Percer d’un coup les trous traversant les deux. Si l’opération est trop difficile (serre-joints pas assez longs), il vaut mieux laisser la cornière entière, attacher l’extrémité qui dépasse et percer le trou le plus près de l’attache. Une fois ceci fait, boulonner ce trou pour donner une meilleure accroche et percer les autres. Couper la cornière une fois les trous percés.

Percer les trous restants à la perceuse et ébavurer au besoin. Certains trous de fixation dépendent du matériel précis dont vous disposez : support du Pi, prise et interrupteur secteur, etc. Vérifiez que les trous donnés sont cohérent avec vos matéraux, ajustez-les le cas échéant.

Découper les zones rectangulaires. Commencer par percer les coins avec une mèche de 3 mm. Cette étape facilite la jonction des découpes. Couper les bords avec un disque de tronçonnage de petit diamètre. Enfin, limer les bords pour les arrondir.

Illustrations avec quelques éléments montés dessus :

Pliage

Le plus simple c’est de trouver une plieuse à tôle, ou de le faire faire par un professionnel du métal. Sinon, il est possible de se faire une plieuse improvisée.

La plaque, nue, sera prise en sandwitch entre deux dispositifs.

Côté intérieur de la pliure, on pourra utiliser la chute de la cornière (elle doit être de la bonne dimension). Le plus simple est d’utiliser l’angle comme pivot, bien qu’on ait besoin de faire un angle supérieur à 90 ° sur une des pliures.

Côté extérieur, il faut une planche épaisse ou une pièce de métal plate et bien rigide. La planche s’arrêtera pile au niveau de la pliure.

Serrer le montage contre l’établi à l’aide de serre-joints.

Prendre ensuite une planche, l’appliquer sur le bord à plier contre la pliure, et taper dessus avec un marteau de chantier aussi près que possible de la pliure. Il faut que la pliure soit franche et éviter d’arrondir la plaque. Taper en faisant des aller et retours sur toute la largeur de la plaque pour éviter de la déformer en pliant d’un coup une extrémité mais pas l’autre.

L’angle à obtenir est de 9 ° en plus ou en moins de l’angle droit, en fonction du côté plié. La précision de l’angle n’est pas très importante car la plaque sera vissée sur les supports latéraux qui lui donneront sa forme définitive. On peut éventuellement finir la pliure supérieure à l’angle droit en retournant la plaque toujours posée sur le bord l’établi et passant la cornière au-dessus. Au lieu de présenter son angle à la pliure, on la posera sur la plaque en « accent circonflexe », un de ses bord au contact de la pliure. Serrer avec des serre-joints et continuer le pliage.

J’ai eu une petite cassure sur une des pliures, la raignure étant peut-être un peu trop profonde à cet endroit. Ce n’est pas très grave, puisque chaque bord sera vissé aux support latéraux. Donner un petit coup de lime pour éviter les bords coupants, mais éviter au possible d’agrandir la cassure lors des manipulations.

Supports latéraux

Prendre une planche d’environ 20 mm d’épaisseur, mais pas plus. Celle que j’ai récupérée fait 18 mm en contre-plaqué ce qui convient très bien. Découper deux formes en trapèze rectangle de 250 mm de long et de largeurs 80 et 120 mm. On peut vérifier que le dernier bord fait bien 253 mm.

Insérer les deux formes sur les côtés de la boîte et les fixer avec des vis à bois auto-perforantes de 2,5 ou 3 mm, pas trop longues. Utiliser 7 vis par montant.

Une fois ceci fait, on peut passer aux piliers centraux. Ils vont servir d’appui aux deux renforts fabriqués à partir des cornières. Commencer par visser ces derniers à la plaque. Découper ensuite des piliers de 20 mm de section carrée dans du bois solide. On peut éventuellement reprendre des chutes de la planche ayant servi aux supports latéraux. Personnellement j’ai utilisé des morceaux de bois de chauffage (du chêne s’il vous plaît) en les fendant grossièrement dans le sens de la longueur de façon à avoir les fibres orientées verticalement. Le contre-plaqué aurait pu suffire, mais j’ai préféré opter pour quelque chose d’aussi solide que possible.

Biseauter à 9 ° une des extrémités de chacun des quatre piliers. C’est celle qui sera en contact avec la partie supérieure du boîtier. Les longueurs exactes tournent autour de 8 et 12 cm mais dépendent de l’épaisseur de la cornière utilisée. Couper trop long, mettre en place le pilier, faire une marque à la position désirée et finalement recouper à la bonne taille. Se donner tout de même un petit millimètre de marge pour un ajustement ultérieur.

Pour chaque pilier, vérifier qu’il ne va pas être gêné par les vis des renforts, ou qu’il ne vas pas gêner à son tour la pose d’une plaque, en particulier l’écran. Si c’est le cas, retrancher un peu de matière à l’aide de la scie ou d’un ciseau à bois.

En fonction de la solidité du bois utilisé, on peut visser directement ou prépercer les trous à la perceuse (indispensable sur mes morceaux en chêne). Dans ce cas, prendre une mèche suffisamment fine, par exemple 2 mm si la vis fait 2,5 mm de section.

Une fois tout en place, on peut ajuster à la lime la hauteur de chaque pilier afin que tout repose parfaitement à plat.

Ensuite, l’épreuve du feu : poser le boîtier au sol et monter dessus. Il ne doit pas se déformer ou donner des signes de faiblesse.

Support du Pi

Découper une plaque de bois peu épaisse selon le plan drawing-pi-mount. La partie à évider peut être abordée à la scie pour les deux bords latéraux et finie au ciseau à bois sur le côté long.

Les équerres servent à fixer la plaque parallèlement au sol sur la face arrière du boîtier. Le Pi est fixé d’un côté et les équerres de l’autre. La positions de fixation des équerres dépendent évidemment de celles dont vous disposez. Veillez à laisser de la place pour la plaque des LED et son câble de connexion, ainsi que pour les interrupteurs au pied.

Note importante : Comme les équerres sont positionnées du côté de la face supérieur du boîtier, la fixation du support est difficle. Il est possible de fixer les équerres sur la même face que le Pi (côté sol) pour faciliter le montage ultérieur, mais il faut prévoir d’élargir la plaque et repousser l’équerre afin que les trous ne soient pas pile sur le bord de la fenêtre d’accès au Pi. Et dans ce cas, veilleur à ce que la plaque n’empêche pas l’accès au connecteur de la plaque des LED.

Électronique

Découpage des cartes

Découper les plaque de prototypage afin d’obtenir les cartes suivante :

Les plaque de prototypage standard font 61 trous sur 38. Il est donc possible d’extraire la carte principale et celle des interrupteurs d’une première plaque, et toutes les autres d’une seconde plaque.

On peut utiliser une simple scie à métaux, qui fait très bien l’affaire. Immobiliser la plaque sur un établi avec un étau ou un serre-joint, en la coinçant entre deux planchettes de bois pour ne pas l’abîmer. La découpe se fera au milieu d’une rangée de pastilles, pour profiter des trous existants.

Percer des trous de fixation aux quatre coins à l’aide d’une mèche de 3 mm. Sans perceuse à colonne, il est préférable de percer au centre d’une pastille, là ou un petit trou fait office de guide. Chaque trou sera fait au milieu d’un carré de 3 × 3 pastilles, sur lesquelles aucun câblage ne pourra être fait.

Après le découpage de la carte des LED, il faut fabriquer le support avant de souder les composants. Voir plus bas.

Soudure des cartes

Côté composants, commencer par placer sans les souder tous les connecteurs et supports tulipe de cirtuits intégrés. En marquer le tour au crayon à papier. On obtient ainsi des repères pour le placement des autres composants. Vérifier les distances entre tous les supports à l’aide du schéma.

Souder tout d’abord les fils de connexion sur circuit (en gris dans le schéma), côté cuivre. Pour m’aider, j’ai pris une capture d’écran du schéma de montage, qu’on voit habituellement côté composants. Avec un éditeur d’images, je l’ai retournée en miroir dans le sens horizontal afin d’avoir le plan de câblage dans le bon sens.

Pour créer un fil de connexion, dérouler un peu de câble nu pré-étamé. Tirer dessus avec une pince d’une main et la bobine dans l’autre main jusqu’à ce qu’une légère élongation se fasse sentir ; arrêter immédiatement pour éviter de rompre le fil. Il devrait alors être bien droit. En couper un peu plus que la longueur désirée.

Pour le poser, partir de la pastille libre la plus proche, faisant partie du trajet. À l’aide d’une pince, plier l’extrémité du fil sur 1 ou 2 mm de façon à faire un petit crochet qui rentrera dans le trou d’extrémité. Plier ensuite le fil pour effectuer le chemin désiré. Pour mesurer les sections de la piste, s’aider d’un gabarit, par exemple en prenant les chutes de la plaque pour s’en servir de règle graduée en pastilles. Quand le chemin est complexe, on peut faire un contrôle de temps en temps en posant la piste sur la plaque et en ajustant. À la fin, refaire un crochet, faire les derniers ajustements et couper le bout excédentaire.

Bien regarder ce qui passe sur le trajet, il peut être nécessaire de s’écarter un peu du centre des pastilles pour laisser la place à des pattes de composant. De même, éviter de faire partir le fil directement de l’emplacement d’une patte, la soudure à cet endroit empêchera l’insertion du futur composant sans compter qu’il n’y aura peut-être pas assez de place pour les deux.

Souder aux extrémités et aux angles. Rajouter des points de soudure sur les portions un peu longues, pour consolider.

Souder ensuite les composants, en les classant par taille et en commençant par les plus bas. D’abord les résistances, les supports de puces, les condensateurs, puis divers connecteurs. Pour les connecteurs à broches, placer dessus l’embout femelle destiné à la connexion. Cela évitera de faire frotter les broches et donnera un appui plus stable au montage.

Rajouter les ponts de soudure nécessaires à la jointure des pistes et des pattes qui devraient être connectés. Essayer de limiter la taille des ponts, car plus ceux-ci sont grands, plus ils seront difficile à chauffer s’il faut refaire une soudure ou rajouter une connexion.

Souder ensuite les fils de connexion avec isolant qui seront placés côté composants. Les dénuder sur 2–3 mm auparavant. Coincer les fils dans la plaque avec une pince crocodile. Ne pas mordre directement à l’emplacement de la soudure. Faire plutôt une sorte de U renversé en plaquant le fil un peu plus loin et en le faisant rentrer verticalement. En gros, la pince doit exercer sur le fil une pression verticale légère pour le maintenir contre le trou et tenter de le faire rentrer plus loin (il est bloqué par sa gaine). Quand le fer va chauffer le fil, l’isolant va se rétracter un petit peu et le fil va avancer. Cette méthode permet d’avoir la gaine qui descend aussi bas que possible, ce qui est nécessaire pour éviter les court-circuits entre plusieurs fils plantés les uns à côté des autres.

Test des connexions

Avant de fixer les circuits intégré, il faut tester les connexions. Utiliser un multimètre en mode testeur de fils ou ohm-mètre. C’est important de le faire avant de fixer les circuits ingégrés ou les connecteurs, parce que les circuits peuvent avoir des contacts internes qui vont venir fausser les mesures, ou pire, pourraient être endommagés par la tension imposée par le testeur.

Avoir devant soi un plan récapitulant les broches de chaque connecteur. Pour chacun d’entre eux, vérifier les choses suivantes :

Ces tests ne donnent certainement pas une garantie de fonctionnement, mais s’ils sont fait rigoureuseuement, permettent de débusquer la grande majorité des erreurs et minimisent les risques de court-circuit.

Carte des LED

La carte des LED est un peu spécifique car d’une part elle est double face et d’autre part elle est accompagnée d’un support.

Le support sert à retenir les LED. C’est lui qui est exposé sur la façade. Compte tenu des dimensions des LED, le support doit être une plaque d’environ 2 mm d’épaisseur. Elle peut être en bois, en plastique ou dans n’importe quel autre matériau suffisamment robuste. Ici, j’ai pris une bûche de bois chauffage, du chêne. Je l’ai coupée puis fendue aux bonnes dimensions. Pour la dernière refente pour laquelle le résultat doit être assez précis, j’ai utilisé un couteau de cuisine au lieu de la hachette comme coin. Je l’ai enfoncé en tapant dessus avec un marteau. En terme de dimensions, il faut au moins que la plaque soit couverte, et ne pas hésiter à en mettre un peu plus, en particulier dans le sens de la largeur.

Une fois le support prêt, attacher la carte dessus avec un serre-joint, le côté cuivre. Percer les trous de fixation. Ce procédé garantit que les trous seront bien en face les uns des autres. Puis, en maintenant carte et support attachés, marquer sur ce dernier à l’aide d’une mine les trous dans lesquels seront placées les pattes des LED.

Détacher le support et marquer le centre de chaque LED. Percer les trous d’accueil de ces LED, d’un diamètre de 5 mm. Il faut être précis car en terme d’esthétique, le moindre écart va être visible.

On passe ensuite les LED sur le circuit, toujours sans les souder. On assemble tout : la plaque dans laquelle on coince la tête des LED, le circuit qui leur tient les pattes, et les boulons avec leur entretoise qui maintiennent les deux supports à distance suffisante.

Il faut choisir les entretoises pour laisser de la place entre le circuit et la base de la tête des LED. En effet, les LED sont fixées côté pastilles, et à moins d’avoir une plaque double face, il faudra souder de ce côté, entre la plaque et les têtes. Des entretoise d’un centimètre devraient convenir. Au besoin, ajuster la hauteur avec des rondelles. S’assurer également de disposer de vis de longueur suffisante, en comptant les épaisseurs du panneau et des diverses rondelles.

Bien aligner les LED avant de les souder. Une fois les LED fixées, on peut démonter la plaque et souder le reste des composants. On peut aussi faire les opérations dans l’ordre inverse, ça n’a pas vraiment d’importance.

Carte des codeurs incrémentaux

Comme pour les LED, la soudure des codeurs se fait côté cuivre. Idéalement il faudrait fixer les codeurs sur la plaque de façade et les souder une fois en place. On s’assure ainsi que le positionnement est bon par rapport au perçage. Cependant l’espace entre les codeurs et la plaque est réduit, ce qui peut rendre la manipulation ardue.

S’il est trop compliqué de faire ainsi, souder les composants au mieux, puis vérifier le placement sur la façade. Si nécessaire, agrandir avec une lime de section arrondie les trous qui nécessitent un réajustement.

Carte de patch de l’écran

La carte est très compacte. Avant soudure, vérifier que le support des portes AND et que le connecteur HE-14 trois broches (socle mâle avec son boîtier femelle) n’interfèrent pas trop. Limer au besoin le support afin de dégager de la place pour le connecteur. Il est possible de souder le connecteur de manière légèrement oblique, en veillant cependant à laisser suffisamment de place pour le boulonnage de la vis de fixation de la plaque. Il doit y avoir des l’espace pour tourner la clé et pas uniquement pour placer le boulon !

Câblage

Pour relier le Pi et la carte principale, on peut prendre une nappe IDE à l’ancienne. Il y a souvent un détrompeur qui bouche un des trous, il suffit de le percer avec une pointe type couteau ou ciseaux. La broche femelle apparaît derrière. On peut vérifier avec un multimètre et deux broches mâles que la connexion se fait bien entre les deux trous débouchés. Attention, il faut que ce soit une nappe de 40 fils, et surtout pas les nappes plus récentes Ultra-DMA de 80 fils. Leurs connexions ne sont pas équivalentes, et parfois même un fil est coupé. En terme de connexion, le fil qui se trouve du côté de la carte micro-SD sur le Pi doit aboutir côté gauche sur la carte principale (le repère coloré indique la première broche).

Pour les autres câblages, se reporter à la feuille de calcul qui indique qui est connecté avec qui (chaque lettre identifie un fil), avec quel type de connecteur, et quelle longueur de câble est nécessaire.

Certains connecteurs disposent de détrompeurs, il convient donc de faire attention à ce que la partie femelle soit orientée de la même façon que la partie mâle. En revanche, les connecteurs HE-14 ne sont pas orientés, et c’est au branchement qu’il faut faire attention à l’orientation. Peindre une tache de couleur sur un des angles de chaque connecteur mâle et femelle afin de faire la correspondance facilement.

Le câblage de l’écran est spécifique, puisque quatre prises sont interconnectées, à cause de la carte de patch. La prise sur la carte principal nécessite un petit cavalier pour connecter VCC sur le 5 V (plutôt que le 3,3 V). Côté écran, utiliser deux connecteurs de 8 broches et les placer aux deux extrémités du connecteur mâle de l’écran.

Les boutons et pédales partagent quelques fils de masse. Préparer les câbles en les sertissant d’un seul côté. Ils seront soudés et connectés plus tard.

Assemblage

Premier assemblage

On peut maintenant fixer au boîtier la plupart des éléments : cartes, prises, interrupteurs…

La fixation du support du Pi peut être délicate. Utiliser de grandes vis de façon à pouvoir y mettre les écrous avec la plaque encore inclinée, ce qui permet de passer les doigts. Ne serrer qu’une fois que toutes les vis sont posées. Au besoin, démonter provisoirement le montant latéral s’il est trop gênant.

D’autre part il est conseillé de ne pas fixer tout de suite les deux interrupteurs au pied en haut à droite, sous la plaque du Pi. En effet la soudure des câbles y seront très difficile avec le support par dessus.

On remarque que le Pi est un peu en retrait par rapport au boîtier, et que deux des quatre ports USB sont inaccessibles. C’est fait exprès, pour que le câble USB de la carte son reste dans le boîtier et qu’on ne puisse pas la débrancher par erreur.

Soudure des câbles des interrupteurs

Il y a moins de fils de masse qui sortent des connecteurs que de fils véhiculant du signal : quatre pour les pédales et deux pour les boutons de l’interface d’utilisation. Souder les fils de masse aux interrupteurs les plus proches du connecteur et passer la masse de proche en proche en soudant des fils intermédiaires.

Les interrupteurs des pédales demandent un traitement attentif et délicat. En premier lieu, si on utilise des DPDT, il faut partir du principe que la position de contact de chaque interrupteur est unique. Il n’y a pas de marque ou de signe distincif fiable donnant une orientation. La cosse commune (masse) est au centre et c’est tout ce que l’on sait. Il faut tester individuellement chaque interrupteur à l’aide d’un multimètre pour connaître la paire de broche correspondant à un contact en position enfoncée.

D’autre part, le modèle précédemment retenu n’était pas des plus solides (celui donné dans la liste des matériaux est plus fiable). Lors du vissage il faut faire attention à ne pas trop appuyer sur le boîtier plastique car celui-ci a facilement tendance à se détacher. Lors de la soudure, ce même boîtier plastique peut fondre très facilement car la masse de métal est importante et nécessite un apport de chaleur significatif. Si jamais la patte bouge dans le boîtier ramolli, le contact est foutu. Il faut alors déssouder le tout et retenter sa chance sur la deuxième voie. Tester une nouvelle fois au multimètre le fonctionnement de l’interrupteur une fois la soudure correctement effectuée.

Quand tous les fils des interrupteurs sont soudés, on peut les regrouper par connecteur.

Soudure des câbles d’alimentation

Pour cette partie, prendre du câble électrique multibrin conçu pour le secteur. Les puissances véhiculées ne sont pas très fortes, mais il faut tout de même une section minimale.

Avant de souder quoi que ce soit, ne pas oublier de passer les fils dans les manchons isolants des prises. Prendre à chaque fois une longueur de fil suffisante pour que les manchons puissent être suffisamment reculés afin de ne pas gêner l’accès à la zone à souder.

Relier la terre (broche du milieu) du connecteur secteur C14 femelle à une cosse vissée au boîtier.

Connecter une prise secteur femelle à un câble à deux conducteurs de 50 cm environ. Cette prise servira à brancher le transformateur du Pi. Le câble doit être assez long pour que le socle sur lequel sera accorché le transfo puisse être posé à côté du boîtier tout en restant connecté. L’un des conducteur sera soudé à l’une des bornes de la prise C14, et l’autre à l’interrupteur (vérifier d’abord les broches qui font contact).

Faire une dérivation à partir de cette prise femelle vers une deuxième prise femelle, avec un câble d’une quinzaine de centimètres. Cette deuxième prise alimentera le transformateur destiné à la carte audio.

Enfin, relier l’interrupteur au connecteur C14 par les broches restantes.

Fixer prise et interrupteur au boîtier et glisser les manchons sur les parties à protéger. Si ceux-ci ne tiennent pas bien en place, on peut les coincer autour du fil à l’aide d’un petit collier de serrage en plastique.

Soudure des câbles audio

J’avais commencé par prendre une connectique stéréo pour bénéficier des entrées symétriques de ma carte, mais au final je me suis ravisé et n’ai installé de la stéréo que pour le casque. Pour du symétrique il vaudrait mieux passer en XLR, ou utiliser une prise mixte jack/XLR comme c’est le cas sur la carte son. Ce sera peut-être l’objet d’un chantier ultérieur.

Couper 4 câbles audio mono de 70 cm et un câble stéréo de même longueur. Les câbles pourraient être moins longs, mais la contrainte est la même que celle du câble du transformateur, il faut pouvoir poser le socle à côté du boîtier avec l’ensemble maintenu connecté.

Souder une prise jack mâle à chacun de ces câbles. Dénuder le fil et le souder selon les instructions données par le constructeur.

Selon la qualité de la prise, la soudure peut être délicate. La masse de métal à chauffer est possiblement importante, et il y a un risque que la chaleur se transmette long des fils et fasse fondre l’isolant de manière plus ou moins imperceptible. Après chaque soudure, toujours tester la résistance qu’il y a entre les différents conducteurs du câble. Il ne doit y avoir absolument aucun contact (résistance infinie). Si ce n’est pas le cas, vérifier qu’une éventuelle couche plus ou moins conductrice située autour de l’isolant central a bien été retirée. Tester au multimètre. S’il y a toujours un contact, couper le fil et refaire la soudure.

Souder ensuite les prises femelles avec les mêmes précautions. Afin d’éviter de faire travailler les soudures des prises femelles, attacher fermement les câbles au boîtier au plus près en imaginant leur trajet vers la carte une fois la boîtier refermé. Utiliser pour cela des passe-câbles adhésifs.

Note : j’ai pris des câbles et des jacks mâles de très bonne qualité. Je pense en fin de compte que ce n’était pas nécessaire. Les câbles sont épais et peu flexibles, ce qui complique leur soudure et leur placement, sans compter le surplus d’encombrement. De même, les prises jack sont excessivement longues. De plus une erreur de placement de la carte audio sur le fond m’a forcé à utiliser des prises coudées pour les entrées, alors que j’aurais pu m’en passer sans aucun problème. À l’inverse je regrette de ne pas avoir pris de bonnes Neutrik partout pour les prises femelles. Les miennes manquaient de points d’accroche et ont tendance à pivoter, compliquant leur vissage et risquant d’occasionner des contacts intempestifs.

Il reste finalement la soudure des câbles des pédales d’expression. Cela ne devrait pas poser de problème.

Câble USB interne

On peut réaliser un câble USB avec un connecteur mâle à angle droit qui colle au plus près possible du Pi. Nous avons laissé un peu de distance entre le Pi et le trou de la façade arrière à cet effet. Ceci permet d’éviter d’avoir un câble USB qui fasse une boucle dépassant hors du boîtier, tout en gardant le Pi relativement près de la façade.

Couper un câble USB standard. Il faut une bonne cinquantaine de centimètres entre la coupure et la prise USB-B (côté carte son).

La prise utilisée est conçue pour être soudée directement sur un PCB et non à un câble. On peut soit souder les fils directement aux broches et enrouler chacune d’adhésif d’élecricien ou de gaine thermo-rétractable pour les isoler, soit fabriquer un petit montage pour arriver à quelque chose de plus solide. C’est cette deuxième option qui a été retenue.

On va utiliser un petit morceau d’epoxy venant d’une chute de plaque de prototypage. Les broches n’étant pas au format 1/10e de pouce, on ne peut pas les glisser directement dans les trous. À la place, on va y faire passer les fils avec leur isolant. Ne garder que 3–4 mm de large (un trou et un peu plus), et couper en longueur de quoi faire tenir 4 trous. Ajuster la découpe de façon à ce que la plaque puisse se loger entre les deux languettes du plat de la prise et se caler sur son extrémité (hors broches).

Sur ce plat figurent deux picots. Creuser dans la plaque epoxy les trous pour les accueillir à l’aide d’une pointe de ciseaux ou d’une mèche très fine (1 mm).

Passer les fils dans les 4 trous. Les souder au plus près de la prise en leur donnant une direction perpendiculaire. Ordre : rouge, blanc, vert, noir quand on regarde la prise de derrière, contacteurs internes vers le haut et fils orientés vers le bas. Tester les connexions avec un multimètre.

Serrer la plaque pour prendre les fils en sandwich et la maintenir en position en rabattant les languettes avec une pince. Couper les broches aussi ras que possible de façon à diminuer la longueur de la prise.

Finalement, souder la tresse de blindage à la prise.

Dans le montage, faire bien attention à ce que le cuivre de la plaque epoxy ne fasse pas de court-circuit entre les différents signaux. Au besoin, gratter les pastilles qui ne sont de toute façon pas utilisées.

Alimentation de la carte audio

Fabriquer un bout de câble à trois branches de la façon suivante :

La première branche, c’est le chargeur dont la prise a été coupée. Dénuder les fils.

La seconde, l’entrée, est constituée du connecteur femelle USB-B (embase). Couper un petit carré de 4 × 4 trous dans une plaque de prototypage. Ce carré doit pouvoir être maintenu par les pattes de fixation de l’embase. Passer trois fils dans ce carré  Un noir pour la masse, et un blanc et un vert pour les données (plan de connexion pour référence). Les fils sont placés à côté des broches et ressortent par le côté. Ils sont ainsi coincés entre la fiche et le carré quand on soude les deux ensemble.

Le carré bleu indique où doivent être placées les broches de l’embase. Une fois repliées, les pattes de fixation de cette embase permettent de maintenir l’assemblage compressé. Souder câbles et broches. Faire des ponts de soudure entre câbles et broches adjascentes.

La troisième est la prise USB-B mâle. Souder les deux fils de données ainsi que le fil rouge du chargeur (positif) au +5 V. La masse récupère un assemblage du fil noir du chargeur (négatif) et du fil noir issu de l’embase femelle.

Envelopper le tout de ruban adhésif d’électricien ou de la gaine thermo-rétractable pour le protéger. Le montage s’intercale entre le câble de liaison USB et la carte audio.

Éventuellement : intercaler le filtre RC d’alimentation entre ce montage et le chargeur (non décrit ici). La nécessité du dispositif dépend de la qualité de l’alimentation. Laisser assez de câble de part et d’autre pour pouvoir être relativement libre dans le placement du filtre sur le socle.

Socle

Le socle doit supporter la carte audio, les deux transformateurs et eventuellement le filtre d’alimentation. Découper une plaque de bois de 520 × 250 × 10 mm³.

Commencer par noter une orientation sur le socle. Coincer la plaque sur le boîtier avec des serre-joints et prépercer 8 trous à l’aide d’une mèche fine (2 mm), un trou dans chaque pied et deux sur chaque panneau latéral. Faire attention à ne pas croiser les vis qui servent à tenir la plaque. Visser l’ensemble pour marquer l’empreinte puis redévisser le socle pour la suite.

Placer ensuite la carte son, à la louche mais pas trop. Il faut qu’il ait la place pour les câbles, ceux-ci doivent donc être branchés lors du placement. N’ayant pas encore soudé mes câbles à ce moment, j’ai mal évalué la place nécessaire et j’ai dû prendre des prises coudées.

Placer de la même manière le transformateur. J’ai prévu une fixation sur le transfo et une autre perpendiculaire sur la prise secteur femelle.

Marquer au crayon la base de la carte son et du transformateur. Percer des trous dans le socle pour faire passer les colliers de serrage qui serviront à accrocher les deux appareils. Pour cela, percer des paires de trous étroits distants de quelques millimètres. Défoncer ensuite les fines parties de bois entre chaque paire avec un tournevis plat, un ciseau fin ou tout autre outil approprié. Le faire progressivement en alternant les deux côtés pour éviter de ressortir en emportant toute la couche supérieure.

La photo ci-dessus ne montre ni le deuxième transformateur ni le filtre, pas encore réalisés au moment de la prise.

Fixer ensuite les colliers de serrage. Il en faudra au moins deux pour chaque boucle enserrant la carte son. Le second transformateur peut être attaché au premier avec un ruban adhésif. Le filtre de l’alimentation peut être vissé sur le socle à côté de la carte son.

Il est recommandé de calibrer la carte son (régler les boutons, cf. manuel d’utilisation) avant de tout refermer.

Pour faire les pieds, l’idéal est d’avoir des gommes spécifiquement faites pour cela, qui s’intercalent entre les vis et le socle. Sinon on peut envisager une solution plus rustique. Pour chaque pied, prendre deux joints de goulot de bouteille en caoutchouc. Placer dessus une rondelle qui retient la vis et qui couvre une partie seulement du joint. Insérer la vis et serrer, fermement mais sans forcer. Le joint du dessus doit prendre une forme conique sous la pression et dépasser la tête de vis. J’ai utilisé ce système en première approche et le résultat n’est que moyennement concluant, les têtes de vis frottant encore un peu sur le sol, l’adhérence restant encore relativement faible sur un sol lisse.

IV. Installation logicielle

Cette partie est simple mais un peu laborieuse car demandant de nombreuses interventions manuelles. Cependant la plupart d’entre elles peuvent être scriptées ; j’essaierai un jour de le faire pour simplifier la tâche, mais cela demande une certaine somme de travail.

Préparation du système

Télécharger Raspbian en version Lite. La version minimum recommandée est datée du 2016-11-25. Inutile de passer par NOOBS car nous devrons de toute façon nous en débarasser ultérieurement. Mais cela reste techniquement possible.

Décompresser quelque part le fichier .img contenu dans l’archive.

Commencer par formater la carte, si ce n’est pas déjà fait :

Sous Windows, télécharger Win32DiskImager, l’installer et le lancer. Sélectionner l’image (fichier .img) Raspbian décompressée. S’assurer que Device pointe sur le bon lecteur. Cliquer sur Write, confirmer et attendre que l’image finisse d’être copiée sur la carte.

Autoriser ensuite l’accès SSH dès le premier boot. Pour cela, aller à la racine de la partition nommée boot et créer un fichier vierge (son contenu n’a pas d’importance) intitulé ssh.

Le système est maintenant prêt à être lancé pour la première fois. Retirer la carte Micro-SD de la machine et l’insérer dans le lecteur du Pi. Brancher une prise réseau et l’alimentation.

Démarrage et configuration de base

Allumer le Pi, attendre un peu que le système se charge et que SSH se mette en route. En principe le Pi est prévu pour se faire attribuer une adresse IP par DHCP, à vous de voir avec votre installation quelle adresse lui est donnée. Si ce n’est pas possible, il faut brancher un écran et un clavier avant le premier démarrage et commencer depuis le terminal local.

Se loguer avec les identifiants de base (pi / raspberry).

Commençons par faire quelques réglages. On va avoir besoin d’activer les interfaces SPI et I2C pour communiquer avec les différents composants nécessaires.

sudo nano /boot/config.txt

Modifier les lignes suivantes en les commentant ou décommentant comme suit :

dtparam=i2c_arm=on
dtparam=spi=on
#dtparam=audio=on

Donc on vire le son par défaut au passage. C’est important parce que ça simplifie beaucoup l’installation de notre carte. Ensuite on peut changer les préférences de boot pour ne pas avoir le système graphique :

sudo raspi-config

Sélectionner ensuite 3 Boot Options, puis B1 Desktop / CLI et choisir Console. Éventuellement passer dans 4. Internationalisation Options et régler les préférences de langue et de clavier. Finalement, flèche gauche pour sélectionner Finish.

Mise à jour système

Ensuite, mettre à jour le système :

sudo apt-get -y update
sudo apt-get -y dist-upgrade

La suite des opération va prendre un peu de temps, allez donc faire quelques exercices isométriques en attendant.

Installation de la carte son

Brancher la carte. Ouvrir un terminal et taper :

aplay -l

La carte son USB doit y être listée. Ensuite éditer :

sudo nano /lib/modprobe.d/aliases.conf

Commenter la ligne qui met en retrait les cartes USB :

#options snd-usb-audio index=-2

Redémarrer pour que les paramètres soient pris en compte.

sudo shutdown -r now

Se reconnecter et taper :

cat /proc/asound/modules

La liste doit montrer l’USB audio en position 0. Récupérer un fichier wav quelque part (via une clé USB par exemple). Brancher la sortie de la carte son, puis :

aplay -v -D plughw:0,0 fichier.wav

Le son doit jouer correctement, sans craquement.

Installation des dépendances logicielles

Installer git, Jack2, ALSA et autoconf :

sudo apt-get -y install libjack-jackd2-dev libasound2-dev
sudo apt-get -y install git git-core autoconf

wiringPi passe par un autre mode d’installation :

git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Installation de Pédale Vite

On commence par télécharger le code dans ~/Documents.

cd ~
mkdir Documents
cd Documents
git clone https://github.com/EleonoreMizo/pedalevite.git

Compilation :

cd pedalevite/build/unix
./autogen.sh
./configure-release
make -j4

Vérifier que tout s’est bien passé et qu’il y a un exécutable pedalevite dans le répertoire courant. On installe ensuite le logiciel dans son répertoire, ainsi que quelques autres fichiers :

sudo mkdir -p /opt/pedalevite/bin /opt/pedalevite/etc/config
sudo cp ./pedalevite /opt/pedalevite/bin/pedalevite
sudo cp ../../bin/mv_rofs.sh /opt/pedalevite/bin/mv_rofs.sh

Le Pi peut maintenant être inséré dans son boîtier et connecté à toutes les cartes et périphériques nécessaires (cf. les instructions de montage). Une fois ceci fait, on peut lancer Pédale Vite pour tester :

/opt/pedalevite/bin/pedalevite

Le programme doit se mettre en route et tourner normalement. Ctrl+C pour l’interrompre.

Démarrage automatique de Pédale Vite

sudo cp /etc/init.d/skeleton /etc/init.d/pedalevite
sudo chmod +x /etc/init.d/pedalevite
sudo nano /etc/init.d/pedalevite

Modifier le fichier de la façon suivante :

#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides:          pedalevite
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts and stops Pedale Vite
# Description:       This service is used to process the sound from a guitar
### END INIT INFO

# Author: Foo Bar 
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.

case "$1" in
    start)
	echo "Starting Pedale Vite"
	/opt/pedalevite/bin/pedalevite &
	;;
    stop)
	echo "Stopping Pedale Vite"
	killall pedalevite
	;;
    *)
	echo "Usage: /etc/init.d/pedalevite start|stop"
	exit 1
	;;
esac

exit 0

Puis :

sudo update-rc.d pedalevite defaults

Pédale Vite se lancera automatiquement au prochain démarrage du Pi. Il peut être lancé immédiatement :

sudo /etc/init.d/pedalevite start

Optimisation du temps de démarrage

Éditer le fichier :

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Ajouter les lignes suivantes pour désactiver WiFi et Bluetooth :

#wifi
blacklist brcmfmac
blacklist brcmutil
#bluetooth
blacklist btbcm
blacklist hci_uart

Retrait de NOOBS

Si vous avez installé Raspbian directement, comme conseillé, vous pouvez sauter cette partie. Sinon, il nous faut retirer NOOBS qui est le principal retardateur du démarrage.

sudo fdisk -l

Repérer le numéro de la partition de NOOBS. C’est habituellement la numéro 1, 1 Go en FAT16. Repérer ensuite le numéro de l’autre partition de boot, en FAT32. C’est habituellement la numéro 6, précédant la grosse partition Linux qui couvre le reste du disque.

Monter la partition NOOBS :

sudo mkdir /mnt/noobs
sudo mount /dev/mmcblk0p1 /mnt/noobs

Ajouter autoboot.txt :

nano /mnt/noobs/autoboot.txt

Y écrire la ligne suivante, en remplaçant éventuellement 6 par le numéro de la partition voulue :

boot_partition=6

Redémarrer pour tester que tout fonctionne bien.

Passage du système en lecture seule et autres optimisations

Cette partie doit être traitée consciencieusement afin de ne pas laisser le système dans un état incohérent. Commencer par retirer les choses qui ne sont pas nécessaire ni même adaptées à des opérations en lecture seule :

sudo apt-get -y remove --purge wolfram-engine triggerhappy pi-bluetooth
sudo apt-get -y remove --purge cron anacron logrotate dbus dphys-swapfile

Retirer le serveur X et compagnie :

sudo apt-get -y remove --purge xserver-common lightdm
sudo insserv -r x11-common

Retirer les dépendances devenues inutiles :

sudo apt-get -y autoremove --purge

Installer busybox syslog à la place de rsyslog :

sudo apt-get -y install busybox-syslogd
sudo dpkg --purge rsyslog

Changer la place des baux DHCP :

sudo rm -rf /var/lib/dhcp/
sudo ln -s /tmp /var/lib/dhcp
sudo rm /etc/resolv.conf
sudo ln -s /tmp/dhcpcd.resolv.conf /etc/resolv.conf

Remplacer certains sous-répertoires de var par des liens symboliques sur le lecteur RAM :

sudo rm -rf /var/lib/dhcp/ /var/run /var/spool /var/lock
sudo ln -s /tmp /var/lib/dhcp/
sudo ln -s /tmp /var/run
sudo ln -s /tmp /var/spool
sudo ln -s /tmp /var/lock
sudo rm /var/lib/systemd/random-seed
sudo ln -s /tmp/random-seed /var/lib/systemd/random-seed
sudo rmdir /var/run/sshd
sudo ln -s /tmp /var/run/sshd

Créer le fichier /tmp/random-seed au démarrage :

sudo nano /lib/systemd/system/systemd-random-seed.service

Ajouter la ligne ExecStartPre dans [Services] :

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/echo "" >/tmp/random-seed
ExecStart=/lib/systemd/systemd-random-seed load
ExecStop=/lib/systemd/systemd-random-seed save

Autres détails :

sudo nano /etc/init.d/checkroot.sh

Commenter le do_start dans le bloc case à la fin du fichier :

case "$1" in
  start|"")
        #do_start
        ;;
  restart|reload|force-reload)
sudo nano /etc/init.d/checkfs.sh

Idem, commenter le do_start à la fin

sudo nano /etc/init.d/checkroot-bootclean.sh

Commenter le rm et le clean_all dans le case start

sudo insserv -r bootlogs
sudo insserv -r alsa-utils
sudo insserv -r console-setup
sudo insserv -r fake-hwclock
sudo nano /etc/systemd/system/dhcpcd5

Modifier le fichier pour placer le PIDFile dans /var :

[Service]
Type=forking
PIDFile=/var/run/dhcpcd.pid
ExecStart=/sbin/dhcpcd -q -b
ExecStop=/sbin/dhcpcd -x
sudo nano /etc/fstab

Ajouter ,ro après les defaults pour les partitions du disque :

proc            /proc           proc    defaults             0       0
/dev/mmcblk0p1  /boot           vfat    defaults,ro          0       2
/dev/mmcblk0p2  /               ext4    defaults,ro,noatime  0       1

mmcblk0p1 et 2 seront remplacés par 6 et 7 dans le cas d’une installation NOOBS. Ajouter également les ligne :

tmpfs           /tmp            tmpfs   nosuid,nodev         0       0
tmpfs           /var/log        tmpfs   nosuid,nodev         0       0
tmpfs           /var/tmp        tmpfs   nosuid,nodev         0       0
sudo nano /boot/cmdline.txt

Ajouter fastboot noswap ro tout à la fin de la ligne :

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait fastboot noswap ro

De même, mmcblk0p1 peut changer en fonction de la présence de NOOBS.

sudo nano /etc/rc.local

Ajouter le chmod avant le exit 0 :

  printf "My IP address is %s\n" "$_IP"
fi

chmod g+w,o+w /tmp
exit 0

Pour rebasculer automatiquement en lecture seule quand on se déconnecte, éditer ou créer le fichier :

sudo nano /etc/bash.bash_logout

Ajouter les lignes suivantes à la fin :

mount -o remount,ro /
mount -o remount,ro /boot

Signaler les changements à systemd :

sudo systemctl daemon-reload

Redémarrer. Pédale Vite est à présent opérationnel.

Note : si vous n’avez pas changé le mot de passe du compte pi, le script d’avertissement (/etc/profile.d/sshpasswd.sh) va planter lors de chaque login en affichant :

Failed to get D-Bus connection: No such file or directory

Cela ne pose cependant aucun problème et il est possible de retirer du script les lignes contenant l’instruction fautive service ssh status.

Il y a maintenant quelques petits trucs à savoir afin de faciliter les opérations de maintenance. En effet, le système n’est maintenant plus accessible en écriture. Si une quelconque modification doit être faite, on peut réactiver l’accès en écriture à l’aide de cette commande :

sudo mount -o remount,rw /

Remplacer rw par ro permet de repasser le système en lecture seule. Par ailleurs certaines opérations nécessitent également d’avoir /boot en écriture, comme par exemple la mise à jour du système par apt-get dist-upgrade. Il faut alors exécuter cette commande en plus :

sudo mount -o remount,rw /boot

V. Maintenance

Tests et dépannage

À venir…

Code source

Bien que le matériel tienne une place de choix dans Pédale Vite, il s’agit quand même essentiellement d’un projet logiciel. Cette partie décrit succintement l’architecture du programme ainsi que ce qu’il faut savoir pour l’adapter facilement à des modifications du matériel.

Compilation

Les fichiers de projet se trouvent dans le répertoire pedalevite/build.

Le sous-répertoire unix contient ce qu’il faut pour compiler sur le Pi et à destination du Pi. Makefile.am est le fichier à modifier pour ajouter les fichiers source. configure-debug et configure-release permettent de choisir la configuration de compilation. Un coup de make -j4 recompile le projet. Voir aussi les instructions d’installation logicielle.

win contient les projets pour Visual Studio 2013. Les sources sont divisées en plusieurs catégories :

Ces trois projets sont intégrés dans la solution pedalevite.sln.

Si la carte son de votre machine n’a pas de drivers ASIO, il est tout à fait possible de faire tourner ASIO4ALL. Par défaut les canaux d’entrée de l’émulateur Pédale Vite sont les numéros 3 et 4 (ce sont les entrées niveau instrument de ma carte). Il vous faudra probablement les changer en modifiant la valeur de chn_idx_in vers la fin de pedalevite/src/main.cpp :

#elif (MAIN_API == MAIN_API_ASIO)
	mfx::adrv::DAsio  snd_drv;
	chn_idx_in = 2;
#else

L’émulation utilise les touches suivantes :

A Z E R T Y ou Q W E R T YPédales 0 à 5, rangée du haut
Q S D F G H ou A S D F G HPédales 6 à 11, rangée du bas
0 1 28 9 du pavé numériqueDifférentes valeurs pour la pédale d’expression 0
1 2,
3 4,
… …,
9 0
−1 et +1 des 5 codeurs incrémentaux
W X C ou Z X C et
V B N
−1, +1 et bouton des 2 codeurs incrémentaux de navigation
ReturnSelect de l’interface d’utilisation
EscEsc de l’interface d’utilisation
Flèches directionnellesFlèches de l’interface d’utilisation

Architecture

Threads

Le programme se répartit grosso-modo en 3 threads :

Les threads communiquent entre eux à l’aide de files non-bloquantes (lock-free queues). La plupart des informations sont centralisées par le thread principal, cependant certaines communications ont lieu directement entre le thread des entrées et le thread audio, afin de maximiser la réactivité du traitement sonore face aux sollicitations extérieures.

Paradigme MVC

L’architecture suit le paradigme MVC (Model-View-Controller). Le modèle mfx::Model pilote une partie bas-niveau de commande du moteur audio mfx::cmd::Central. Les données y sont préparées, toujours dans le thread principal, et communiquées de manière transactionnelle au thread audio dont l’essentiel se trouve dans mfx::WorldAudio.

La structure du document (banques, programmes, réglages divers…) est décrite dans mfx::doc. Le fichier de sauvegarde etc/config/current est directement généré et lu par l’interface de sérialisation.

Les différents drivers audio se trouvent dans mfx::adrv. Le gros du code spécifique à la plate-forme se trouve dans mfx::ui. C’est dans ces classes qu’on peut changer la polartié des interrupteurs, leur ordre, les numéros de broche GPIO, la vitesse des interfaces de communication et tout autre détail relevant du matériel.

L’interface d’utilisation se décompose sous forme de pages dans mfx::uitk::pg. Ces pages sont activées en fonction de la navigation de l’utilisateur·ice. Elles sont enregistrées comme vues et agissent comme contrôleur, au sens MVC. Elles utilisent un système sommaire de GUI arborescente implémenté dans mfx::uitk, permettant de placer des contrôles, de recevoir des événements d’utilisation et de naviguer simplement dans ces éléments.

Les effets sont organisés dans mfx::pi selon une logique de plug-in, bien que celle-ci ne soit pas encore déployée comme telle. L’interface commune se trouve dans mfx::piapi. Chaque effet est en fait divisé en deux plug-ins. D’une part l’effet proprement dit, d’autre part un plug-in de mixage implémentant le bypass, le volume et le mélange dry/wet.

Toutes ces pièces sont scotchées ensemble dans pedalevite/src/mfx/main.cpp qui a une forme encore très brouillonne. L’essentiel du paramétrage figure dans mfx::Cst.

Il y aurait bien d’autres choses à dire sur l’architecture du code et les détails d’implémentation, cependant c’est une tâche sans fin. Cette section sera éventuellement étoffée plus tard.

Arborescence

L’arborescence des sources dans pedalevite/src suit relativement précisément celle des namespaces. Les classe sont implémentées dans des fichiers qui portent leur nom, à l’instar de la convention en Java. Notons les namespaces suivants :

pedalevite/etc/config contient les configurations du pédalier (en particulier current). Ce répertoire est copié dans le lieu d’installation /opt/pedalevite sur le Pi et utilisé in-situ par l’émulateur Windows.

VI. Amérliorations et variations envisageables

Pour les personnes que la complexité ou le prix rebutte, il y a de nombreuses façons de réduire les coûts ou de simplifier le montage. Voici quelques unes de celles qui me sont passées par la tête.

Carte son à l’extérieur

Il y a de nombreux avantages :

En terme d’inconvénients :

Matériaux moins coûteux

On peut déjà optimiser les prix en choisissant des fournisseurs plus avantageux. Ça demande de faire une recherche un peu exhaustive et de vérifier la compatibilité des pièces si celles-ci diffèrent de celles suggérées.

Il y a une réduction significative de coûts à faire avec la connectique audio interne, si on choisit de garder la carte son à l’intérieur. Inutile de prendre des prises jack Neutrik et du câble de première qualité. L’entrée de gamme devrait suffire, à condition que le blindage soit correct, surtout pour les câbles d’entrée.

Par contre je pense qu’il serait maladroit d’essayer d’économiser sur les interrupteurs au pied. La solidité de ces composants est primordiale.

Suppression des codeurs incrémentaux

Dans la configuration actuelle, je ne les utilise pas aussi souvent que je l’imaginais. Je pense qu’on peut s’en passer sans problème.

Ça fait de la connectique, des coûts et une carte en moins. On doit pouvoir se passer de la deuxième plaque de prototypage. Le gain tourne autour de 25 € HT

Carte unique en PCB

Utiliser la version PCB de Pédale Vite est certainement un moyen efficace d’en simplifier le montage. On gagne sur le tracé des pistes, on fait sauter plusieurs câbles de liaison et il y a moins de trous à percer sur la plaque de métal. Par contre le PCB en l’état est double face et assez précis (vias de 0,4 mm), il me semble difficile de le réaliser en DIY. Il faudra passer par une entreprise de gravure ou en changer la conception pour utiliser une insolation artisanale.

Pour une production groupée, même à petite échelle, il doit y avoir un intérêt en terme budgétaire. Celui-ci reste tout de même à évaluer pour une production strictement individuelle.

L’électronique est identique à celle utilisée sur les cartes proto. Les connecteurs également, à part deux d’entre eux.

La plaque se fixe au milieu, à la place de la carte des interrupteurs, dans le sens de la hauteur. Elle tient tout juste sous l’écran. Tous les fichiers nécessaires (sources KiCAD et exports Gerber) sont dans le dépôt Git dans doc/pcb-v1_1.

Substitution des résistances de tirage

Le RPi ainsi que les extenseurs de ports 23017 disposent de résistances interne de tirage. On peut les utiliser à la place de la myriade de 10 kΩ et faire sauter au passage les condensateurs anti-rebond qui vont avec. Ça donnera quelque chose d’électriquement un peu moins propre, mais qui devrait tenir la route. Le code à changer pour activer ces résistances dans les puces est minime. Le lissage des rebonds est déjà doublé en software et ne devrait pas nécessiter de changement.

Il y a peu à gagner en terme de coûts, les résistances et condensateurs céramiques étant bon marché. Cependant la simplification des circuits est significative. On doit pouvoir faire tenir tout ce qui a trait aux contacts dans une seule carte.

Utilisation des ponts sur l’écran

L’écran utilisé est un 12864ZW. Je ne l’ai appris que plus tard, mais celui-ci dispose de plusieurs passages sur son PCB permettant d’activer certaines fonctionnalités en y déposant un pont de soudure. Ces ponts relient à la masse ou à la tension d’’alimentation diverses broches du connecteur principal. Ça aurait été utile pour activer le rétro-éclairage ou le protocole série sans avoir à rajouter manuellement les broches et les cables qui allaient avec.

Réduction du nombre de connecteurs

La plupart des liaisons entre les cartes et composants principaux sont faites au moyen de câbles terminés par des connecteurs aux deux bouts. On peut s’en affranchir de certains et les remplacer par de la soudure simple. Toutefois je déconseille de souder les câbles aux deux bouts, la maintenance et le contrôle s’en trouveraient grandement réduits.

D’autre part, comme beaucoup de fils voyagent ensemble, il est aussi possible de prendre de la nappe et de tailler des morceaux dedans afin d’avoir des groupes de fils déjà solidaires. Un bon mètre de nappe multicolore 40 fils devrait suffire pour l’ensemble du montage. Attention tout de même, le diamètre du fil de nappe est souvent assez faible et peut être limite pour le brochage HE-14. Mais peut-être que d’autres types de connecteurs seront plus adaptés.

VII. Historique des versions

r1, 2017.09.24

r0, 2016.12.31