IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Programme pont en h avec photoresistance


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 1
    Par défaut Programme pont en h avec photoresistance
    Bonjour, en projet de terminal, on souhaite faire un parasol automatique, et je doit faire en sorte de faire basculer la toile dans 4 direction pour mettre la zone d'ombre toujours au même endroit, j'ai donc 3 photorésistances et 2 moteurs de lève vitre. voici mon programme, est ce que je suis sur la bonne voie ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    #define Photoresistance_droite A0
    #define Photoresistance_gauche A1
    #define Photoresistance_haut A2
    // #define mot1
    // #define mot2
    #define In1 5 // mot 1
    #define In2 6 // mot 1 
    #define In3 2 // mot 2
    #define In4 3 // mot 2
    boolean tourne_haut;
    boolean tourne_droite;
    boolean tourne_gauche;
    boolean tourne_bas;
     
    int Droite;
    int Gauche;
    int Haut;
     
    //int Tampon=30;
     
     
    void setup()   {
    pinMode(Photoresistance_droite,INPUT);
    pinMode(Photoresistance_gauche,INPUT);
    pinMode(Photoresistance_haut,INPUT);
     
    pinMode (In1,OUTPUT);   
    pinMode (In2,OUTPUT); 
    pinMode (In3,OUTPUT);   
    pinMode (In4,OUTPUT);   
     
    } 
     
    void loop()
    {
    Droite=analogRead(Photoresistance_droite);
    Gauche=analogRead(Photoresistance_gauche);
    Haut=analogRead(Photoresistance_haut);
     
     if ( Droite > Gauche)
     {
     tourne_droite=1;
     }
     else
     {
     tourne_droite=0;
     }
     
     if (Gauche > Droite)
     {
     tourne_gauche=1;
     }
     else
     {
     tourne_gauche=0;
     }
     
     if ( Haut < (Gauche + Droite) / 2)
     {
     tourne_bas=1;
     }
     else
     {
     tourne_bas=0;
     }
     
     if (Haut > (Gauche + Droite) / 2)
     {
     tourne_haut=1;
     }
     else
     {
     tourne_haut=0;
     }
     
     if (tourne_droite=1);
     digitalWrite(In1,HIGH);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     if (tourne_droite=0);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     if (tourne_gauche=1);
     digitalWrite(In1,LOW);
     digitalWrite(In2,HIGH);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     if (tourne_gauche=0);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     if (tourne_bas=1);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,HIGH);
     digitalWrite(In4,LOW);
     
     if (tourne_bas=0);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     
     if (tourne_haut=1);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,HIGH);
     
     if (tourne_haut=0);
     digitalWrite(In1,LOW);
     digitalWrite(In2,LOW);
     digitalWrite(In3,LOW);
     digitalWrite(In4,LOW);
     
     delay(10);
    }
    merci ^^

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 276
    Billets dans le blog
    48
    Par défaut
    Bonsoir,

    Ne pas confondre = (opérateur d'affectation) avec == (opérateur d'égalité).

    Dans ton cas, ce serait plutôt if (tourne_droite==1).

    D'ailleurs il faudrait revoir tes if, tourne_droite est un booléen qui prend les valeurs true ou false :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (tourne_droite==true)
    Mais tu peux optimiser je suppose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (tourne_droit==true) {
      digitalWrite(In1, HIGH) ;
      digitalWrite(In2, LOW) ;
     
    } else if (tourne_gauche==true) {
      digitalWrite(In1, LOW) ;
      digitalWrite(In2, HIGH) ;
    } else {
      digitalWrite(In1, LOW) ;
      digitalWrite(In2, LOW) ;
    }
    // etc.

Discussions similaires

  1. rediriger les résultats d'un programme dans un fichier avec format spécifié
    Par condor_01 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 27/11/2007, 21h55
  2. peut on programmer en c/c++ avec le borland c++ builder
    Par Minouchka dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/11/2007, 19h12
  3. programmer sur ecrans "tactiles" avec java
    Par itmak dans le forum Général Java
    Réponses: 3
    Dernier message: 15/07/2007, 10h10
  4. Programmation d'agent intelligent avec java
    Par oussam dans le forum Programmation par agent
    Réponses: 9
    Dernier message: 28/05/2007, 18h12
  5. Réponses: 2
    Dernier message: 14/01/2004, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo