int gasSensor = 1; // select input pin for gasSensor int val = 0; // variable to store the value coming from the sensor
void setup() {
pinMode(1,INPUT); // gaz Serial.begin(9600); }
void loop() { val = analogRead(gasSensor); // read the value from the pot Serial.println( val ); delay(100); }
apres j'enclenche le serialport monitor et ça me crache un millon de 0 et si je depine la pin, ben la ça pete dans les 300 280 quelque chose comme ça...
est ce que en disant int gasSensor = 1, ça ouvre mon analog A1?
maintenant apres quelques essais je me trouve face à un probleme
admetons que la sequence 1 soit une boucle qui allume/eteint successivement led 12, 11, 10 puis boucle, 12,11,10 puis boucle etc etc...
lors d'un autre appui sur piezzo alors passer à la sequence 2 qui allume/eteint succesivement led 9,8,7,6 puis boucle
etc etc.
je suis face à 2 blemes, comment si ce n'est avec loop, boucler une sequence... destinée à etre switchée et boucler sur une autre.
ici j'ai réussi à faire differentes séquences mais elle ne bouclent pas... et surtout le switch de cas ne peut s'effectuer seulement lorsque la sequence est terminée...
void setup(){ pinMode(0,INPUT); // Piezzo pinMode(12,OUTPUT); // led 12 pinMode(11,OUTPUT); // led 11 pinMode(10,OUTPUT); // led 10 pinMode(9,OUTPUT); // led 9 pinMode(8,OUTPUT); // led 8 pinMode(7,OUTPUT); // led 7 pinMode(6,OUTPUT); // led 6 pinMode(5,OUTPUT); // led 5 pinMode(4,OUTPUT); // led 4 pinMode(3,OUTPUT); // led 3 pinMode(2,OUTPUT); // led 2 pinMode(1,OUTPUT); // led 1
}
void loop(){ if (analogRead(SENSOR) >= THRESHOLD) switch(cmp){ case 0: sequence1(); cmp++; break; case 1: sequence2(); cmp++; break; case 2: sequence3(); cmp++; break;
bien maintenant j'aimerais combiner ceci avec l'explication qui m'a été donné sur l'interrupteur avec compteur d'index, dans l'exemple si la pin d'entrée 9 est en position high, alors executer le reste de la commande.
Code:
byte cmp =0; // compteur d'index
void setup(){ pinMode(9,INPUT); // bouton poussoir pinMode(10,OUTPUT); // led 1 pinMode(11,OUTPUT); // led 2 }
void loop(){ if(digitalRead(9) == HIGH){ switch(cmp){ case 0: led1(); cmp++; break; case 1: led2(); cmp++; break; case 2: cmp =0; break; } } delay(500); // anti rebond }
mais etant donné qu'ici, si le thersold est supérieur ou = à 100, alors il effectue """faire quelquechose"""; j'aimerais remplacer le code qui dit if digital read = high alors blabla bla, est ce que je peux dire, if fairequelquechose == true, alors blabla bmla?
en gros je veux qu'a chaque hit de piezzo, lancer une fonction diferente,
bien sur avec plaisir, c'est prévu mais je le ferai quand j'aurai fais ceci :
un bouton qui switch mes sequences et surtout quand j'aurai reçu mes new transistors car pour le moment je n'ai la possibilité que de m'amuser avec seulement 4 briques (j'ai que 4 transistors qui collaborent)...
donc dés que j'ai fini ça, hop une tite vidéo de mon first montage en duino...