Page 1 sur 1

Projet DIY affichage notes CV

Publié : 23 nov. 2021, 11:19
par Korganova
Bonjour,

Avez vous connaissance d'un projet (arduino ou autre) DIY permettant d'afficher les notes reçu en CV sur un petit écran afin d'en faire un module eurorack ?

Re: Projet DIY affichage notes CV

Publié : 23 nov. 2021, 18:42
par yusynth
Je ne connais rien d'existant faisant cela mais j'imagine que ce n'est pas trop dur à réaliser.

Re: Projet DIY affichage notes CV

Publié : 23 nov. 2021, 20:12
par ACX

Re: Projet DIY affichage notes CV

Publié : 23 nov. 2021, 22:48
par pjmnc
en open source, il y a le également midipal de mutable qui fait, par ailleurs une quantité de choses mais notamment l'affichage de notes midi.
doc https://mutable-instruments.net/archive/midipal/manual/
schema https://mutable-instruments.net/archive ... al-v03.pdf
firmware https://midisizer.files.wordpress.com/2 ... al_v14.zip
github https://github.com/pichenettes/midipal code source

Re: Projet DIY affichage notes CV

Publié : 06 déc. 2021, 21:12
par Portamento
Effectivement, je ne connais pas de projet permettant de convertir une entrée CV en affichage de note.

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 17:37
par pjmnc
En affectant A0 comme entrée cv 0/5V (pas plus) et la sortie serial par un lcd, ce petit code ferait l'affaire avec une arduino, je pense.

Code : Tout sélectionner

String cad[52] = {"C1", "C#1", "D1", "D#1", "E1", "F1", "F#1", "G1", "G#1", "A1", "A#1", "B1", "C2", "C#2", "D2", "D#2", "E2", "F2", "F#2", "G2", "G#2", "A2", "A#2", "B2", "C3", "C#3", "D3", "D#3", "E3", "F3", "F#3", "G3", "G#3", "A3", "A#3", "B3", "C4", "C#4", "D4", "D#4", "E4", "F4", "F#4", "G4", "G#4", "A4", "A#4", "B4", "C5", "C#5", "D5", "D#5"}; // 52 NOTES

void setup()
{
	Serial.begin(9600);
}

void loop()
{
	int note = map (analogRead(A0), 0, 1023, 0, 51);
	Serial.println(cad[note]);
}

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 17:56
par Portamento
Oui, l'essentiel est la.
Cependant attention au centrage de la valeur CV au travers de l'arrondi.
Tu es décalé d'un quart de ton a chaque note. Mais effectivement, ce n'est pas plus compliqué que ça.

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 18:09
par pjmnc
c'est possible pour le décalage :)

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 19:02
par Portamento
Le principe est de calculer deux fois plus d'intervalle, de décaler de 1, puis de diviser par deux.

Ce doit être un truc genre : (sans contrôle)
int note = (map (analogRead(A0), 0, 1023, 0, 102)-1)/2;

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 20:16
par oryjen
C'est rigolo ce langage (je découvre): Ca me rappelle les basics évolués de la fin des 8 bits...
Ca n'a pas l'air trop difficile...

Re: Projet DIY affichage notes CV

Publié : 07 déc. 2021, 21:10
par Portamento
Depuis mon sinclair ZX81 et mon TI84, je suis passé par plein de langages sur plein d'environnements. Le langage n'a jamais été un frein, on se fait un traducteur automatique virtuel.
Seul le contenu des algorithmes réclame de l'attention.

Re: Projet DIY affichage notes CV

Publié : 08 déc. 2021, 10:55
par pfeuh
Tu veux un index entier qui va de 0 à 51 proportionnel à un nombre de pas qui va de 0 à 1023. Un problème bien énoncé est à moitié résolu.

A part passer explicitement pas les flottants, je ne vois pas... sauf peut-être une bonne vieille table d'index de1024 éléments. Calculée avant compilation, bien sûr. Ce procédé a l'avantage de ne pas passer par les flottants et il n'y a pas plus rapide que la lecture de table. Une table de 1024 unsigned short integer (il y a un typedef word dans environnement Arduino qui l'utilise) fait 2048 octets, ce qui entre largement dans le plus petit des Arduino, le programme n'ayant en plus rien d'autre à faire.

Tu risques d'être très déçu par l'ADC de l'Arduino.

[edit]
Ca ne marchera pas car le tableau va être crée dans la RAM qui est très petite.
Jette un œil à progmem
Pour info le tableau de string que tu as créé est lui aussi dans la RAM. As tu compilé et vu fonctionner le bout de code que tu as publié?
[edir/]