Go Down

Topic: Bac-Ka-Poux-Bêle 2019 (Read 13987 times) previous topic - next topic

jfs

#255
Today at 07:12 am Last Edit: Today at 07:14 am by jfs
Il faut mettre le code en balise code sinon il apparait mal formaté voir ici rapidement
Code: [Select]
#include <boarddefs.h> // Utilisation des bibliothèques
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>

//A utiliser pour récuperer le code envoyé par la telecomande

//Création des variables
int RECV_PIN = 3; // Connectée sur l'entrée digitale 3
int DIR1_PIN = 7; // Connectée sur l'entrée digitale 7
int VIT1_PIN = 6; // Connectée sur l'entrée digitale 6
int DIR2_PIN = 4; // Connectée sur l'entrée digitale 4
int VIT2_PIN = 5; // Connectée sur l'entrée digitale 5
int BOUT1_PIN = 10; // Connectée sur l'entrée digitale 10
int BOUT2_PIN = 11; // Connectée sur l'entrée digitale 11

IRrecv irrecv(RECV_PIN); // Récéption des ondes Infrarouges

decode_results results; // Décoder ce que la télécommande envoie

void setup() // Action effectuée une seule fois
{
  Serial.begin(9600); // Démarrer une liaison série avec l'ordinateur
  irrecv.enableIRIn(); // Démarrer le receveur
  pinMode(DIR1_PIN, OUTPUT);  // Définit la broche numérique DIR1 comme sortie
  pinMode(VIT1_PIN, OUTPUT);  // Définit la broche numérique VIT1 comme sortie
  pinMode(DIR2_PIN, OUTPUT);  // Définit la broche numérique DIR2 comme sortie
  pinMode(VIT2_PIN, OUTPUT);  // Définit la broche numérique VIT2 comme sortie
  pinMode(BOUT1_PIN, INPUT);  // Définit la broche numérique BOUT1 comme entrée
  pinMode(BOUT2_PIN, INPUT);  // Définit la broche numérique BOUT2 comme entrée
}

void loop() // Action répétée à l'infini
{ results.value=0; // Resultat = 0
  Serial.println (digitalRead (BOUT1_PIN)); // Afficher sur le moniteur série si il y a du courant sur le PIN 10
  irrecv.decode(&results); // Stocker le message envoyé par la télécommande
  irrecv.resume(); // Relancement de la lecture
  
if(results.value == 0XCC36FF5F){ // Avancer; Si le resultat de la touche de la télécommande correspond à celui indiquer
  avance(1,255); // Marche avant
  Serial.println("Avancer"); // Afficher dans le moniteur série "Avancer"
}
if(results.value == 0XCC1C9F5B){// Eteindre; Si le resultat de la touche de la télécommande correspond à celui indiquer
  avance(0,0); // Eteint
  Serial.println("Eteindre"); // Afficher dans le moniteur série "Eteindre"
}
if(results.value == 0X989D243A ){ // Reculer; Si le resultat de la touche de la télécommande correspond à celui indiquer
  avance(0,255); // Reculer
 
  Serial.println("Reculer"); // Afficher dans le moniteur série "Reculer"
}
  delay(100); // Délai de 100ms
if(digitalRead(BOUT1_PIN) == 1){ // Si le bouton 1 est actionné
  avance(0,0); // Eteint
}
if(digitalRead(BOUT2_PIN) == 1){ // Si le bouton 2 est actionné
  avance(0,0); // Eteint
}
}

void avance(int sens, int vitesse) // Partie moteur
{
  digitalWrite(DIR1_PIN, sens);
  analogWrite(VIT1_PIN, vitesse);
  digitalWrite(DIR2_PIN, sens);
  analogWrite(VIT2_PIN, vitesse);
}

Trop tard....
Pas d'aide par MP !!!

Concernant le fonctionnement du forum tout se trouve dans les messages épinglés en tête de page.

Kevin2001


Mary779

if (debutAppui != 0 && millis() - debutAppui = 5000)

-->
if (debutAppui != 0 && millis() - debutAppui >= 5000)
Quand je met >= la lampe reste à 1 mais c'est ce que je veux

J-M-L

#258
Today at 02:03 pm Last Edit: Today at 02:05 pm by J-M-L
S'il vous plaît votre aide
Mary - votre post a été mis dans la poubelle du bar...

lisez comment utiliser le forum (les posts épinglés en haut du forum comme "Bien éditer son post pour les nuls" , "Faire un Nouveau Sujet ou le corriger avec les Balises..." et "Règles du forum francophone"), et refaites un post "propre" dans la bonne section
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Mary779

C'est vraiment ce programme que tu exécutes? car il y a plusieurs erreur de compilation dus à des majuscules intempestives.
Salut , concernant le programme la lampe reste à 1 pr toujours (>=5000) . comment je peux la mettre à 0 ? S'il vous plaît votre aide

J-M-L

#260
Today at 02:37 pm Last Edit: Today at 02:38 pm by J-M-L
Salut , concernant le programme la lampe reste à 1 pr toujours (>=5000) . comment je peux la mettre à 0 ? S'il vous plaît votre aide

AGAIN...


Mary - votre post a été mis dans la poubelle du bar...

lisez comment utiliser le forum (les posts épinglés en haut du forum comme "Bien éditer son post pour les nuls" , "Faire un Nouveau Sujet ou le corriger avec les Balises..." et "Règles du forum francophone"), et refaites un post "propre" dans la bonne section
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Mary779

Code: [Select]


static byte capteurPrecedent = LOW;
static unsigned long debutAppui;

void setup(){
  pinMode(4,INPUT);
  pinMode(6,OUTPUT);
}

void loop(){

  byte capteur = digitalRead(4);
  if (capteur != capteurPrecedent)
  {
    if (capteur == HIGH)
    {
      debutAppui = millis();
    }
    else
    {
      debutAppui = 0;
    }
    CapteurPrecedent = capteur;
    delay(20);             
  }
  if (debutAppui != 0 && millis() - debutAppui> = 5000)
  {
    DigitalWrite(6,HIGH);}

  }


concernant le programme en haut la lampe reste à 1 pr toujours car on a
Code: [Select]
millis()-debutAppui>=5000


comment je peux la mettre à 0 ?  sachant que j'ai testé 
Code: [Select]
else{debutAppui=0 ; digitalWrite(6,LOW);}



J-M-L

#262
Today at 08:02 pm Last Edit: Today at 08:03 pm by J-M-L
bla bla bla
MARY VOUS N'ECOUTEZ PAS CE QU'ON VOUS DIT... BYE
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Go Up