début de travail sur les ports

This commit is contained in:
Christophe 2019-09-13 22:06:50 +02:00
parent be7a516312
commit 3fa7a52699
3 changed files with 67 additions and 29 deletions

View File

@ -74,6 +74,7 @@ B1 B2 B3 B4 B5 B6 B7 B8
B1 : à 1 pour signaler que c'est l'octet de statu B1 : à 1 pour signaler que c'est l'octet de statu
B2 B3 B4 : pour indiquer l'action : B2 B3 B4 : pour indiquer l'action :
* 000 : Note Off * 000 : Note Off
* 001 : Note On * 001 : Note On
* 010 : Polyphonic Aftertouch * 010 : Polyphonic Aftertouch
@ -105,6 +106,7 @@ Dans notre projet, quand on appuit le capteur capte = on joue la note.
quand on relache , on arrête la note. quand on relache , on arrête la note.
Hex to MIDI note chart Hex to MIDI note chart
* 00 : C -1 * 00 : C -1
* 01 : C# -1 * 01 : C# -1
* 02 : D -1 * 02 : D -1
@ -225,29 +227,56 @@ Hex to MIDI note chart
* 75 : A 8 * 75 : A 8
* 76 : Bb 8 * 76 : Bb 8
* 77 : B 8 * 77 : B 8
essai ok avec un capteur sur note C2
message type noteOn(0x90 ; 0x24 ; 0x70) ; /* statut note sur canal1 ; C2 ; vel 112 */
puis modif ajout de 2 capteurs : ok mais relance du synthe pour avoir le midi.
essai ok avec un capteur sur note C2
message type noteOn(0x90 ; 0x24 ; 0x70) ; /* statut note sur canal1 ; C2 ; vel 112 */
puis modif ajout de 2 capteurs : ok mais relance du synthe pour avoir le midi.
16/08/2019 16/08/2019
depuis la derniere cession, réception des capteurs et résistances depuis la derniere cession, réception des capteurs et résistances
achat de contre-plaqué pour faire des gabarits. achat de contre-plaqué pour faire des gabarits.
corrections sur fichier "chrono" corrections sur fichier "chrono"
re-tester le dernier logiciel (3 capteurs) avec synthe (motif ES) : OK re-tester le dernier logiciel (3 capteurs) avec synthe (motif ES) : OK
réalisation d'un montage avec 12 capteurs, alim supplémentaire réalisation d'un montage avec 12 capteurs, alim supplémentaire
branchement sur les ports 24 à 35 de l'arduino. branchement sur les ports 24 à 35 de l'arduino.
Ca semblait fonctionner mais message d'erreur sur le synthe. Ca semblait fonctionner mais message d'erreur sur le synthe.
lors des essais, je me suis retrouvé avec un son de téléphone sur une note !!!??? lors des essais, je me suis retrouvé avec un son de téléphone sur une note !!!???
13/09/19 13/09/19
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PortManipulation
Quelques recherches sur les ports ARDUINO pour essayer un nouveau mode :
appeler les ports = gérer 8 entrées en en une fois.
3 fonctions pour gérer les ports :
    -    DDR(nom_du_port) : configure les pin en entrées ou sorties : 1 = ENTREE , 0 = SORTIE
        exemple : DDRA = B10101010
        met A7, A5, A3, A1 en entrées et A6, A4, A2, A0 en sorties
    -    PORT :
    -    PIN :
Attention le port de communication (usb) est lié aux pin1 = tx0 + pin0 = rx0 qui sont les bits de poids faibles du port E : dangereux car risque de déprogrammer et donc plus de liaison avec l'ordi.
- [& (ET bit à bit)](http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bitabit)
- [|(OU bit à bit)](http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bitabit)
- [^(OU EXCLUSIF bit à bit)](http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Bitabit)
- [˜(NON bit à bit)](http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.NONbitabit)

View File

@ -1,6 +1,6 @@
/* capteur branché avec sortie sur pin24 arduino */ /* sortie capteur branché sur pin24 arduino */
bool EtatEntree24 = HIGH ; bool EtatEntree24 = HIGH ;
bool VarSuivi24 = HIGH ; bool VarSuivi24 = HIGH ;
@ -25,6 +25,7 @@
bool EtatEntree31 = HIGH ; bool EtatEntree31 = HIGH ;
bool VarSuivi31 = HIGH ; bool VarSuivi31 = HIGH ;
bool EtatEntree32 = HIGH ; bool EtatEntree32 = HIGH ;
bool VarSuivi32 = HIGH ; bool VarSuivi32 = HIGH ;
@ -101,41 +102,46 @@ void loop()
EtatEntree24 = digitalRead(24); EtatEntree24 = digitalRead(24);
EtatEntree25 = digitalRead(25); EtatEntree25 = digitalRead(25);
EtatEntree26 = digitalRead(26); EtatEntree26 = digitalRead(26);
EtatEntree27 = digitalRead(27); EtatEntree27 = digitalRead(27);
EtatEntree28 = digitalRead(28); EtatEntree28 = digitalRead(28);
EtatEntree29 = digitalRead(29); EtatEntree29 = digitalRead(29);
EtatEntree30 = digitalRead(30); EtatEntree30 = digitalRead(30);
EtatEntree31 = digitalRead(31); EtatEntree31 = digitalRead(31);
EtatEntree32 = digitalRead(32); EtatEntree32 = digitalRead(32);
EtatEntree33 = digitalRead(33); EtatEntree33 = digitalRead(33);
EtatEntree34 = digitalRead(34); EtatEntree34 = digitalRead(34);
EtatEntree35 = digitalRead(35); EtatEntree35 = digitalRead(35);
if ( (EtatEntree24 != VarSuivi24) && (EtatEntree24 == HIGH) ) if ( (EtatEntree24 != VarSuivi24) && (EtatEntree24 == HIGH) )
{ {
noteOn(0x80, 0x24 , 0x00) ; /* note off sur canal1 ; C2 ; vel 0 */ noteOn(0x80, 0x24 , 0x00) ; /* note off sur canal1 ; C2 ; vel 0 */
VarSuivi24 = HIGH; /* "touche relachée" */ /* Serial.println("touche lachee"); */
} VarSuivi24 = HIGH;
}
if ( (EtatEntree24 != VarSuivi24) && (EtatEntree24 == LOW) ) if ( (EtatEntree24 != VarSuivi24) && (EtatEntree24 == LOW) )
{ {
noteOn(0x90, 0x24 , 0x70) ; /* note on sur canal1 ; C2 ; vel */ noteOn(0x90, 0x24 , 0x70) ; /* note on sur canal1 ; C2 ; vel */
VarSuivi24 = LOW; /* "touche appuyee" */ /* Serial.println("touche appuyee"); */
VarSuivi24 = LOW;
} }
if ( (EtatEntree25 != VarSuivi25) && (EtatEntree25 == HIGH) ) if ( (EtatEntree25 != VarSuivi25) && (EtatEntree25 == HIGH) )
{ {
noteOn(0x80, 0x25 , 0x00) ; noteOn(0x80, 0x25 , 0x00) ;
/* Serial.println("touche lachee"); */
VarSuivi25 = HIGH; VarSuivi25 = HIGH;
}
if ( (EtatEntree25 != VarSuivi25) && (EtatEntree25 == LOW) )
{
noteOn(0x90, 0x25 , 0x70) ; /* note on sur canal1 ; C#2 ; vel */
VarSuivi25 = LOW;
} }
if ( (EtatEntree25 != VarSuivi25) && (EtatEntree25 == LOW) )
{
noteOn(0x90, 0x25 , 0x70) ; /* note on sur canal1 ; C2 ; vel */
/* Serial.println("touche appuyee"); */
VarSuivi25 = LOW;
}
if ( (EtatEntree26 != VarSuivi26) && (EtatEntree26 == HIGH) ) if ( (EtatEntree26 != VarSuivi26) && (EtatEntree26 == HIGH) )
{ {
noteOn(0x80, 0x26 , 0x00) ; /* note off sur canal1 ; D2 ; vel 0 */ noteOn(0x80, 0x26 , 0x00) ; /* note off sur canal1 ; D2 ; vel 0 */
@ -303,3 +309,6 @@ void loop()
delay(100); */ delay(100); */
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB