Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #30 on: December 28, 2011, 02:13:54 pm » |
Merci AlienArea51, mais ou dois je mettre ces lignes au debut dans les constantes ou bien dans le void loop ? j'ai essayer les 2 et ça met des erreurs ? il faut pas oublier que je débarque complétement dans le code 
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #31 on: December 28, 2011, 02:22:00 pm » |
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.
Oups! Petit oublie de ma pars, j'avais oublié les pull-up sur les boutons, donc HIGH = Pas appuyé et LOW = Appuyé: if(digitalRead(...)) { ... => if(!digitalRead(...)) { ... Je te conseille d'utiliser mon code, la version trés simplifié de "Mon club élect" est comment dire ... hummm, ça marche mais c'est pas propre du tout. Juste le ! que j'avais oublié mais sinon le principe est le même. 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.
Fallait le dire plus tôt, effectivement ça rend la chose beaucoup plus simple  Sinon pour ton map() : int sensorValue = analogRead(A0); sensorValue = map(sensorValue, 0, 1023, 35, 1058); Serial.println(sensorValue,DEC);
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 405
|
 |
« Reply #32 on: December 28, 2011, 02:25:24 pm » |
pardon et salut fabien Tu m'as pris de court  exemple : void loop() { int val = analogRead(0); val = map(val, 0, 1023, 35, 1058); analogWrite(9, val); } @+
|
|
|
|
|
Logged
|
The truth is elsewhere !!
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #33 on: December 29, 2011, 01:13:03 pm » |
Salut,
merci beaucoup Skywodd mais ça ce met ou dans le code l’état HIGH ou LOW ? en tout cas pour la fonction map ça marche bien, les données bougent un peu avec le potard mais je peux stabiliser dans max. Pascal
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 405
|
 |
« Reply #34 on: December 29, 2011, 01:15:30 pm » |
Pardon j'avais oublié d'enlever mon mode (transparence ) @+
|
|
|
|
|
Logged
|
The truth is elsewhere !!
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #35 on: December 29, 2011, 02:35:30 pm » |
Désolé Alien, je te remercie aussi pour ta réponse 
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #36 on: December 30, 2011, 08:34:15 am » |
ça ce met ou dans le code l’état HIGH ou LOW ?
Par définition : HIGH = 1 = true LOW = 0 = false donc, if(digitalRead(n) == HIGH) est équivalent à if(digitalRead(n)) de même if(digitalRead(n) == LOW) est équivalent à if(!digitalRead(n)). Je sais pas si j'ai répondu à ta question  @AlienArea51: t'as était moins féniasse que moi, t'as rajouter loop() dans ton exemple  les données bougent un peu avec le potard mais je peux stabiliser dans max Si tu veux limiter au maximum les variations tu peut t'inspirer de cet exemple : http://www.arduino.cc/en/Tutorial/Smoothing
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #37 on: January 11, 2012, 11:47:48 am » |
Salut a tous, j'ai enfin fabriquer la chose: http://s.joomeo.com/4f0db794af90bTout vas bien, ça marche  mise à part que : 1- je n'ai pas réussi à utiliser le code de skywodd, j'ai donc utiliser le code très simple de "mon code electrique". 2- quand je rajoute les lignes de commande du potentiomètre cela ralenti les données , en effet quand j'appuis sur un BP il y a une latence de au moins plus ou moins 30millisecondes ? cela viens surement de mon code? j'ai été obligé pour une question pratique de faire une map pour le potentiomètre : sensorValue = map(sensorValue, 0, 1023, 4023, 3000); et donc pour me retrouver en sortie de mon câble série avec le même nombre de chiffres ( car sinon si je met par exemple 01 pour le BP1 en sortie (dans max)je me retrouve avec 4 nombres et quand je tourne mon potar je me retrouve avec 6 nombres), j'ai donc écrit 2001 pour le BP1, 2002 etc... encore merci pour tout ces bons conseils. pascal
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #38 on: January 11, 2012, 01:38:45 pm » |
1- je n'ai pas réussi à utiliser le code de skywodd, j'ai donc utiliser le code très simple de "mon code electrique".
BouOuOu  nan je rigole, tu fait bien comme tu veux, le principal c'est que tu comprenne ce que tu a codé pour pouvoir réutiliser ce que tu a appris plus tard  2- quand je rajoute les lignes de commande du potentiomètre cela ralenti les données , en effet quand j'appuis sur un BP il y a une latence de au moins plus ou moins 30millisecondes ?
Tu peut poster les deux version du codes histoires qu'on regardent ce qui pourrait causer ce bug ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #39 on: January 12, 2012, 05:02:36 am » |
Salut, Je n'arrive pas à envoyer le code, cela dépasse les 9500 caractères ? 
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #40 on: January 12, 2012, 07:25:18 am » |
Je n'arrive pas à envoyer le code, cela dépasse les 9500 caractères ?  Essaye d'envoyer les deux code en deux post séparé ça devrait passer, sinon tu peut utiliser pastbin.com 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #41 on: January 12, 2012, 02:45:24 pm » |
donc voici le code qui me donne du retard avec les BP. const int APPUI=LOW;
const int BP_1=22; // Constante pour la broche 2 const int BP_2=23; // Constante pour la broche 3 const int BP_3=24; // Constante pour la broche 4 const int BP_4=25; // Constante pour la broche 5 const int BP_5=26; // Constante pour la broche 6 const int BP_6=27; // Constante pour la broche 2 const int BP_7=28; // Constante pour la broche 3 const int BP_8=29; // Constante pour la broche 4 const int BP_9=30; // Constante pour la broche 5 const int BP_10=31; // Constante pour la broche 6 const int BP_11=32; // Constante pour la broche 2 const int BP_12=33; // Constante pour la broche 3 const int BP_13=34; // Constante pour la broche 4 const int BP_14=35; // Constante pour la broche 5 const int BP_15=36; // Constante pour la broche 6 const int BP_16=37; // Constante pour la broche 2 const int BP_17=38; // Constante pour la broche 3 const int BP_18=39; // Constante pour la broche 4 const int BP_19=40; // Constante pour la broche 5 const int BP_20=41; // Constante pour la broche 6 const int BP_21=42; // Constante pour la broche 3 const int BP_22=43; // Constante pour la broche 4 const int BP_23=44; // Constante pour la broche 5 const int BP_24=45; // Constante pour la broche 6
void setup() { // debut de la fonction setup()
Serial.begin(9600); // initialise connexion série à 115200 bauds
pinMode (BP_1,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_2,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_3,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_4,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_5,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_6,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_7,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_8,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_9,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_10,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_11,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_12,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_13,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_14,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_15,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_16,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_17,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_18,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_19,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_20,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_21,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_22,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_23,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_24,INPUT); // Broche BP_5 configurée en entrée
digitalWrite (BP_1,HIGH); // Rappel au + activé sur la broche BP_1 configurée en entrée digitalWrite (BP_2,HIGH); // Rappel au + activé sur la broche BP_2 configurée en entrée digitalWrite (BP_3,HIGH); // Rappel au + activé sur la broche BP_3 configurée en entrée digitalWrite (BP_4,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée digitalWrite (BP_5,HIGH); // Rappel au + activé sur la broche BP_5 configurée en entrée digitalWrite (BP_6,HIGH); // Rappel au + activé sur la broche BP_1 configurée en entrée digitalWrite (BP_7,HIGH); // Rappel au + activé sur la broche BP_2 configurée en entrée digitalWrite (BP_8,HIGH); // Rappel au + activé sur la broche BP_3 configurée en entrée digitalWrite (BP_9,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée digitalWrite (BP_10,HIGH); // Rappel au + activé sur la broche BP_5 configurée en entrée digitalWrite (BP_11,HIGH); // Rappel au + activé sur la broche BP_1 configurée en entrée digitalWrite (BP_12,HIGH); // Rappel au + activé sur la broche BP_2 configurée en entrée digitalWrite (BP_13,HIGH); // Rappel au + activé sur la broche BP_3 configurée en entrée digitalWrite (BP_14,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée digitalWrite (BP_15,HIGH); // Rappel au + activé sur la broche BP_5 configurée en entrée digitalWrite (BP_16,HIGH); // Rappel au + activé sur la broche BP_1 configurée en entrée digitalWrite (BP_17,HIGH); // Rappel au + activé sur la broche BP_2 configurée en entrée digitalWrite (BP_18,HIGH); // Rappel au + activé sur la broche BP_3 configurée en entrée digitalWrite (BP_19,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée digitalWrite (BP_20,HIGH); // Rappel au + activé sur la broche BP_5 configurée en entrée digitalWrite (BP_21,HIGH); // Rappel au + activé sur la broche BP_2 configurée en entrée digitalWrite (BP_22,HIGH); // Rappel au + activé sur la broche BP_3 configurée en entrée digitalWrite (BP_23,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée digitalWrite (BP_24,HIGH); // Rappel au + activé sur la broche BP_4 configurée en entrée
}
void loop(){ // debut de la fonction loop()
if (digitalRead(BP_1)==APPUI){ Serial.println(2001); delay(500); }
if (digitalRead(BP_2)==APPUI){ Serial.println(2002); delay(500); }
if (digitalRead(BP_3)==APPUI){ Serial.println(2003); delay(500); }
if (digitalRead(BP_4)==APPUI){ Serial.println(2004); delay(500); }
if (digitalRead(BP_5)==APPUI){ Serial.println(2005); delay(500); }
if (digitalRead(BP_6)==APPUI){ Serial.println(2006); delay(500); }
if (digitalRead(BP_7)==APPUI){ Serial.println(2007); delay(500); }
if (digitalRead(BP_8)==APPUI){ Serial.println(2008); delay(500); }
if (digitalRead(BP_9)==APPUI){ Serial.println(2009);
if (digitalRead(BP_10)==APPUI){ Serial.println(2010); delay(500); } if (digitalRead(BP_11)==APPUI){ Serial.println(2011); delay(500); }
if (digitalRead(BP_12)==APPUI){ Serial.println(2012); delay(500); }
if (digitalRead(BP_13)==APPUI){ Serial.println(2013); delay(500); }
if (digitalRead(BP_14)==APPUI){ Serial.println(2014); delay(500); }
if (digitalRead(BP_15)==APPUI){ Serial.println(2015); delay(500); } if (digitalRead(BP_16)==APPUI){ Serial.println(2016); delay(500); }
if (digitalRead(BP_17)==APPUI){ Serial.println(2017); delay(500); }
if (digitalRead(BP_18)==APPUI){ Serial.println(2018); delay(500); }
if (digitalRead(BP_19)==APPUI){ Serial.println(2019); delay(500); }
if (digitalRead(BP_20)==APPUI){ Serial.println(2020); delay(500); } if (digitalRead(BP_21)==APPUI){ Serial.println(2021); delay(500); }
if (digitalRead(BP_22)==APPUI){ Serial.println(2022); delay(500); }
if (digitalRead(BP_23)==APPUI){ Serial.println(2023); delay(500); }
if (digitalRead(BP_24)==APPUI){ Serial.println(2024); delay(500); }
int sensorValue = analogRead(A0); sensorValue = map(sensorValue, 0, 1023, 4023, 3000); Serial.println(sensorValue,DEC); //while(1); // stop loop
}
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 22
|
 |
« Reply #42 on: January 12, 2012, 02:52:09 pm » |
et voici celui qui marche bien, sans le potentiomètre: 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() { // debut de la fonction setup()
Serial.begin(9600); // initialise connexion série à 115200 bauds
pinMode (BP_1,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_2,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_3,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_4,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_5,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_6,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_7,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_8,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_9,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_10,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_11,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_12,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_13,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_14,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_15,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_16,INPUT); // Broche BP_1 configurée en entrée pinMode (BP_17,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_18,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_19,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_20,INPUT); // Broche BP_5 configurée en entrée pinMode (BP_21,INPUT); // Broche BP_2 configurée en entrée pinMode (BP_22,INPUT); // Broche BP_3 configurée en entrée pinMode (BP_23,INPUT); // Broche BP_4 configurée en entrée pinMode (BP_24,INPUT); // Broche BP_5 configurée en entrée
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(){ // debut de la fonction loop()
if (digitalRead(BP_1)==APPUI){ Serial.println(11); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_2)==APPUI){ Serial.println(12); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_3)==APPUI){ Serial.println(13); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_4)==APPUI){ Serial.println(14); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_5)==APPUI){ Serial.println(15); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); } if (digitalRead(BP_6)==APPUI){ Serial.println(16); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_7)==APPUI){ Serial.println(17); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_8)==APPUI){ Serial.println(18); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_9)==APPUI){ Serial.println(19); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_10)==APPUI){ Serial.println(20); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); } if (digitalRead(BP_11)==APPUI){ Serial.println(21); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_12)==APPUI){ Serial.println(22); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_13)==APPUI){ Serial.println(23); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_14)==APPUI){ Serial.println(24); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_15)==APPUI){ Serial.println(25); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); } if (digitalRead(BP_16)==APPUI){ Serial.println(26); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_17)==APPUI){ Serial.println(27); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_18)==APPUI){ Serial.println(28); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_19)==APPUI){ Serial.println(29); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_20)==APPUI){ Serial.println(30); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); } if (digitalRead(BP_21)==APPUI){ Serial.println(31); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_22)==APPUI){ Serial.println(32); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_23)==APPUI){ Serial.println(33); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
if (digitalRead(BP_24)==APPUI){ Serial.println(34); // envoie la valeur vers le PC (Processing) suivie d'un saut de ligne delay(200); }
//while(1); // stop loop
} merci Pascal
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4451
Arduino Hacker
|
 |
« Reply #43 on: January 12, 2012, 03:08:07 pm » |
Forcément que tu as un temps de latence bien plus important avec le 1er code puisque tu as un delay(500) à la place du delay(200) du 2eme code ! En tout cas ce n'est pas map() qui ralentit ton programme, c'est juste que tu à un delai 2.5 fois plus grand
|
|
|
|
|
Logged
|
|
|
|
|
|