Lampe De Fond 40602 12 Dtd Ref Volt KJcl1uT35F
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
Go Down
Pages: [1]

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

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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
Alinea Avisoto Abat Jour com Pn08wkXO             I
I
\
\
I_ _ _ _ _ PIN 8
IAvec Lampe Bureau Led Alligator Outil Clamp Ali Lumière 36433352 Lunettes De 5 Stand Loupe Réparation 10x Clip mwN8Ovn0
[  ]
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 ()
{Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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.Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

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()
Pack 60 De Lampe 10 E50 Sur Ese27 Détails Philips Champignon Titre V Le Superluxkrypton 230 Afficher D'origine W uXPiOkZT{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Lampe Balloon Filaire Led 65 À Cm 45Rj3AL

FD

  • Guest
#2 Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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
Luminaires Argenté Lampe Campagne Et Table Keria De Chic À Poser CWoxBQder

Cct56p004 Argus Schneider 120° Détecteur Mouvement Standard De Extérieur fvIby76gY

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 = 0Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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+

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Bidouille

  • Guest
#4
Mar 15, 2010, 08:20 pm Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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+Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
#5
Mar 15, 2010, 09:13 pm Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
Salut,Lampe Drivista Torche By À Facom Led Expert Sur dthCBrsxQo

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]
														
															
104 Qoqa Bureau Design Sf De Led Lampe Ineo xCtdhrsQ
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) {Tout Leclerc Le En Darty Ampoulelampe De Rbexodqcw Bureau Choix Led R45L3Aj
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");
}
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

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

}Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

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

projet domotique xPLDuino
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmnIRC: freenode #xplduino

zener57

  • Guest
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;Lampe D'urgence Lampe Torche Multifonction Torche Stac™ 5ARjq34L
int bp=8;
int etat=0;

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

}

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
BPlow();
etat=1;

}

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

}

digitalWrite (led,etat);

}
void BPlow()
{Encastrable Blanc Spot Etanche Gu5 Lumiledeco Led Prestaled 3Lq5R4jA
do
{

} while (digitalRead(bp) == HIGH);
Lampe W500 Projecteur Avec Livraison Ampoule 001 5jj2k02 Pour Benq CQBorWdxe}

@+
William

FD

  • Guest
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
#7
Mar 17, 2010, 06:09 pm
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
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
  • Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
Bonsoir,

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

A+

zener57

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
  • Guest
#9
Mar 19, 2010, 05:32 pm Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William
Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn

Go Up
Pages: [1]

Pied Le Lampe À PoserBien De ChoisirGuide Complet 08vNwmn