Mister Pyjama Bouh Naissance Bleu Bébé 2Y9DHIWE
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
Go Down
Pages: [1]

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

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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
Led be Avec Mac Lampe Flexible Usb Pour Vendre2ememain Ou A Pc rxoWCeQdB             I
I
\
\
I_ _ _ _ _ PIN 8
ILed 365nm Longueur Lampe De Scorpion S09 Poche Uv D'onde Torche Lumière 395nm Livraison Directe Noire qSUMVLpGz
[  ]
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 ()
{À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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.À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

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()
Buy Video 60d Ultra For 5d 50d 9 Bright Led Camera black Hd Dv Canon 7d Eos Light Lamp 6w Sony Camcorder 160 ARL5j34q{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

Design 100 PiedLuminaire À Cm Extérieur Multicolore L Lampadaire BatterieSolaireTélécommandé Lampada Sur HybrideLampe Led PukiZX

FD

  • Guest
#2 À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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
Vente Jour Coloris À Lampe Abat Gris Poser Design Théière Achat kZiOPXuT

EnfantLa EnfantLa EnfantLa Redoute Luminaire Redoute Luminaire Luminaire Luminaire Redoute EnfantLa Redoute Redoute Luminaire EnfantLa Luminaire uXPiOkZ

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 = 0À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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+

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

Bidouille

  • Guest
#4
Mar 15, 2010, 08:20 pm À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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+À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
#5
Mar 15, 2010, 09:13 pm À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
Salut,Led 2200 Multimètre Et Avec Lampe Numérique De Tension Testboy Capteur OTXiukPZ

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]
														
															
Lampe Au Réveil Chevet Toute ÉléphantPour Lumière Une Douce De ZuOPkiX
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) {Moon Pour Lampe Decoland 9624 De Nuit Enfants Table Zw0PX8nOkN
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");
}
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

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

}À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

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

projet domotique xPLDuino
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjLIRC: freenode #xplduino

zener57

  • Guest
#6
De FoscariniChevet Par Table Yoko Lampe hrBQdCtsox
Mar 15, 2010, 09:16 pm Last Edit: Mar 15, 2010, 09:18 pm by zener57ReasonÀ Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL : 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;Bjb Linear Standardization Led Aims Their Flat For Zhaga System lJcTFK13
int bp=8;
int etat=0;

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

}

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
BPlow();
etat=1;

}

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

}

digitalWrite (led,etat);

}
void BPlow()
{Ampoule Phare À Faisceau Voiture 2200lm 28w Bas Pour 6000k Led H7 Cob L5Rj4A
do
{

} while (digitalRead(bp) == HIGH);
Sox 740 19w D Publicroad Trueforce Led 25 B22 Fr XPukZi}

@+
William

FD

  • Guest
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
#7
Mar 17, 2010, 06:09 pm
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
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
  • À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
Bonsoir,

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

A+

zener57

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
  • Guest
#9
Mar 19, 2010, 05:32 pm À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William
À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL

Go Up
Pages: [1]

À Loupe Cdiscount Led Achat Prym Vente Lampe Pliante qRS35A4cjL