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

C++ Discussion :

détecteur d'ondes électromagnétiques


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Adjoint Administratif Territorial
    Inscrit en
    Juin 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Adjoint Administratif Territorial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2017
    Messages : 34
    Points : 34
    Points
    34
    Par défaut détecteur d'ondes électromagnétiques
    Bonjour à tous,

    Voilà, j'ai fabriqué un détecteur EMF qui comporte 1 carte arduino, 1 antenne, 7 LED et 1 buzzer.

    J'ai repiqué un programme sur le net, que j'ai adapté à ma machine.

    Seulement les LED clignotent toutes que je sois éloignée de l'antenne ou pas. Normalement, plus je m'approche de l'antenne et plus le nombre de LED allumées augmente. Le buzzer devrait sonner une fois les 7 LED allumées.

    voilà mon code.
    Qui peut m'aider SVP ?
    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
     
    const int analogPin1 = A0; // l'entrée analogique où est branchée l'antenne
    const int ledCount = 7; // le nombre de LED
    const int buzzerPin = 12; // le pin ou est relié le buzzer
     
    int ledPins [] = {
    2, 3, 4, 5, 6, 7, 8}; //les pin où sont reliées les LED
     
    void setup () { Serial.begin(9600);
    for (
    int thisLed = 0; thisLed < ledCount ; thisLed++) {
    pinMode (ledPins [thisLed], OUTPUT);
    pinMode (buzzerPin, OUTPUT);
    }
    }
     
    void loop () {
    float sensorReading1 = (float)analogRead(analogPin1);
    int sensorResult = (int)(sensorReading1);
    int ledLevel = map(sensorResult, 0, 700, 0, ledCount);
    Serial.println(sensorResult);
    delay(10);
     
    for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    if (thisLed < ledLevel) {
    digitalWrite (ledPins [thisLed], HIGH);
    tone (buzzerPin, 10);
    }
    else {digitalWrite (ledPins [thisLed], LOW);
    noTone (buzzerPin);
    }
    }
    }

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Pour le buzzer le code ne semble pas correspondre à ce que tu as dis (il est activé/désactivé dans la boucle pour chacun des niveaux testés. Il faudrait que la décision se fasse à la fin de la boucle.)
    Pour les LEDs, je ne sais pas comment elle sont connectées (autrement dit, je ne sais pas si c'est le niveau HIGH qui allume les LEDs ou si c'est le niveau LOW)
    mais le code est cohérent; pour toutes les valeurs inférieures au seuil on passe la LED HIGH, pour les valeurs supérieures on passe la LED au niveau LOW.

    Il faudrait vérifier ce qui sort de la fonction analogRead(analogPin1) elle renvoie un nombre entier compris entre 0 et 1023, et ce en fonction de ta distance au détecteur. Ton code le convertit en flottant pour immédiatement après le convertir en entier et tu t'attends à un nombre compris entre 0 à 700. tu peux l'envoyer sur le port série pour en voir la valeur. Ensuite en fonction de ce qui est vu, il faudra agir sur les LED, le détecteur, ou le logiciel.

    PS : je ne sais pas ce qui sort de ton détecteur EMF (ça doit être un niveau de 0 à 3V pour que ton code ait un sens.)

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Adjoint Administratif Territorial
    Inscrit en
    Juin 2017
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Adjoint Administratif Territorial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2017
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    merci pour votre réponse dalfab.

    J'ai fabriqué l'objet à partir d'une video youtube.
    Je ne sais pas si j'ai le droit de mettre le lien vers la vidéo ici, alors je ne la mettrai pas

    "J'ai une carte de connexion et une carte Arduino UNO R3 qui est reliée par un connecteur sur l'entrée 'ground' et qui, sur la carte de connexion, est branchée sur le -

    Les LED sont placées sur la carte de connexion (la petite branche sur le - et la grande sur le +) et connectées par un fil sur les PIN digitaux 2 à 8 de la carte UNO R3.
    Puis j'ai mis l'antenne sur l'entrée analogique de la carte UNO A0.
    Le buzzer lui est relié au PIN 12.

    J'espère que je n'ai pas trop embrouillé... lol

    Pouvez-vous me dire quelles modifications je dois faire dans mon code, je ne m'en sors vraiment pas.
    Comme j'ignore de quelle manière je peux voir les données affichées sur le port série.

    Merci par avance

Discussions similaires

  1. Programme en C++ pour le detecteur de harris
    Par saredo dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 11/06/2006, 00h24
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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