ENIB2020 :Random music instrument
Sommaire
Random music instrument
Le but de ce projet est de créer un instrument de musique numérique. L'instrument utilise la position des mains de l'utilisateur pour générer des notes. Le tempo et la hauteur du son sont réglables par l'utilisateur via des boutons.
===Matériel=== 0
Ce projet est composé de deux modules similaires basés sur des arduinos nano, ils utilisent des capteurs ultrasons pour détecter la position des mains de l'utilisateur et des buzzers pour générer les notes. Les interfaces utilisateur sont partagés et utilisent un potentiomètre analogique un joystick et un écran LCD RGB.
Liste de matériel :
- Arduino nano x2
- Capteur ultrasons (HC-SR04) x2
- Buzzer x2
- Joystick
- Potentiomètre linéaire
- Écran LCD (Grove-LCD RGB Backlight)
Câblage
Section en cours de rédaction.
Programme
Les deux arduinos utilisent le même programme, seul un argument doit être changé afin de définir un maître et un esclave.
Génération des notes
L'instrument ne génère pas des sons aléatoirement, il utilise une note de référence dite fondamentale et monte dans la gamme sur une octave en fonction de la position de la main. L'utilisateur peut sélectionner l'octave sur laquelle l'instrument fonctionne a l'aide du joystick, l'octave utilise la fondamentale comme référence. Les deux arduinos peuvent fonctionner sur deux octaves différentes mais la note fondamentale est une valeur fixé dans le programme, si l'utilisateur souhaite changer la fondamentale il est recommandé de la changer sur les deux arduinos afin que la musique reste cohérente.
inserer exemple code
Communication entre les arduinos
L'instrument utilise un seul joystick pour commander les deux arduinos, ceux ci sont donc connectés par l'intermédiaire d'une connexion série. Les deux arduinos sont dans une configuration maître esclave, le joystick est connecté au maître qui envoie les commandes a l'esclave lorsqu'elles lui sont destinés. Les commandes sont envoyés sous forme de valeurs numériques entières définies dans le programme.