Table des matières:

Quick Fruit Piano avec MIDI : 6 étapes (avec photos)
Quick Fruit Piano avec MIDI : 6 étapes (avec photos)

Vidéo: Quick Fruit Piano avec MIDI : 6 étapes (avec photos)

Vidéo: Quick Fruit Piano avec MIDI : 6 étapes (avec photos)
Vidéo: Growing Bonds and Teasing Threads | Critical Role | Campaign 3, Episode 6 2024, Novembre
Anonim
Image
Image
Piano à fruits rapide avec MIDI
Piano à fruits rapide avec MIDI

Il s'agit d'un piano au toucher capacitif très simple. Tapez sur des fruits, des canettes de soda, des bouteilles d'eau, des bandes de papier d'aluminium, etc., et vous obtenez une musique de piano polyphonique à partir de votre ordinateur. Maintenant que le logiciel est écrit, le projet ne devrait pas prendre plus de 10 minutes à monter avec la version Arduino.

Vous avez besoin:

  • un Arduino (Mega pour 8 touches, Uno pour 6 touches) ou une carte pilule noire STM32F103C8 (2 $ sur Aliexpress) plus un convertisseur UART-vers-USB (par exemple, un Arduino ou un CH340)
  • cable USB
  • du papier aluminium
  • testez les clips idéalement, mais les cavaliers et les trombones feront l'affaire (idée pour cela à partir d'ici)
  • des fruits, de la pâte à modeler ou des morceaux de papier avec des zones colorées au crayon
  • ordinateur.

Aucun composant supplémentaire n'est nécessaire, car il utilise le code de la brillante bibliothèque ADCTouch de martin2250 et l'Arduino envoie des commandes MIDI en série à l'ordinateur. La lecture audio de l'Arduino se fait soit via un script python inclus sur l'ordinateur, soit via hairless-midiserial.

Si vous utilisez la carte de développement STM32F103C8, alors c'est encore plus joli: le piano devient un véritable contrôleur MIDI USB, sans avoir besoin de hairless-midiserial.

Remarque: pour éviter d'endommager l'Arduino/STM32F1 par l'électricité statique, en particulier par temps sec ou sur un tapis, je suggère de ne pas toucher la feuille d'aluminium ou les clips de test lorsque l'appareil fonctionne. Au lieu de cela, touchez les fruits, la pâte à modeler, etc., dont la résistance devrait fournir une certaine protection contre les décharges électrostatiques

Étape 1: Bibliothèques Arduino

Bibliothèques Arduino
Bibliothèques Arduino

Dans l'IDE Arduino, choisissez Sketch | Inclure la bibliothèque | Gestionnaire de bibliothèque. Recherchez mon ADCTouchSensor. Installez la bibliothèque.

Ensuite, choisissez Fichier | Exemples | ADCTouchSensor | CapacitifPiano.

Si vous avez un Arduino, branchez votre Arduino sur le port USB de votre ordinateur et téléchargez le sketch CapacitivePiano sur votre Uno ou Mega. L'esquisse enverra des données à l'ordinateur via USB série pour savoir lequel des 8 (Mega) ou 6 (Uno) capteurs capacitifs a été déclenché.

Si vous avez un STM32F103C8, installez d'abord le chargeur de démarrage et configurez l'IDE Arduino pour celui-ci (avec ma branche de la branche addMidiHID) en suivant les trois premières étapes ici. Revenez ensuite au gestionnaire de bibliothèque et recherchez ma bibliothèque USBHID_stm32f1. Installez-le.

Étape 2: Attachez les pistes aux touches du piano

Attachez les fils aux touches du piano
Attachez les fils aux touches du piano
Attachez les fils aux touches du piano
Attachez les fils aux touches du piano

Acheminez les fils des broches A0-A7 (A0-A5 sur Uno) de votre Arduino ou STM32F103C8 à tout ce que vous souhaitez utiliser comme touches de piano. Par exemple, j'ai utilisé des pulls avec des pinces crocodiles ou des pinces de test allant à des morceaux de papier d'aluminium sur chacun desquels j'ai mis soit une canette de soda soit une orange comme clé. La feuille d'aluminium peut être utilisée directement comme clé. Ou on peut coller un fil dans un morceau de fruit ou de légume ou de pâte à modeler.

Étape 3: Installer le logiciel: Option A: Arduino et Hairless MIDI vers pont série

Vous pouvez télécharger et installer le Hairless MIDI to Serial Bridge (Win/OSX/Linux) pour relier la sortie USB-série de l'Arduino avec le logiciel de synthétiseur de votre ordinateur.

Si vous avez Windows 7 ou une version plus récente, vous pouvez utiliser le synthétiseur intégré Microsoft Wavetable GS. Il vous suffit donc d'installer Hairless. Certains autres logiciels de lecture nécessitent loopMIDI.

Sur d'autres systèmes, vous aurez peut-être besoin d'un synthétiseur MIDI comme VirtualMidiSynth ou Garageband. Vous pouvez également utiliser VirtualMidiSynth sous Windows si vous le souhaitez.

Étape 4: Installer le logiciel: Option B: Arduino et Python

Installer le logiciel: Option B: Arduino et Python
Installer le logiciel: Option B: Arduino et Python

Vous pouvez également simplement utiliser un simple script Python inclus qui lit les notes MIDI.

Assurez-vous que Python est installé sur votre ordinateur. Soit 2.7 ou 3.x fera l'affaire.

Assurez-vous que le package Python pygame est installé. Sinon, exécutez ceci à partir de la ligne de commande:

python -m pip installer pygame

Découvrez à quelle adresse se trouve le port série de votre Arduino. Votre IDE Arduino aura les ports série répertoriés sous Outils | Port.

Dans le package CapacitivePiano que vous avez téléchargé, vous trouverez le script music.py qui est le côté PC du projet.

Étape 5: Installer le logiciel: Option C: STM32F103C et logiciel de synthétiseur MIDI

Installer le logiciel: Option C: STM32F103C et logiciel de synthétiseur MIDI
Installer le logiciel: Option C: STM32F103C et logiciel de synthétiseur MIDI

Si vous avez le STM32F103C, vous pouvez utiliser n'importe quel logiciel qui fonctionne avec un contrôleur de clavier MIDI.

Sur un ordinateur, j'utilise le Virtual MIDI Piano Keyboard (VMPK). Avec le STM32F103C branché, choisissez Modifier | Connexions MIDI | Input MIDI Connection, puis choisissez Maple MIDI ou Diro Synth.

Sur un appareil Android, j'ai utilisé avec succès (avec un câble USB OTG) Common Analog Synthesizer et Synth DX7 Piano.

Étape 6: Jouez

Jouer!
Jouer!
Jouer!
Jouer!
Jouer!
Jouer!

Branchez l'Arduino avec le sketch CapacitivePiano dans l'ordinateur. Ne touchez aucun des "boutons" jusqu'à ce que seule la LED d'alimentation soit allumée, pour permettre aux boutons capacitifs d'être calibrés.

Pour l'option Hairless, exécutez le pont MIDI Hairless, choisissez le port série dans la liste déroulante. Choisissez ensuite un synthétiseur. Sous Windows, si vous choisissez Microsoft Wavetable GS Synth, tout devrait fonctionner.

Si vous souhaitez utiliser le script Python à la place, assurez-vous que vous êtes dans le répertoire où vous avez piano.py et exécutez:

port série python piano.py

où serialport est le port série d'Arduino IDE (par exemple, COMx sous Windows).

Si vous utilisez le STM32F103C8, utilisez votre logiciel de synthétiseur MIDI préféré sur un ordinateur ou un appareil mobile.

Maintenant, appuyez sur vos "boutons" et amusez-vous !

Idées pédagogiques à expérimenter pour les enfants:

  • Expérimentez avec différents éléments sur la feuille d'aluminium et voyez lesquels fonctionnent et lesquels ne fonctionnent pas, puis expliquez pourquoi ceux-ci fonctionnent et d'autres pas.
  • La pâte à modeler fonctionne très bien (et vous n'avez même pas besoin de papier d'aluminium ni de clips - vous pouvez simplement coller des fils dans la pâte à modeler, même si, il faut l'admettre, cela ressemble à une bombe !).
  • Vous pouvez même prendre un morceau de papier et ombrer les zones avec un crayon (il n'a pas besoin d'être très sombre, mais les hachures croisées sont bonnes) et les clipser.
  • Vous pouvez attacher une pince crocodile à un très gros objet métallique, comme le bord d'un tableau blanc, et fabriquer des clés géantes.
  • Une expérience à essayer consiste à demander à une personne plus petite de tenir une pince crocodile attachée à l'un des fils, puis à une personne plus grande de serrer la main ou de saluer la personne plus petite et de voir si cela s'enregistre. Ensuite, essayez à nouveau avec une personne plus grande qui la tient et une plus petite qui la touche.

Assurez-vous simplement qu'après chaque changement de ce qui est attaché à l'Arduino, vous réinitialisez l'Arduino, soit en appuyant sur le bouton "réinitialiser", soit en rebranchant la connexion USB (puis réexécutez le code python, car il plantera probablement), afin de recalibrer les capteurs.

On peut discuter de la capacité électrique et de la détection capacitive.

Conseillé: