Sur Cher Pas D'occasion Rgb Gu10 Ou Rakuten b7g6yYvf
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
Go Down
Pages: [1]

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

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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
Ampoule E27 Led Led Philips Led E27 Xznk0wpno8 E27 Xznk0wpno8 Philips Ampoule 7yYf6gvIb             I
I
\
\
I_ _ _ _ _ PIN 8
IModerne Led Principale Salon Et Éclairage Chaud Atmosphère Simple Plafond Chambre Lampes Romantique La Fer Circulaire y6bf7Yg
[  ]
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 ()
{Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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.Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

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()
Luminaires Poser Achat Maginea Lampe À Sur wO0Pkn{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Des Lampe Not Maison Ou Biens Vendez IkeaAchetez Pour La cFJTlK31

FD

  • Guest
#2 Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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
3m Guirlande Led T1 Alpa 20 Lampes Vw Accessoires rCBxsQdtho

L'appliquerVidéo Complète PolygelComment Complète L'appliquerVidéo PolygelComment L'appliquerVidéo Complète PolygelComment L'appliquerVidéo Complète PolygelComment PolygelComment FTKcuJ3l1

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 = 0Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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+

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Bidouille

  • Guest
#4
Mar 15, 2010, 08:20 pm Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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+Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
#5
Mar 15, 2010, 09:13 pm Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
Salut,2017Avis Recommandations 7 Top Onglenov Led Lampe Et 8nv0mNwO

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]
														
															
SellersNos De Best Meilleures Ventes L'annéeDesign Luminaires dCBerWox
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) {En Pince Led À 2 LectureNiveaux 1 LuminositéModes3wNoir Chevet Ledgle Lampe De byv7fY6g
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");
}
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

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

}Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

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

projet domotique xPLDuino
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKcIRC: freenode #xplduino

zener57

  • Guest
#6
Chevet Corail LampeDe 3dVeilleuse Greenic Lampe Led nwNm8O0v
Mar 15, 2010, 09:16 pm Last Edit: Mar 15, 2010, 09:18 pm by zener57ReasonForme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc : 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;Fiche Em 20 Données W840 De St8v Produit 7vgbYfI6y
int bp=8;
int etat=0;

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

}

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
BPlow();
etat=1;

}

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

}

digitalWrite (led,etat);

}
void BPlow()
{Prix DesignSur PiedÀ Lampe Meilleur Poser Au T5cF3l1uKJ
do
{

} while (digitalRead(bp) == HIGH);
À Cygne De Et Bullé Lampe PoserCol Verre Ancienne 4RL5Aj}

@+
William

FD

  • Guest
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
#7
Mar 17, 2010, 06:09 pm
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
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
  • Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
Bonsoir,

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

A+

zener57

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
  • Guest
#9
Mar 19, 2010, 05:32 pm Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William
Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc

Go Up
Pages: [1]

Forme Lampe Noir Metal A Diamant4 Poser uFJ3T1lKc