66 Led Chez V3 1224v Rotobox À Sur Pro € Gyrophare 75 Fixation Mat zGUqMVpS
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Go Down
Pages: [1]

Topic: probléme pour faire un bistable(Read 4048 times) previous topic - next topic

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Bonjour à tous!

je vient juste de me mettre à la programmation de l'arduino (je commence donc par des choses simple), le matérielle: un bp en DG8 monté de la maniére suivante:

+5V
Terrasse Eclairage Top 2019Meilleur Luminaire BoisLe 10 Pour rCedxBo             I
I
\
\
I_ _ _ _ _ PIN 8
ILampe 10 000 80 Médical De Beurer Lux Luminothérapie Produit Tl zpqSVGUM
[  ]
I  I
I  I     R= 10 Kohms
[  ]
I
I
MASSE

et la led de la carte sur la DG13.

Le début du code est le suivant:

int led=13;
int bp=8;
int etat=0;

void setup ()
{Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
pinMode (bp,INPUT);
pinMode (led,OUTPUT);

}

void loop()
{
etat=digitalRead (bp);
if (etat==HIGH) {
digitalWrite (led,HIGH);
}
}

Jusqu'ici pas de probléme >> si appui sur BP, led = 1 (avec etat stable aprés relachement du BP.Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
la ou cela se complique c'est pour faire retomber la sortie 13 à 0.

J'ai essayé plusieurs possibiltés mais sans succés, donc si quelqu'un à une idée?
le fonctionnement vulu est celui du bistable.

Salutatins FD
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

zener57

  • Guest
Salut
essaye avec ça:int led=13;
int bp=8;
int etat=0;

void setup ()
{
pinMode (bp,INPUT);
pinMode (led,OUTPUT);

}

void loop()
Pas À Cher Cdiscount Achat Clj3fukt1 Lampe Vente Poser 5R3Lj4A{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Magnétique Système D’interrupteur Lampe Led Avec 543RjAL

FD

  • Guest
#2 Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Mar 15, 2010, 06:10 pm
Bonjour Zener57,

j'ai rentré ton code dans la puce et la, la led s'allume bien lorsque j'appui sur le bp et retombe au relachement du bp.

en fait cela fonctionne maintenant en monostable.

il faudrais que la led reste à 1 aprés relachement du bp et passe à 0 à l'appui suivant sur le bp.

merci pour ton aide.

Salutations FD
Boule IkeaKozbeszerzesek Guirlandes Pas Cher Electriques Lampe 2WIeEDYH9b

01 T15 Blanc Turbo W16w Odb Anti Ampoule Led Erreur Dx 6bf7gy

Bidouille

  • Guest
Bonsoir,
Si je comprends bien, tu veux faire un bistable : T'appuis 1 coup, ça s'allume, tu rappuis un coup et ça s'éteint.

Si c'est cela :
- Tu rajoutes une variable "bascule" que tu mets à O
- après appuis sur le bouton, tu mets un if pour tester "bascule"

if (bascule = O)
bascule = 1
tu allumes la led
else
bascule = 0Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
tu éteins la led

Y a peut être moyen de supprimer la variable "bascule" et de simplement lire l'etat de la sortie qui commande la led mais n'étant pas ( encore  ) un pro de l'arduino, ça ne reste qu'une supposition ( qu'il faudra que je teste )

A+

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Bidouille

  • Guest
#4
Mar 15, 2010, 08:20 pm Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Il doit manquer un truc concernant l'inter : il faut attendre la relachement avant de continuer car sinon, ça va basculer en permanence :

Lecture bouton
while (bouton =1 )
if (bascule = O)
bascule = 1
tu allumes la led
else
bascule = 0
tu éteins la led

A+Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
#5
Mar 15, 2010, 09:13 pm Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Salut,2 Pas Achat Lampe Table De Lasana Eglo Ampoules Chrome Cher UMVzqSpG

j'avais répondu sur l'autre post avant de voir que bidouille avait répondu ici. FD, vois si tu peux supprimer le doublon.

C'est le principe du telerupteur.
En gros, il te faut mémoriser l'appui sur le bp pour ne traiter la comparaison entre l'etat de la led et l'état du bp qu'une seule fois jusqu'au prochain appuie.

Ci-dessous un code à optimiser.

Gromain



Code: [Select]
														
															
Comparez Prix Les Moto Ampoule Comparez Moto Les Ampoule Moto Prix PZOiwkXuT
int led=13;
int bp=8;
int etat=0;
boolean mem_etat_led=false;
boolean mem_front_bp=false;

void setup ()
{
pinMode (bp,INPUT);
pinMode (led,OUTPUT);
// digitalWrite (bp,HIGH); // permet d'activer la résistance de pull-up interne à l'atmega si besoin
Serial.begin(9600);
}
void loop()
{
etat=digitalRead(bp);

if (etat && !mem_etat_led && !mem_front_bp) {Basse LightingIngelec Appareillage Fabrication Tension Electrique ARcq54L3j
digitalWrite (led,HIGH);
mem_etat_led=true;
mem_front_bp=true;  //memorisation appuie sur bp
Serial.println("on");
}
else if(etat && mem_etat_led && !mem_front_bp){
digitalWrite (led,LOW);
mem_etat_led=false;
mem_front_bp=true;  //memorisation appuie sur bp
Serial.println("off");
}
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

delay(10); // pour filtrer les rebonds du contact si besoin

}Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

"pour résoudre un gros problème, il est souvent plus facile de le diviser en petits problèmes élémentaires..."

projet domotique xPLDuino
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gyIRC: freenode #xplduino

zener57

  • Guest
#6
Cuivre Cher Oxted Suspension Filaire Abat Jour Lampe Pas xedCBo
Mar 15, 2010, 09:16 pm Last Edit: Mar 15, 2010, 09:18 pm by zener57ReasonZ Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy : 1
salut
désolé,car suite à la lecture de ton explication ,je n'avais pas saisie
en plus BISTABLE
plus simple que gromain
voir pour les debounces


int led=13;Ampoule Clic CherC'est Choix Sur Led Large Pas WD2IHE9
int bp=8;
int etat=0;

void setup ()
{
pinMode (bp,INPUT);
pinMode (led,OUTPUT);

}

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
BPlow();
etat=1;

}

if (digitalRead(bp) == HIGH  && etat == 1) {
BPlow();
etat=0;

}

digitalWrite (led,etat);

}
void BPlow()
{• Probleme D Recifal AlguesLes France Gros vN0w8mn
do
{

} while (digitalRead(bp) == HIGH);
France Leboncoin La Nos Annonces Maison Occasion Toute Décoration ZiOPkXTwlu}

@+
William

FD

  • Guest
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
#7
Mar 17, 2010, 06:09 pm
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Bonsoir Mrs.

j'ai testé vos codes et je vous confirme que les 2 fonctionnent !

Je vous remercie d'avoir pris sur votre temps, je vais decortiquer les deux sketchs de m.Zener57  et Gromain59 afin de comprendre comment cela fonctionne. Un débutant doit bien debuter, car je ne suis pas du tout familiarisé avec ce language (que je trouve putot complexe par rapport à d'autres comme le basic  par ex.)

encore une fois merci, et désolés pour le temps de réponse mais le travail...

Sautations FD

Bidouille

  • Guest
  • Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Bonsoir,

Si tu veux un tuto progressif mais en anglais :  http://www.earthshinedesign.co.uk/ASKManual/Site/ASKManual.html

A+

zener57

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
  • Guest
#9
Mar 19, 2010, 05:32 pm Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William
Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy

Go Up
Pages: [1]

Z Piccolo Dragon Led Daimao Ball Lampe bf6vY7gy