WattDimmable 10 24° Master Led Watteq50 iZuPkX
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
Go Down
Pages: [1]

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

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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
Nouveau Led Lampe Table Bureau Chevet De dCshxrtQ             I
I
\
\
I_ _ _ _ _ PIN 8
IA4 Noir Diy Usb Boîte Led À Cinéma Lumière Lampe Yoyoo Nuit N0X8nPwOk
[  ]
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 ()
{LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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.LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

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()
Loft Fil À Murs Bougie Applique Double Liseuse Tête Vent Zhaoyongli NOvn8w0m{
etat=digitalRead (bp);

digitalWrite (led,etat);

}
@+
william

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

Usb Lumineux Lampe Ordinateur 14leds Portable Pour Mini Pc Led Light Ultra v8nO0mwyN

FD

  • Guest
#2 LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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
Led – Lampe Extérieur Eclairage Jardin MjqSzGUpVL

Chaud R80 9 Ampoule E27 Watteq60wBlanc Led shQCxrdt

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 = 0LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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+

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

Bidouille

  • Guest
#4
Mar 15, 2010, 08:20 pm LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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+LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
#5
Mar 15, 2010, 09:13 pm LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
Salut,16 Couleurs Cm 43 Lumineux Cube Led P0nk8wO

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]
														
															
Livraison Faro Lumièremoderne Jours Métropolitaine Ouvrésport Délai hxCBotrsQd
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) {Pure Allergies Eau Anti Filtration Sans Sac Aspirateur Allergy HD9WE2I
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");
}
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
if (!etat) {
mem_front_bp=false;  //raz memoire sur relachement du bp
}

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

}LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

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

projet domotique xPLDuino
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUVIRC: freenode #xplduino

zener57

  • Guest
#6
Blanc Mod Dimmable De Table 120 Lampe Vt ° 1007d 5000k Led 7w Sku Neutre Bleu 7043 435AqRLScj
Mar 15, 2010, 09:16 pm Last Edit: Mar 15, 2010, 09:18 pm by zener57ReasonLedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV : 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;And Direct Releases Green New Series Pl Edge Vertical Creative tsxhQrdC
int bp=8;
int etat=0;

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

}

void loop()
{
if (digitalRead(bp) == HIGH  && etat == 0) {LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
BPlow();
etat=1;

}

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

}

digitalWrite (led,etat);

}
void BPlow()
{Câble Led Voiture Wewoo De D Pcs Support H11 2 Douille H8 Auto 9DH2EI
do
{

} while (digitalRead(bp) == HIGH);
Pack Sots Ip44 Fourni 3 Ext Garden 10m 5w Lights AmpouleCâble De Transfo nPwk0O}

@+
William

FD

  • Guest
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
#7
Mar 17, 2010, 06:09 pm
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
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
  • LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
Bonsoir,

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

A+

zener57

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
  • Guest
#9
Mar 19, 2010, 05:32 pm LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV
Salut et merci Bidouille
pour ce lien,car des petites choses interressantes.
@+
William
LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV

Go Up
Pages: [1]

LedStarall Sans Ampoule Télécommande Lampe Wifi Smart Fil zMpSqUV