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
@ -226,11 +228,13 @@ Hex to MIDI note chart
* 76 : Bb 8 * 76 : Bb 8
* 77 : B 8 * 77 : B 8
essai ok avec un capteur sur note C2 essai ok avec un capteur sur note C2
message type noteOn(0x90 ; 0x24 ; 0x70) ; /* statut note sur canal1 ; C2 ; vel 112 */ 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.
puis modif ajout de 2 capteurs : ok mais relance du synthe pour avoir le midi.
16/08/2019 16/08/2019
@ -240,7 +244,6 @@ Hex to MIDI note chart
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.
@ -250,4 +253,30 @@ Hex to MIDI note chart
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 ;
@ -26,6 +26,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 ;
@ -116,26 +117,31 @@ void loop()
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) ) if ( (EtatEntree25 != VarSuivi25) && (EtatEntree25 == LOW) )
{ {
noteOn(0x90, 0x25 , 0x70) ; /* note on sur canal1 ; C#2 ; vel */ noteOn(0x90, 0x25 , 0x70) ; /* note on sur canal1 ; C2 ; vel */
/* Serial.println("touche appuyee"); */
VarSuivi25 = LOW; 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