CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Help] Arduino, Probleme digitalRead

ledder
ledder
Niveau 10
12 février 2012 à 16:22:18

Hello all, voila j'ai un probleme avec mon code arduino.

On est censé faire des feu de croisement en projet d'élec, et j'ai rajouté des boutons piétons. Donc quand le premier feu est rouge je fais un digitalRead sur le bouton pieton et ca marche nickel, et quand c'est l'autre feu qui est au rouge, je fais aussi un digitalRead cependant ce dernier me renvoie toujours la valeur HIGH.

Si quelqu'un pouvait l'aider a fixer ce bug ce serait sympas. Merci :)

Voici le code:

int v1r=2,v1j=3,v1v=4;
int p1r=5,p1v=6;
int v2r=9,v2j=10,v2v=11;
int p2r=8,p2v=7;
int button=12,button2=13;
int tpsvert=6000;
int i=0;

void setup()
{
pinMode(v1r,OUTPUT); //v1r = voie 1 Rouge
pinMode(v2r,OUTPUT); //p2v = pieton 2 vert
pinMode(v1j,OUTPUT);
pinMode(v2j,OUTPUT);
pinMode(v1v,OUTPUT);
pinMode(v2v,OUTPUT);
pinMode(p1r,OUTPUT);
pinMode(p2r,OUTPUT);
pinMode(p1v,OUTPUT);
pinMode(p2v,OUTPUT);
pinMode(button,INPUT);
pinMode(button2,INPUT);

}
void loop()
{
//initialisation
digitalWrite(v1v, HIGH);
digitalWrite(v1r,LOW);
digitalWrite(v1j,LOW);
digitalWrite(v2r,HIGH);
digitalWrite(v2j,LOW);
digitalWrite(v2v,LOW);
digitalWrite(p1r,LOW);
digitalWrite(p2r,HIGH);
digitalWrite(p1v,HIGH);
digitalWrite(p2v,LOW);
i=0;
tpsvert=6000;
do
{
if(digitalRead(button)==HIGH) //Si le bouton est appuyé durant
{ //les 6 secondes, le temps d'attente
tpsvert=3000; //est diminué par 2
}
i=i+250;
delay(250);
}while(i<tpsvert);
digitalWrite(v1v,LOW);//passage voie 1 au jaune
digitalWrite(v1j,HIGH);
digitalWrite(p1v,LOW);//pieton 1 au rouge
digitalWrite(p1r,HIGH);
delay(1000);
digitalWrite(v1j,LOW);//Passage voie 1 au jaune
digitalWrite(v1r,HIGH);
delay(1000);
digitalWrite(v2r,LOW);//Passage voie 2 au vert
digitalWrite(v2v,HIGH);
digitalWrite(p2r,LOW);
digitalWrite(p2v,HIGH);
i=0;
tpsvert=6000; //réinitialisation
do
{
if(digitalRead(button2)==HIGH) /*C'est ici que ca pose probleme*/
{
tpsvert=3000;
}
i=i+250;
delay(250);
}while(i<tpsvert);
i=0;
digitalWrite(v2v,LOW);//Passage orange voie 2
digitalWrite(v2j,HIGH);
digitalWrite(p2v,LOW);
digitalWrite(p2r,HIGH);
delay(1000);
digitalWrite(v2j,LOW);//Passage voie 2 au rouge
digitalWrite(v2r,HIGH);
delay(1000);
}

ledder
ledder
Niveau 10
12 février 2012 à 16:46:04

Pardon, j'ai dit une connerie, c'est quand je fais digitalRead(button) que ca me renvoie toujours la valeur High, si je fais 2 digitalRead(button2) de suite, ca marche.....

Donc ptet que ca vient du port 12...

ledder
ledder
Niveau 10
12 février 2012 à 17:25:41

Bon ok, tous les ports a part le port 13 me renvoient la HIGH sur le DigitalRead... T_T

MDA-Hack
MDA-Hack
Niveau 9
13 février 2012 à 20:06:11

Je ne connais pas le problème à ta question.
Mais ça m'intéresse ce que tu fais, je suis moi-même dans une école d'électricité et je programme dans mon temps libre.
Mais ce que tu fais relis les deux ! :)

Pourrais-tu me dire comment tu fais pour relier l'électricité et la programmation ? Est-ce avec un bloc comme le PLC et le Logo ? Ou est-ce autre chose ? C'est cher ? ^^

Je sais que ça fait beaucoup de questions et que je pourrais le retrouver facilement sur google, mais j'aime pas chercher et acheter quelque chose que je ne connais pas du tout :)

MDA-Hack
MDA-Hack
Niveau 9
13 février 2012 à 20:30:29

Déso du double post.
Mais j'ai quand même trouvé le site officiel qui raconte bien ce qu'est Arduino.

:d) http://arduino.cc/fr/Main/Debuter

Pour ceux qui veulent :)

ledder
ledder
Niveau 10
19 février 2012 à 01:39:48

Euh bah je vois que t'as cherché mais arduino est open-source si je ne me trompe pas, et gratuit, en tout cas le logiciel.
Euh pour une plaquette je pourrais pas te dire les prix, ça dépend du modèle...

MDA-Hack
MDA-Hack
Niveau 9
19 février 2012 à 16:02:23

C'est gentil d'avoir répondu.
Arduino est en éffet open source :)

Et pour les modéles j'ai commandé un Arduino Duemilanove.
J'attends qu'il arrive pour me lancer dedans :D

MDA-Hack
MDA-Hack
Niveau 9
21 février 2012 à 15:33:41

Si tu as toujours des problèmes, tu peux poster ici, je pourrais peut-être t'aider :)

Mon Arduino est arrivé et c'est un vrai petit bijou =D

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment