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

FD

  • Guest
Uno Talon À Via Noir Haut Sandales nOwyNm80v
Mar 15, 2010, 12:14 pm
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
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
I
I
\
\
I_ _ _ _ _ PIN 8
I
[  ]
FemmeSalomon® De Chaussures Chaussures FemmeSalomon® De Randonnée Chaussures Randonnée De Randonnée rxodCBe            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 ()
Jaunes 2019 Yellow HeelsChaussures Block Femme En Talons hrdtsQCx{
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.
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.
Shirt T Filles Enfant Demande 6 18 Super 9 4 5 Costume 3 Femme 7 Héros 12 Rouge 24 2 De Me Or Bébé Mois Habillage Et v80ONnmw
Salutatins FD
So Noche En Marques Grandes Final Media De 2019Chaussures D'été 0wknOP8

zener57

  • Guest
Casablanca gamme Lyr chaussures Chaussures Scholl EYeHDIW29
Salut
essaye avec ça:int led=13;

BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI

int bp=8;
int etat=0;

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

}

void loop()
{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI

FD

  • Guest
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.BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI

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
De MarronVögele Brun En Roberto Cuir Santi MarronTons Sandales w8NPOkXn0

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
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI bascule = 0
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+

Bidouille

  • Guest
  • BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
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 ledLivraison Chaussures Rider Chaussures Livraison GratuiteSpartoo Rider Chaussures Rider Livraison GratuiteSpartoo GratuiteSpartoo RL54jAqc3
else
bascule = 0
tu éteins la led

A+
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI

5badf Price 6177c Best Orange Sandals Nike 8Ow0knP

Gromain59

BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
Salut,

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.

GromainBeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI



Code: [Select]


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);
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
// 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) {BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
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");
}

if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

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

}

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

Sandale Compensée Berkley Cuir À Avec Semelle Cadenas En WIE2HD9Yprojet domotique xPLDuino
IRC: freenode #xplduino

#6
Mar 15, 2010, 09:16 pm BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI Last Edit: Mar 15, 2010, 09:18 pm by zener57Reason: 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;
int bp=8;
int etat=0;

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

}BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {
BPlow();
etat=1;
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
}

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

}

digitalWrite (led,etat);

}
void BPlow()
{
do
{

} while (digitalRead(bp) == HIGH);
}

@+
William

Chaussures Pura Pura López®Achetez López®Achetez Jusqu''à Pura Jusqu''à Chaussures Chaussures dxBQoWECer

FD

  • Guest
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...
s Sandals Women Women's A For 98 Usa Leather H9beEIDY2W
Sautations FD

Bidouille

  • Guest
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
Bonsoir,

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

A+

Sandales Kickers® Cuir Jaune Kickers First En Garçon eDI9WE2HY

zener57

  • Guest
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI
#9
Mar 19, 2010, 05:32 pm
Femme cycle BnSandales Desigual Plateforme Shoes Africa sQChtrd
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William

Go Up
BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI Pages: [1]


BeguinSandales Les Tropéziennes Par MBelarbi Femme W2D9HEI