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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2021
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Besoin d'aide pour programme Arduino ( projet étudiant )
    Bonjour à toutes et à tous.

    Je suis actuellement en première année de classe préparatoire, et nous devons en groupe pour cette fin d'année réaliser un projet " ingénieur ".

    Je vous explique brièvement le contexte : nous devons construire une maquette d'éolienne qui doit, couplée avec un anémomètre, se disposer en position drapeau quand la vitesse du vent dépasse une vitesse limite. Pour cela, nous disposons donc d'un anémomètre, qui renvoie une tension à une carte Arduino, qui elle contrôle un servo-moteur. Ce servo-moteur va faire bouger la maquette par rapport à un axe fixe.

    Nous possédons déjà le matériel, mais nous n'avons pas pour l'instant de programme Arduino permettant de réaliser cette tâche. Nous voulons que notre programme ordonne à notre servo-moteur de faire une rotation de 90° par rapport à l'origine quand la vitesse du vent renvoyée par l'anémomètre dépasse une vitesse limite que nous avons décidé à l'avance.

    Si je vous contacte aujourd'hui, c'est que nos connaissances en langage Arduino sont très limitées ( nous ne codons qu'en Python ). C'est pour cela que je vous demande votre aide; des pistes ou des programmes pouvant nous faire gagner du temps dans l'établissement de ce programme.

    Je vous remercie à l'avance de votre temps !

    N.B. Information du constructeur pour l'anémomètre : " L'anémomètre ferme quand à lui un contact ILS à chaque rotation d'un tour complet (une vitesse de vent d'environ 2,4 km/h génère la fermeture impulsionnelle du contact par seconde). "

  2. #2
    Membre émérite

    Homme Profil pro
    mad scientist :)
    Inscrit en
    septembre 2019
    Messages
    1 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 558
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour

    Citation Envoyé par ArmandGuitton Voir le message
    nos connaissances en langage Arduino sont très limitées ( nous ne codons qu'en Python )
    On ne peut pas vous aider à tricher pour votre projet scolaire.

    Je suppose que vous avez ce projet depuis un certain temps. Vous n'avez rien fait?
    si vous postez un peu le code que vous avez, on vous aidera à avancer

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

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 408
    Points : 49 442
    Points
    49 442
    Billets dans le blog
    18
    Par défaut
    Salut,

    On peut faire ça par interruption.

    Par exemple, dans le setup() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    attachInterrupt(digitalPinToInterrupt(pinAnemometer), isr_tours, RISING);
    pinAnemometer = 2 ou 3 sur Arduino Uno
    à chaque front montant (RISING), le programme saute dans la fonction isr_tours().

    Dans la loop() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void loop(){
      nb_tours = 0;
     
      interrupts();    // autoriser les interruptions
      delay(5000);   // on compte le nombre de tours sur 5 s par exemple
      noInterrupts();// désactiver les interruptions
     
      Serial.println(nb_tours / 5 * 2.4); // vitesse en km/h
    }
    fonction d'interruption :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     void isr_tours() {
      nb_tours++;
    }
    Voilà, en gros dans un premier temps...
    Dans le comptage des fronts, il faudra sans doute prendre en compte les rebonds des contacts. A voir quand vous ferez vos premiers tests...

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : avril 2021
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de la réponse, c'est gentil de votre part d'avoir pris le temps de me répondre.

    Cependant, la console Arduino m'indique une erreur : 'pinAnenometer' was not declared in this scope
    Pouvez-vous m'aider s'il vous plaît ?

  5. #5
    Membre émérite

    Homme Profil pro
    mad scientist :)
    Inscrit en
    septembre 2019
    Messages
    1 558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 558
    Points : 2 808
    Points
    2 808
    Par défaut
    mettez en haut du sketch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const byte pinAnemometer = 2 ;
    (s'il est connecté sur la pin 2)

    sérieusement si vous voulez pouvoir défendre votre code à la soutenance, faites quelques tutos de base...

Discussions similaires

  1. Besoin d'aide pour programme Arduino pour un TIPE
    Par ArmandGuitton dans le forum Arduino
    Réponses: 2
    Dernier message: 16/04/2021, 10h55
  2. Besoin d'aide pour un futur projet
    Par bogoss91 dans le forum Développement 2D, 3D et Jeux
    Réponses: 19
    Dernier message: 07/09/2007, 12h31
  3. Besoin d'aide pour programmation en c
    Par romi36 dans le forum Débuter
    Réponses: 7
    Dernier message: 09/06/2007, 22h55
  4. Besoin d'aide pour trouver un projet
    Par ptitJP dans le forum C++
    Réponses: 22
    Dernier message: 26/02/2005, 23h14

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