Pages: 1 [2] 3   Go Down
Author Topic: fabriquer un controleur midi (footswitch)  (Read 3064 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci beaucoup Skywodd j'essaie cela desuite. smiley-eek
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon eh bien j'ai écrit ton code dans le logiciel arduino et je fais une vérification, cela me dit :

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_command(): failed miserably to execute command 0x11
avrdude: stk500v2_disable(): failed to leave programming mode

voilà smiley-eek-blue
a +
Pascal
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon eh bien j'ai écrit ton code dans le logiciel arduino et je fais une vérification, cela me dit :

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
(...)
C'est qu'il y a eu un probléme lors de l'envoi sur l'arduino, essaye d'uploader le sketch blink en appuyant sur reset lorsque "binary done ..." s'affiche.
Ps: ce n'est pas une vérification que tu as fait mais un upload vu que avrdude à était lancé smiley-wink

Par contre je viens de me rendre compte que j'ai utilisé la mauvaise version du pinmapping pour mega 2560 (le fichier tableur sur le playground) et pas la version finale ... donc mes correspondance broches <> port sont fausse, je vais corriger tout ça désolé smiley-small (en réalité sur la version tableur c'est la correspondance broches ATmega <> port et non broche "arduino" <> port smiley-yell) ou plus simplement je vais faire une version avec digitalRead (ce sera plus simple pour toi).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Voila ce coup ci c'est le bon pinmapping smiley-kitty
Code:
/*
 *
 * 24 BP Midi Footswitch by SkyWodd
 *
 * Boutons :
 * 1 ~ 8 : D22 ~ D29 (PORTA)
 * 9 ~ 16 : D37 ~ D30 (PORTC)
 * 17 ~ 24 : A8 ~ A15 (PORTK)
 *
 * Dx -> BP -> GND
 */

void setup() {
  DDRA = 0x0;
  PORTA = 0xFF; // PORT A -> INPUT + Pull-up
  DDRC = 0x0;
  PORTC = 0xFF; // PORT C -> INPUT + Pull-up
  DDRK = 0x0;
  PORTK = 0xFF; // PORT K -> INPUT + Pull-up

  Serial.begin(31250); // Serial -> midi
}

void loop() {
  if(bitRead(PINA, 0)) { // BP 1

  }
  if(bitRead(PINA, 1)) { // BP 2

  }
  if(bitRead(PINA, 2)) { // BP 3

  }
  if(bitRead(PINA, 3)) { // BP 4

  }
  if(bitRead(PINA, 4)) { // BP 5

  }
  if(bitRead(PINA, 5)) { // BP 6

  }
  if(bitRead(PINA, 6)) { // BP 7

  }
  if(bitRead(PINA, 7)) { // BP 8

  }
  if(bitRead(PINC, 0)) { // BP 9

  }
  if(bitRead(PINC, 1)) { // BP 10

  }
  if(bitRead(PINC, 2)) { // BP 11

  }
  if(bitRead(PINC, 3)) { // BP 12

  }
  if(bitRead(PINC, 4)) { // BP 13

  }
  if(bitRead(PINC, 5)) { // BP 14

  }
  if(bitRead(PINC, 6)) { // BP 15

  }
  if(bitRead(PINC, 7)) { // BP 16

  }
  if(bitRead(PINC, 0)) { // BP 17

  }
  if(bitRead(PINK, 1)) { // BP 18

  }
  if(bitRead(PINK, 2)) { // BP 19

  }
  if(bitRead(PINK, 3)) { // BP 20

  }
  if(bitRead(PINK, 4)) { // BP 21

  }
  if(bitRead(PINK, 5)) { // BP 22

  }
  if(bitRead(PINK, 6)) { // BP 23

  }
  if(bitRead(PINK, 7)) { // BP 24

  }
  delay(1000); // Evite le flood
}

void midiCmd(byte db1, byte db2, byte db3) {
  Serial.write(db1);
  Serial.write(db2);
  Serial.write(db3);
}

void midiCmd(byte db1, byte db2 ) {
  Serial.write(db1);
  Serial.write(db2);
}

Ou sinon version digitalRead :
Code:
/*
 *
 * 24 BP Midi Footswitch by SkyWodd
 *
 * Boutons :
 * 1 ~ 24 : D22 ~ D45
 *
 * Dx -> BP -> GND
 */

void setup() {
  for(byte i = 22 ; i < 46 ; i++) {
    pinMode(i, INPUT); // mise en entrée
    digitalWrite(i, HIGH); // active pull-up
  }

  Serial.begin(31250); // Serial -> midi
}

void loop() {
  if(digitalRead(22)) { // BP 1

  }
  if(digitalRead(23)) { // BP 2

  }
  if(digitalRead(24)) { // BP 3

  }
  if(digitalRead(25)) { // BP 4

  }
  if(digitalRead(26)) { // BP 5

  }
  if(digitalRead(27)) { // BP 6

  }
  if(digitalRead(28)) { // BP 7

  }
  if(digitalRead(29)) { // BP 8

  }
  if(digitalRead(30)) { // BP 9

  }
  if(digitalRead(31)) { // BP 10

  }
  if(digitalRead(32)) { // BP 11

  }
  if(digitalRead(33)) { // BP 12

  }
  if(digitalRead(34)) { // BP 13

  }
  if(digitalRead(35)) { // BP 14

  }
  if(digitalRead(36)) { // BP 15

  }
  if(digitalRead(37)) { // BP 16

  }
  if(digitalRead(38)) { // BP 17

  }
  if(digitalRead(39)) { // BP 18

  }
  if(digitalRead(40)) { // BP 19

  }
  if(digitalRead(41)) { // BP 20

  }
  if(digitalRead(42)) { // BP 21

  }
  if(digitalRead(43)) { // BP 22

  }
  if(digitalRead(44)) { // BP 23

  }
  if(digitalRead(45)) { // BP 24

  }
  delay(1000); // Evite le flood
}

void midiCmd(byte db1, byte db2, byte db3) {
  Serial.write(db1);
  Serial.write(db2);
  Serial.write(db3);
}

void midiCmd(byte db1, byte db2 ) {
  Serial.write(db1);
  Serial.write(db2);
}
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grand merci Skywodd,
donc si je comprend bien je dois rejouter cela

 if(bitRead(PINA, 0)) { // BP 1
   midiCmd(0xb0,0x5b,0x00);
  }

et cela m'enverra le message midi  0xb0,0x5b,0x00 ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
donc si je comprend bien je dois rajouter cela

 if(bitRead(PINA, 0)) { // BP 1
   midiCmd(0xb0,0x5b,0x00);
  }

et cela m'enverra le message midi  0xb0,0x5b,0x00 ?
Voila c'est ça ^^
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
God Member
*****
Karma: 3
Posts: 670
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut
Il m'énèrve ce SKYWODD    smiley-grin smiley-grin smiley-grin smiley-grin smiley-grin smiley-grin smiley-grin smiley-grin

Toujours réponses à tout  smiley-wink smiley-wink

@+
Logged

The truth is elsewhere !!

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,
Donc j'ai rentré le code dans la carte et ... tout a l'air de bien ce passer.
maintenant il faut que je me penche sur le patch max et l'objet [serial].
est ce que la ligne:
 Serial.begin(31250); // Serial -> midi

veux dire que je dois mettre l'argument 31250 dans mon objet [serial] ?
en tout cas merci de la précieuse aide.
à bientôt
Pascal
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
est ce que la ligne:
 Serial.begin(31250); // Serial -> midi
veux dire que je dois mettre l'argument 31250 dans mon objet [serial] ?
J'ai mis 31250 bauds comme vitesse pour le port série car c'est le standard midi, après je ne sait pas comment tu contrôle ton systéme, il faut juste que tu fasse coïncider les deux vitesses (patch max / arduino).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut a tous,
j'ai entrée le code de skywodd suivant:

/*
 *
 * 24 BP Midi Footswitch by SkyWodd
 *
 * Boutons :
 * 1 ~ 8 : D22 ~ D29 (PORTA)
 * 9 ~ 16 : D37 ~ D30 (PORTC)
 * 17 ~ 24 : A8 ~ A15 (PORTK)
 *
 * Dx -> BP -> GND
 */

void setup() {
  DDRA = 0x0;
  PORTA = 0xFF; // PORT A -> INPUT + Pull-up
  DDRC = 0x0;
  PORTC = 0xFF; // PORT C -> INPUT + Pull-up
  DDRK = 0x0;
  PORTK = 0xFF; // PORT K -> INPUT + Pull-up

  Serial.begin(31250); // Serial -> midi
}

void loop() {
  if(bitRead(PINA, 0)) { // BP 1

  }
  if(bitRead(PINA, 1)) { // BP 2

  }
  if(bitRead(PINA, 2)) { // BP 3

  }
  if(bitRead(PINA, 3)) { // BP 4

  }
  if(bitRead(PINA, 4)) { // BP 5

  }
  if(bitRead(PINA, 5)) { // BP 6

  }
  if(bitRead(PINA, 6)) { // BP 7

  }
  if(bitRead(PINA, 7)) { // BP 8

  }
  if(bitRead(PINC, 0)) { // BP 9

  }
  if(bitRead(PINC, 1)) { // BP 10

  }
  if(bitRead(PINC, 2)) { // BP 11

  }
  if(bitRead(PINC, 3)) { // BP 12

  }
  if(bitRead(PINC, 4)) { // BP 13

  }
  if(bitRead(PINC, 5)) { // BP 14

  }
  if(bitRead(PINC, 6)) { // BP 15

  }
  if(bitRead(PINC, 7)) { // BP 16

  }
  if(bitRead(PINC, 0)) { // BP 17

  }
  if(bitRead(PINK, 1)) { // BP 18

  }
  if(bitRead(PINK, 2)) { // BP 19

  }
  if(bitRead(PINK, 3)) { // BP 20

  }
  if(bitRead(PINK, 4)) { // BP 21

  }
  if(bitRead(PINK, 5)) { // BP 22

  }
  if(bitRead(PINK, 6)) { // BP 23

  }
  if(bitRead(PINK, 7)) { // BP 24

  }
  delay(1000); // Evite le flood
}

void midiCmd(byte db1, byte db2, byte db3) {
  Serial.write(db1);
  Serial.write(db2);
  Serial.write(db3);
}

void midiCmd(byte db1, byte db2 ) {
  Serial.write(db1);
  Serial.write(db2);
}

et j'ai changé cette ligne:
Serial.begin(9600); // Serial -> midi

vu que sur les tutoriels que j'ai trouvé pour max la plupart du temps on trouve ce baud ?

après cela pour ceux qui connaissent max/msp j'ai fait un patch avec l'objet [serial a 9600 8]
en sortie je me retrouve avec cette série de 3 nombres 176, 11, 0
sans que j'appuie sur le moindre boutons qui est cablé sur le gnd qui ce trouve à coté de l'entrée aref (est ce que c'est le bon endroit ?) et mon entrée digitale 22 qui devrait correspondre à mon bouton poussoir 1.
et quand j'appuis sur mon boutons il n'y a aucun changement.

enfin j'ai un doute sur la commande:

void loop() {
  if(bitRead(PINA, 0)) { // BP 1
  midiCmd(0xb0,0x0b,0x00);
  }

en effet est ce que (0xb0,0x0b,0x00) correspond à une information midi valide ??
(j'ai trouvé cela sur un tutoriel midi).

avec toute les aide que l'on m'a filé (merci encore skywodd smiley-wink) je pense être près du but.
Pascal



Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

après cela pour ceux qui connaissent max/msp j'ai fait un patch avec l'objet [serial a 9600 8]
en sortie je me retrouve avec cette série de 3 nombres 176, 11, 0
sans que j'appuie sur le moindre boutons qui est cablé sur le gnd qui ce trouve à coté de l'entrée aref (est ce que c'est le bon endroit ?) et mon entrée digitale 22 qui devrait correspondre à mon bouton poussoir 1.
et quand j'appuis sur mon boutons il n'y a aucun changement.
La série de 3 nombres je pense qu'il doit s'agir du bootloader arduino qui se lance et qui regarde si un nouveau programme doit être reçu (mais pas sur à 100%).

Ps: met ton code entre balises code (le # dans l'éditeur) ce sera beaucoup plus lisible et ça évitera du travail en plus à nos chères modérateurs smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Resalut a tous,

donc, j'ai réessayé en faisant comme ceci:

Code:
/*
 *
 * 24 BP Midi Footswitch by SkyWodd
 *
 * Boutons :
 * 1 ~ 24 : D22 ~ D45
 *
 * Dx -> BP -> GND
 */

void setup() {
  for(byte i = 22 ; i < 46 ; i++) {
    pinMode(i, INPUT); // mise en entrée
    digitalWrite(i, HIGH); // active pull-up
  }

  Serial.begin(9600); // Serial -> midi
}

void loop() {
  if(digitalRead(22)) { // BP 1
  midiCmd(0x0,01,0x01);
  }
  if(digitalRead(23)) { // BP 2
   midiCmd(0x0,01,0x02);
  }
  if(digitalRead(24)) { // BP 3
   midiCmd(0x0,01,0x03);
  }
  if(digitalRead(25)) { // BP 4
   midiCmd(0x0,01,0x04);
  }
  if(digitalRead(26)) { // BP 5
   midiCmd(0x0,01,0x05);
  }
  if(digitalRead(27)) { // BP 6
   midiCmd(0x0,01,0x06);
  }
  if(digitalRead(28)) { // BP 7
   midiCmd(0x0,01,0x07);
  }
  if(digitalRead(29)) { // BP 8
   midiCmd(0x0,01,0x08);
  }
  if(digitalRead(30)) { // BP 9
   midiCmd(0x0,01,0x09);
  }
  if(digitalRead(31)) { // BP 10
   midiCmd(0x0,01,0x10);
  }
  if(digitalRead(32)) { // BP 11
   midiCmd(0x0,01,0x11);
  }
  if(digitalRead(33)) { // BP 12
   midiCmd(0x0,01,0x12);
  }
  if(digitalRead(34)) { // BP 13
   midiCmd(0x0,01,0x13);
  }
  if(digitalRead(35)) { // BP 14
   midiCmd(0x0,01,0x14);
  }
  if(digitalRead(36)) { // BP 15
   midiCmd(0x0,01,0x15);
  }
  if(digitalRead(37)) { // BP 16
   midiCmd(0x0,01,0x16);
  }
  if(digitalRead(38)) { // BP 17
   midiCmd(0x0,01,0x17);
  }
  if(digitalRead(39)) { // BP 18
   midiCmd(0x0,01,0x18);
  }
  if(digitalRead(40)) { // BP 19
   midiCmd(0x0,01,0x19);
  }
  if(digitalRead(41)) { // BP 20
   midiCmd(0x0,01,0x20);
  }
  if(digitalRead(42)) { // BP 21
   midiCmd(0x0,01,0x21);
  }
  if(digitalRead(43)) { // BP 22
   midiCmd(0x0,01,0x22);
  }
  if(digitalRead(44)) { // BP 23
   midiCmd(0x0,01,0x23);
  }
  if(digitalRead(45)) { // BP 24
   midiCmd(0x0,01,0x24);
  }
  delay(1000); // Evite le flood
}

void midiCmd(byte db1, byte db2, byte db3) {
  Serial.write(db1);
  Serial.write(db2);
  Serial.write(db3);
}

void midiCmd(byte db1, byte db2 ) {
  Serial.write(db1);
  Serial.write(db2);
}


et la dans ma fenêtre de contrôle max cela m'envoie toute les environs 500ms: 1,2,3,4,5,6,7,8,9,16,17,18,19,20,21,22,23,24,25,32,33,34,35.
 et quand j'appuie par exemple sur mon bp numero 1 (donc l'entrée digital 22) je trouve la même série sauf le 1 ? pareil pour le 2 etc.

Mais après réflexion, je me suis dit qu'il n'était pas important que je reçoive à tout pris un message midi, puisque je vais travailler directement avec un cable usb et non un cable midi.
Dans max/msp il suffirait que je récupère ne serais ce qu'un numéro, après ça je fait ma cuisine.
 
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut à tous,
J'ai trouvé un tutoriel avec un exemple qui m'a bien servi et ... ça marche smiley-wink
la==> http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertSons2AppuiBPx5lanceSonProcessing

j'ai adapté le code comme cela:
Code:
const int APPUI=LOW;

const int BP_1=22;
const int BP_2=23;
const int BP_3=24;
const int BP_4=25;
const int BP_5=26;
const int BP_6=27;
const int BP_7=28;
const int BP_8=29;
const int BP_9=30;
const int BP_10=31;
const int BP_11=32;
const int BP_12=33;
const int BP_13=34;
const int BP_14=35;
const int BP_15=36;
const int BP_16=37;
const int BP_17=38;
const int BP_18=39;
const int BP_19=40;
const int BP_20=41;
const int BP_21=42;
const int BP_22=43;
const int BP_23=44;
const int BP_24=45;

void setup()   {

Serial.begin(9600);

 pinMode (BP_1,INPUT);
 pinMode (BP_2,INPUT);
 pinMode (BP_3,INPUT);
 pinMode (BP_4,INPUT);
 pinMode (BP_5,INPUT);
 pinMode (BP_6,INPUT);
 pinMode (BP_7,INPUT);
 pinMode (BP_8,INPUT);
 pinMode (BP_9,INPUT);
 pinMode (BP_10,INPUT);
 pinMode (BP_11,INPUT);
 pinMode (BP_12,INPUT);
 pinMode (BP_13,INPUT);
 pinMode (BP_14,INPUT);
 pinMode (BP_15,INPUT);
 pinMode (BP_16,INPUT);
 pinMode (BP_17,INPUT);
 pinMode (BP_18,INPUT);
 pinMode (BP_19,INPUT);
 pinMode (BP_20,INPUT);
 pinMode (BP_21,INPUT);
 pinMode (BP_22,INPUT);
 pinMode (BP_23,INPUT);
 pinMode (BP_24,INPUT);

 digitalWrite (BP_1,HIGH);
 digitalWrite (BP_2,HIGH);
 digitalWrite (BP_3,HIGH);
 digitalWrite (BP_4,HIGH);
 digitalWrite (BP_5,HIGH);
 digitalWrite (BP_6,HIGH);
 digitalWrite (BP_7,HIGH);
 digitalWrite (BP_8,HIGH);
 digitalWrite (BP_9,HIGH);
 digitalWrite (BP_10,HIGH);
 digitalWrite (BP_11,HIGH);
 digitalWrite (BP_12,HIGH);
 digitalWrite (BP_13,HIGH);
 digitalWrite (BP_14,HIGH);
 digitalWrite (BP_15,HIGH);
 digitalWrite (BP_16,HIGH);
 digitalWrite (BP_17,HIGH);
 digitalWrite (BP_18,HIGH);
 digitalWrite (BP_19,HIGH);
 digitalWrite (BP_20,HIGH);
 digitalWrite (BP_21,HIGH);
 digitalWrite (BP_22,HIGH);
 digitalWrite (BP_23,HIGH);
 digitalWrite (BP_24,HIGH);

void loop(){

if (digitalRead(BP_1)==APPUI){
 Serial.println(11);
 delay(500);
}

if (digitalRead(BP_2)==APPUI){
 Serial.println(12);
  delay(500);
}

if (digitalRead(BP_3)==APPUI){
 Serial.println(13);
  delay(500);
}

if (digitalRead(BP_4)==APPUI){
 Serial.println(14);
  delay(500);
}

if (digitalRead(BP_5)==APPUI){
 Serial.println(15);
  delay(500);
}
if (digitalRead(BP_6)==APPUI){
 Serial.println(16);
 delay(500);
}

if (digitalRead(BP_7)==APPUI){
 Serial.println(17);
  delay(500);
}

if (digitalRead(BP_8)==APPUI){
 Serial.println(18);
  delay(500);
}

if (digitalRead(BP_9)==APPUI){
 Serial.println(19);
  delay(500);
}

if (digitalRead(BP_10)==APPUI){
 Serial.println(20);
  delay(500);
}
if (digitalRead(BP_11)==APPUI){
 Serial.println(21);
 delay(500);
}

if (digitalRead(BP_12)==APPUI){
 Serial.println(22);
  delay(500);
}

if (digitalRead(BP_13)==APPUI){
 Serial.println(23);
  delay(500);
}

if (digitalRead(BP_14)==APPUI){
 Serial.println(24);
  delay(500);
}

if (digitalRead(BP_15)==APPUI){
 Serial.println(25);
  delay(500);
}
if (digitalRead(BP_16)==APPUI){
 Serial.println(26);
 delay(500);
}

if (digitalRead(BP_17)==APPUI){
 Serial.println(27);
  delay(500);
}

if (digitalRead(BP_18)==APPUI){
 Serial.println(28);
  delay(500);
}

if (digitalRead(BP_19)==APPUI){
 Serial.println(29);
  delay(500);
}

if (digitalRead(BP_20)==APPUI){
 Serial.println(30);
  delay(500);
}
if (digitalRead(BP_21)==APPUI){
 Serial.println(31);
  delay(500);
}

if (digitalRead(BP_22)==APPUI){
 Serial.println(32);
  delay(500);
}

if (digitalRead(BP_23)==APPUI){
 Serial.println(33);
  delay(500);
}

if (digitalRead(BP_24)==APPUI){
 Serial.println(34);
  delay(500);
}


}

bon, maintenant si je veux rajouter sur une entrée un potentiomètre qui m'envoie par exemple des integrés (1 à 1024 par exemple), est ce vraiment compliqué ?

merci de vos réponses
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Super pour le potentiomètre ça marche !!
j'ai juste mis la ligne de code suivante:

Code:
int sensorValue = analogRead(A0);
 Serial.println(sensorValue,DEC);

par contre j'ai déjà des données (avec les BP) de 11 à 34.
mon potard de 250K m'envoie de 0 à 1023 comment faire pour qu'il m'envoie de 35 à 1058 ?
 
Logged

Offline Offline
God Member
*****
Karma: 3
Posts: 670
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonsoir Frascal
Essaye avec ça :
Quote
map(value, fromLow, fromHigh, toLow, toHigh)
Quote
val = map(val, 0, 1023, 35, 1058);

@+
Logged

The truth is elsewhere !!

Pages: 1 [2] 3   Go Up
Jump to: