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

Raspberry Pi Discussion :

Eclairage automatique d'un aquarium


Sujet :

Raspberry Pi

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Eclairage automatique d'un aquarium
    Bonjour tout le monde,

    J'ai acheté un aquarium il y a quelques semaines et j'aimerai automatiser l'éclairage de celui-ci.
    Pour cela j'utilise un relais contrôlé par un Arduino qui lui-même est relié à une Raspberry Pi.


    J'ai donc créé un programme python (qui utilise la bibliothèque Serial) qui sera activé par une tâche planifiée :

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import serial
     
    port = "/dev/ttyUSB0"
    output= 9600
    ser = serial.Serial(port, output)
    nb ="1"
    #nb = raw_input("nb: ")
     
    ser.write(nb)
     
    #print(ser.name)
    print(nb)

    le code est simple et pourtant il ne se passe rien à l'exécution.
    Ce qui est bizarre c'est que si je remplace le nb=1 par le raw_input() qui est en commentaire et que l'utilisateur rentre bien "1", le relais se déclenche...

    Voici le code de la Arduino :

    Code Arduino : 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
    int byte_read = 0; //<= the current byte
    int recieved_integer = 0; //<= the current recieved integer
     
    void setup() {
      pinMode(2, OUTPUT);
      digitalWrite(2, HIGH);
     
      Serial.begin(9600);
    }
     
    boolean is_a_number(int n){
      return n>=48 && n <=57;
    }
     
    int ascii2int(int n, int byte_read) {
      return n*10 + (byte_read - 48);
    }
     
    void loop() {
      recieved_integer =0;
      Serial.write("coucou");
      if (Serial.available()) { 
     
        int byte_read = Serial.read();
     
        if (is_a_number(byte_read)) {
          recieved_integer = ascii2int(recieved_integer, byte_read);
        }
     
        switch (recieved_integer ) {
          case 1:
              digitalWrite(2, LOW);
            break;
          case 2:
              digitalWrite(2, HIGH);
            break;
        }     
     
     
      }
      delay(2000);
    }

    Si vous avez une solution à mon problème je suis preneur...
    Dernière modification par Invité ; 12/10/2019 à 14h42. Motif: Ajout coloration syntaxique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32
  2. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    Réponses: 10
    Dernier message: 29/07/2002, 11h33
  3. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19
  4. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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