Pages: 1 [2]   Go Down
Author Topic: décideur electronique  (Read 1063 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour , merci pour vos aides en faites j'ai eu de nouvels infos
    en fait sai pour un magasin ki a l'habitude de fouiller ses clients selon la tete du client et là ils veulent un appareil avec un bouton poussoir et deux leds rouge et verte les clients en sortant appuie sur le bouton poussoir et aleatoirement une led s'allume si sai la rouge on fouille le client si sai la verte on ne le fouille pas et dans le programme on doit introduit une condition enfin de ne pas avoir une led ki s'allume continuellement example si la led rouge s'allume 5 fois de suite automatiquement sai la led verte qui s'allumera la 6 eme fois . merci d'avance
Logged

France
Offline Offline
God Member
*****
Karma: 34
Posts: 984
Scientia potentia est.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour smiley-kitty

Voici un petit exemple: http://codepad.org/HW1JZsjl

A toi de le modifier comme tu veux smiley
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour faire ce genre de chose pas besoin de ce casser la tête à vérifier le nombre d'occurrence.

Voila un exemple :
Code:
/* Broche utilisées pour les leds */
const byte PIN_LED_RED = 11;
const byte PIN_LED_GREEN = 12;

/* Flag du bouton */
byte bpFlag = false;

/* Fonction déclenché par l'appui du bouton */
void yesOrNot() {
  bpFlag = true;
}

void setup() {

  /* Bouton sur D2 */
  pinMode(2, INPUT_PULLUP);
  attachInterrupt(0, yesOrNot, FALLING);

  /* Led rouge en sortie */
  pinMode(PIN_LED_RED, OUTPUT);
  digitalWrite(PIN_LED_RED, LOW);

  /* Led verte en sortie */
  pinMode(PIN_LED_GREEN, OUTPUT);
  digitalWrite(PIN_LED_GREEN, LOW);

  /* Initialisation du random */
  randomSeed(analogRead(A0));
}

void loop() {

  /* Si le bouton a été appuyé */
  if (bpFlag) {

    /* Random -> vrai ou faux */
    byte r = random() & 1; // Nombre & 1 = pair ou impair

    /* Allumage des leds */
    digitalWrite(PIN_LED_RED, r ? HIGH : LOW);
    digitalWrite(PIN_LED_GREEN, r ? LOW: HIGH);
    // a ? b : c ~> if (a) { b } else { c }

    /* Reset du flag */
    bpFlag = false;

    /* Delai d'une 1/2 seconde */
    delay(500);
  }
}
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: 1 [2]   Go Up
Jump to: