ARDUINO : programmer suite d'action sur un boutons
themaxzanfr
Messages postés
7
Statut
Membre
-
themaxzanfr Messages postés 7 Statut Membre -
themaxzanfr Messages postés 7 Statut Membre -
bonjours
voila depuis quelque temps j'ai aussi acheté une carte arduino pour faire quelque test mais j'ai maintenant un petit projet, n'étant pas super dans la programmation je n'arrive pas a réalisé ce que je voudrai,
voila ce que je cherche a faire:
j'ai 4 boutons et j'aimerai que une foit le bouton 1 appuyer l'arduino face l'action 1 du genre;
digitalWrite(13 ,LOW);
delay(1000);
digitalWrite(13 ,HIGH);
ensuite l'action s'arrete
puis le deuxieme bouton et appyer
digitalWrite(12 ,HIGH);
delay(1000);
digitalWrite(11 ,HIGH);
digitalWrite(12 ,LOW);
voila ce que je voudrai que sa face(les pin ont été mis au hasard le code et factice c'est pour explique)
merci a ceux qui pourront m'aide, ou meme me rediriger vers un tuto qui explique cela
merci
voila depuis quelque temps j'ai aussi acheté une carte arduino pour faire quelque test mais j'ai maintenant un petit projet, n'étant pas super dans la programmation je n'arrive pas a réalisé ce que je voudrai,
voila ce que je cherche a faire:
j'ai 4 boutons et j'aimerai que une foit le bouton 1 appuyer l'arduino face l'action 1 du genre;
digitalWrite(13 ,LOW);
delay(1000);
digitalWrite(13 ,HIGH);
ensuite l'action s'arrete
puis le deuxieme bouton et appyer
digitalWrite(12 ,HIGH);
delay(1000);
digitalWrite(11 ,HIGH);
digitalWrite(12 ,LOW);
voila ce que je voudrai que sa face(les pin ont été mis au hasard le code et factice c'est pour explique)
merci a ceux qui pourront m'aide, ou meme me rediriger vers un tuto qui explique cela
merci
A voir également:
- ARDUINO : programmer suite d'action sur un boutons
- Arduino math.h - Forum C++
- Arduino itoa - Forum Programmation
- Tableau dynamique arduino - Forum Programmation
- Arduino switch case string ✓ - Forum C++
- Arduino, erreur dans le code, URGENT ! ✓ - Forum C
3 réponses
const int APPUI=LOW;
const int BP=2;
const int LED=3;
const int APPUI1=LOW;
const int BP1=4;
const int LED1=5;
void setup() {
pinMode (LED,OUTPUT);
pinMode (BP,INPUT);
digitalWrite (BP,HIGH);
digitalWrite (LED,LOW);
pinMode (LED1,OUTPUT);
pinMode (BP1,INPUT);
digitalWrite (BP1,HIGH);
digitalWrite (LED1,LOW);
}
void loop() {
if (digitalRead(BP)==APPUI) {
digitalWrite(LED,HIGH);
delay (5000);
digitalWrite (LED,LOW);
}
if (digitalRead(BP1)==APPUI) {
digitalWrite(LED1,HIGH);
delay (5000);
digitalWrite (LED1,LOW);
}
}
voila le code que j'ai fait avec beaucoup d'aide maintenant et il possible que je puis activer les deux led en meme temps car la je ne peut pas
const int BP=2;
const int LED=3;
const int APPUI1=LOW;
const int BP1=4;
const int LED1=5;
void setup() {
pinMode (LED,OUTPUT);
pinMode (BP,INPUT);
digitalWrite (BP,HIGH);
digitalWrite (LED,LOW);
pinMode (LED1,OUTPUT);
pinMode (BP1,INPUT);
digitalWrite (BP1,HIGH);
digitalWrite (LED1,LOW);
}
void loop() {
if (digitalRead(BP)==APPUI) {
digitalWrite(LED,HIGH);
delay (5000);
digitalWrite (LED,LOW);
}
if (digitalRead(BP1)==APPUI) {
digitalWrite(LED1,HIGH);
delay (5000);
digitalWrite (LED1,LOW);
}
}
voila le code que j'ai fait avec beaucoup d'aide maintenant et il possible que je puis activer les deux led en meme temps car la je ne peut pas
merci pour ton aide
mais voila j'ai essai comme tu me dit mais le code n'est plus bon je ne trouve pas mon erreur.
Dois-je bien mettre le code comme cela:
mais voila j'ai essai comme tu me dit mais le code n'est plus bon je ne trouve pas mon erreur.
Dois-je bien mettre le code comme cela:
const int APPUI=LOW;
const int BP=2;
const int LED=3;
const int APPUI1=LOW;
const int BP1=4;
const int LED1=5;
void setup() {
pinMode (LED,OUTPUT);
pinMode (BP,INPUT);
digitalWrite (BP,HIGH);
digitalWrite (LED,LOW);
pinMode (LED1,OUTPUT);
pinMode (BP1,INPUT);
digitalWrite (BP1,HIGH);
digitalWrite (LED1,LOW);
}
time_t dateAppuiBP, dateAppuiBP1;
[...]
void loop() {
time_t tps = now();
if (digitalRead(BP) == APPUI) {
digitalWrite(LED, HIGH);
dateAppuiBP = tps;
} else {
if (tps >= dateAppuiBP + 5)
digitalWrite(LED, LOW);
}
if (digitalRead(BP1) == APPUI) {
digitalWrite(LED1, HIGH);
dateAppuiBP2 = tps;
} else {
if (tps >= dateAppuiBP1 + 5)
digitalWrite(LED1, LOW);
}
}
sketch_nov20a:19: error: 'time_t' does not name a type
sketch_nov20a.ino: In function 'void loop()':
sketch_nov20a:21: error: 'time_t' was not declared in this scope
sketch_nov20a:21: error: expected `;' before 'tps'
sketch_nov20a:24: error: 'dateAppuiBP' was not declared in this scope
sketch_nov20a:24: error: 'tps' was not declared in this scope
sketch_nov20a:26: error: 'tps' was not declared in this scope
sketch_nov20a:26: error: 'dateAppuiBP' was not declared in this scope
sketch_nov20a:31: error: 'dateAppuiBP2' was not declared in this scope
sketch_nov20a:31: error: 'tps' was not declared in this scope
sketch_nov20a:33: error: 'tps' was not declared in this scope
sketch_nov20a:33: error: 'dateAppuiBP1' was not declared in this scope
je ne vois pas ce qu'il veut
in function void loop veut dire que je doit le mettre dedans
tps was not declared je les declares comment
sketch_nov20a.ino: In function 'void loop()':
sketch_nov20a:21: error: 'time_t' was not declared in this scope
sketch_nov20a:21: error: expected `;' before 'tps'
sketch_nov20a:24: error: 'dateAppuiBP' was not declared in this scope
sketch_nov20a:24: error: 'tps' was not declared in this scope
sketch_nov20a:26: error: 'tps' was not declared in this scope
sketch_nov20a:26: error: 'dateAppuiBP' was not declared in this scope
sketch_nov20a:31: error: 'dateAppuiBP2' was not declared in this scope
sketch_nov20a:31: error: 'tps' was not declared in this scope
sketch_nov20a:33: error: 'tps' was not declared in this scope
sketch_nov20a:33: error: 'dateAppuiBP1' was not declared in this scope
je ne vois pas ce qu'il veut
in function void loop veut dire que je doit le mettre dedans
tps was not declared je les declares comment
avec la fonction tu peux récupérer le temps en secondes depuis un instant fixe (ici, le 1er Janvier 1970, aussi dit UNIX Epoch; mais là on s'en fiche). s'exécute en boucle, l'idée est donc a chaque itération de la boucle, vérifier individuellement l'état des boutons, et si il est appuyé, allumer la LED et enregistrer la "date" de l'appui avec now(); et aussi vérifier si la date actuelle est 5 secondes (ou +) après l'appui, et si c'est le cas, éteindre la DEL. Ex;
time_t dateAppuiBP, dateAppuiBP1; [...] void loop() { time_t tps = now(); if (digitalRead(BP) == APPUI) { digitalWrite(LED, HIGH); dateAppuiBP = tps; } else { if (tps >= dateAppuiBP + 5) digitalWrite(LED, LOW); } if (digitalRead(BP1) == APPUI) { digitalWrite(LED1, HIGH); dateAppuiBP2 = tps; } else { if (tps >= dateAppuiBP1 + 5) digitalWrite(LED1, LOW); } }