Ritournelle

Révision de 28 novembre 2014 à 18:33 par ThomasB (discussion | contributions) (M.I.D.I)

Révision de 28 novembre 2014 à 18:33 par ThomasB (discussion | contributions) (M.I.D.I)


prototypage d'une interface MIDI pour contrôler tous types de jouets.

Autonome.JPG

Contributeur·ice·s

Statut du projet

experimental

Statut de la publication

License

GPL v3.0 / CC-NC-BY-SA

Inspiration

Fichiers source

Machines

Lien




==

Sommaire

INTERFACE M.I.D.I POUR OBJETS ÉLECTRONIQUES DÉTOURNÉS

NOTE D'INTENTION

Le but est de pouvoir contrôler en M.I.D.I n'importe quelle machine électronique fonctionnant sur faible voltage (12V maximum).
La plupart de ces machines peuvent se trouver à bas coût dans les vides greniers, ressourceries etc.
Ça peut être par exemple des jouets électroniques, des petits claviers, des radios etc.

Ainsi Ritournelle transforme tout type de rebut électronique en un potentiel instrument à intégrer à sa collection.
C'est aussi une façon de prolonger la pratique du circuit-bending en y ajoutant de nouvelles possibilités de jeu et de nouvelles pratiques de hacking :
Après avoir modifier certaines sonorités d'un jouet par exemple, en explorant son électronique, il est désormais possible de séquencer ce jouet avec un logiciel ou un séquenceur M.I.D.I.

Une des intentions également, est de pouvoir proposer un objet que l'on peut réaliser soi même, disposant des licences adéquates, et en ayant un coût le plus faible possible
en terme de composants par exemple. Un objet que l'on puisse produire chez soi ou dans l'atelier du coin en fonction de la demande, et en remerciant au passage les ouvriers
de l'empire du milieu qui œuvrent à la production de condensateurs et autres transistors à bas coût tout en déversant moult solvants et acides dans leurs rivières.

CONSTRUIRE UNE RITOURNELLE

Cette documentation vise à permettre la réalisation, dans les meilleures conditions possibles, d'une Ritournelle.
Elle donne les outils intellectuels et logiciels nécessaires à sa construction.
Reste à trouver un atelier dans lequel avoir accès aux outils matériels nécessaires pour la réalisation complète (fraiseuse, platine d'essai, composants etc.).

MATÉRIEL NÉCESSAIRE

Voici la liste de matériel nécessaire pour réaliser une Ritournelle (j'entends par la, une version abouti sur PCB), mais aussi la modifier.
Je donne ainsi une liste exhaustive de tout ce dont il est nécessaire pour comprendre la conception de Ritournelle.
Si vous désirez uniquement fraiser un PCB vous pouvez aller directement à la partie MARCHE À SUIVRE.

PARTIE LOGICIELLE

Une partie de la réalisation de Ritournelle est conçue sur un ordinateur aux capacités relativement modestes.
Vous aurez besoin d'une connexion Internet et des 2 logiciels suivants pour accéder au programme et à la conception électronique de Ritournelle.

ARDUINO

À la fois, environnement de développement (IDE), langage de programmation et microcontrôleur, Arduino est la plateforme de conception Libre utilisée pour réaliser Ritournelle.
Plus d'informations ici : http://fr.flossmanuals.net/arduino/vous-avez-dit-arduino/
Télécharger : http://arduino.cc/en/Main/Software (version 1 ou supérieure)
Vous pouvez également télécharger le code que j'ai développé pour Ritournelle sur mon compte Gitorious.

G.E.D.A

GEDA est une suite logicielle de conception assistée par ordinateur sous licence Libre.
GEDA permet la réalisation de schémas électriques, de PCB et d'une multitudes de choses plus ou moins pointus dans le domaine de la conception électronique.
la page wikipédia  : https://en.wikipedia.org/wiki/GEDA et le site officiel : http://www.geda-project.org/
Et enfin la page GEDA sur fablabo : http://fablabo.net/wiki/Geda
Vous pouvez télécharger la dernière version du schéma électrique ainsi que du PCB de Ritournelle sur mon compte Gitorious.

PARTIE MATÉRIELLE

La partie matérielle qui a permit la réalisation de Ritournelle est un vaste chantier en cours, dont je vous propose ici un instantané.
J'ai la plupart du temps travaillé avec une platine de prototypage afin d'effectuer des essais et de conceptualiser le modèle actuel.
La catégorie ATMEL évoque plus précisément le microcontrôleur utilisé dans les Arduino UNO que j'ai utilisés pour prototyper mon programme et mon circuit.
Enfin, il existe un ensemble de plus petits composants et matériel (résistances, fils etc.) que je n'ai pas spécifier ici et qui peut être identifié lors de la lecture des fichiers sources intégrés à cette documentation.

ATMEL ATMEGA328

Le microcontroleur d'Atmel ATMEGA328 est celui que l'on trouve le plus facilement à la date ou j'écris ces lignes, sur les Arduino UNO.
Ce qui peut dérouter dans un premier temps c'est le lien qu'il y a à faire entre les entrées/sorties d'Arduino, les numéros des pins de connections
de la puce et le programme que l'on va utiliser dans Arduino IDE par exemple.
Vous pouvez consulter la documentation du ATMEGA328 qui explique tout ça en détail.

M.I.D.I


Ritournelle utilise le protocole de communication M.I.D.I qui est un protocole déjà ancien puisqu’il date de 1983.
C'est un protocole qui a ses limites mais un de ses avantages est qu'il soit devenu une norme pour les instruments électroniques.
C'est en quelques sorte, le jargon universel de la grande majorité de nos petites bébêtes électroniques disposant des fameuses prises DIN à 5 broches,
permettant de les relier physiquement les unes aux autres.
Dans Ritournelle, le M.I.D.I va permettre de relier un instrument qui peut générer des notes MIDI à un jouet électronique par exemple, et ainsi,
le contrôler, lui envoyer des notes, en lui précisant la hauteur de la notes, la durée etc.
Intégrer une entrée M.I.D.I sur un microcontroleur ATMEGA328 n'est pas quelque chose de bien compliqué.
Pour cela, il faut ajouter quelques composants:

Un optocoupleur du type 4N25.
une diode
2 résistances


Vous remarquerez dans la partie logicielle que j'ai utilisé une librairie MIDI pour Arduino.

4051

méthode proposée par Casper Electronics

Le circuit logique 4051 est un 1-OF-8 SWITCH. Comprenez que c'est un circuit intégré capable de relier un point de connexion à 8 autres,
en utilisant uniquement une combinaison de 3 "interrupteurs". C'est ce que l'on nomme dans l'idiome électronicien un multiplexeur démultiplexeur.
Cette petite chose que l'on peut aisément se procurer pour la modique somme de 30 centimes, permet de contrôler 8 interrupteurs avec seulement 3 sorties Arduino.
Mais ATTENTION, il faut que c'est 8 interrupteurs aient une base commune, d'où le 1-OF-8 SWITCH.
Si ce n'est pas le cas sur le jouet électronique que vous voulez contrôler, alors il vaudra mieux peut-être se tourner vers une des versions alternatives de Ritournelle,
telle que celle utilisant des 4066.

En combinant deux 4051 comme c'est le cas actuellement dans cette version de Ritournelle, on augmente le nombre de points de connexion de façon exponentielle.
Ainsi comme le montre le schéma emprunté à Little Scale, un des 4051 fonctionne en multiplexeur et le second, en démultiplexeur.
Les deux sont reliés et c'est leur combinaison qui permet de contrôler jusqu'à 64 points de connexion sur un jouet.
À noter qu'il est possible de contrôler plusieurs objets électroniques simultanément avec une seule Ritournelle -
même si ce n'est pas conseillé avec ce modèle - et uniquement en utilisant des entrées séparées du multiplexeur.

NB : Les 4051 sont des composants actifs, ils faut les alimenter dans votre circuit.

MARCHE À SUIVRE

Voici maintenant la marche à suivre à différentes étapes de la réalisation de Ritournelle.

ÉDITER LE CODE

Pour éditer le code, vous avez besoin du code déposé sur mon compte gitorious
ainsi que de l'IDE d'Arduino.
Le code est commenté afin de comprendre à quoi chaque partie correspond. N'hésitez pas à faire des retours ou modifications.

MODIFIER LA PARTIE ÉLECTRONIQUE

MATÉRIELLE

En ce qui concerne la partie électronique matérielle, des modifications sont possibles en se basant sur la liste du matériel par exemple qui peut être changée en fonction
des usages.
Vouspouvez vous basez sur les photos et le schéma électrique disponible sur mon compte gitorious.
Dans les améliorations prévues à venir :

intégration d'un régulateur de tension.
LOGICIELLE

Vous pouvez éditer la partie schéma électrique ainsi que sa mise en forme à partir des fichier sur gitorious (cf liens plus ahut).
Certains documents tels que les empreintes (footprints) et schémas électriques de certains composants peuvent manqués, n'hésitez pas à me le signaler.

GRAVER SON PCB

Il existe plusieurs façon de créer son PCB. La version chimique est la plus connue et la plus utilisée.
Cependant, bénéficiant d'un accès à des outils à commande numérique, j'ai décidé de réaliser mes PCB avec une fraiseuse à CMD.
Celle disponible à PFC est une Roland MDX20 vous pourrez trouver la marche à suivre pour fraiser une plaque de cuivre sur cette page.
Un page à déjà été créée sur fablabo concernant la gravure de PCB avec la fraiseuse, elle est légèrement obsolète mais certaines informations
peuvent encore être utilent : http://fablabo.net/wiki/Gravure_pcb

DES VERSIONS ALTERNATIVES

En parallèle, je travaille sur des versions alternatives, pour plusieurs raisons.
La première raison est le fait que les 4051 fonctionnent de façon réellement spécifique en permettant de déclencher quantité de boutons, à la condition
que ceux ci aient des bases communes. C'est une version tout à fait valable pour un jouet ayant un grand nombre de points à déclencher par exemple, comme un clavier,
et des points déclenchés par des bases communes.
Pour le cas ou un jouet possède 10 boutons par exemple, mais que chacun d'entre eux possède des points de déclenchement indépendants alors il vaut mieux utiliser
une autre version de Ritournelle, comme celle exploitant des 4066 par exemple.

4066

RESSOURCES

LITTLE SCALE

CASPER ELECTRONICS

HIGHLY LIQUID

SONELEC MUSIQUE

LICENCES

Le choix de la licence pour ce projet est multiple car les matériaux utilisés le sont également. Ces choix tendent à être modifié dans un futur proche, car je suis désireux d'intégrer la licence PPL (Peer Production Licence). http://p2pfoundation.net/Peer_Production_License La partie logicielle, comprenant le code est sous licence GPL V 3. La partie projet est elle sous licence Creative Commons CC-NC-BY-SA pour l'instant, dans la mesure ou on considère Ritournelle comme une prodution rattachée à la propriété littéraire et artistique. Dans la mesure ou Ritournelle aurait des intention d'industrialisation, alors le CC ne serait plus efficace et il faudrait trouver une autre façon de produire cet objet dans une dynamique de Culture Libre. Pour plus d'informations veuillez vous renseignez auprès de la C.E.P.I http://fablabo.net/wiki/CEPI

LICENCE LIBRE GPL V3

PEER PRODUCTION LICENCE