Un petit soucis de detection de mouvement !
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Un petit soucis de detection de mouvement !



  1. #1
    Siham-Arrow

    Talking Un petit soucis de detection de mouvement !


    ------

    Bonsoir !
    Dans le cadre des PPE de terminale SI nous devons réaliser un socle tournant automatisé afin de permettre à un ventilateur de suivre le mouvement d’une personne dans une pièce.
    Ma camarade et moi-même étant toutes deux débutantes dans ce milieu nous bloquons sur pas mal de points.
    Après de nombreuses recherches sur les moyens de détecter une présence, nous nous sommes mises d’accord sur l’utilisation d’une webcam. Notre question : existe-il un logiciel capable d’envoyer un signal et de retransmettre la position de la personne ? Malgré notre ami google, nous n’avons pas trouvé notre bonheur...
    Notre socle doit pouvoir tourner sur 180 degré et se fixer sur l’utilisateur. (On suppose qu’il n’y en a qu’un.). Nous avons donc besoin de cette information de position pour pouvoir gérer un servomoteur par le biais de Flowcode.
    Merci d’avance pour toute aide apportée !

    -----

  2. #2
    EauPure

    Re : Un petit soucis de detection de mouvement !

    Bonjour,

    Plutôt qu'une webcam tournante et le logiciel d’analyse d'image un demi cercle de cellule photo électrique
    Moins cher et plus adapté au problème il me semble.
    La béatitude est l'attitude de l’abbé : la théorie bleue

  3. #3
    Siham-Arrow

    Re : Un petit soucis de detection de mouvement !

    Bonjour ! Et merci pour votre réponse !
    Nous avons cherché, comme vous nous l’avez suggéré, du côté des cellules photoélectriques, mais les informations trouvées nous amènent plutôt à penser que cela fonctionne par la détection d’un rayonnement lumineux, ce qui
    ne nous permettrait pas vraiment de détecter la présence éventuelle d'une personne dans une pièce.
    Nous avons fixé notre choix actuel sur un capteur de présence PIR, en oubliant l’idée de la Webcam... au vu de nos compétences cela nous semble plus approprié et moins difficile à mettre en œuvre. J'ignore si cela va fonctionner
    car nous sommes toujours dans l'attente de recevoir les pièces !!!!
    En vous remerciant du conseil !

  4. #4
    JPL
    Responsable des forums

    Re : Un petit soucis de detection de mouvement !

    En général les capteurs de présence sont des capteurs de mouvement, c'est-à-dire qu'ils ne détectent pas une personne immobile. En outre comment serait détectée la position de la personne si elle se déplace ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  5. A voir en vidéo sur Futura
  6. #5
    Siham-Arrow

    Re : Un petit soucis de detection de mouvement !

    Bonjour !
    Maintenant que vous le dites c'est une excellente question !!!
    J'avais cru comprendre que les capteurs de présence fonctionnaient grâce à de l'infra rouge et qu'ils détecteraient une source
    de chaleur dès qu'une personne serait présente...
    Pour détecter la position de la personne nous pensions entourer notre socle de 3 capteurs PIR ( angle de détection 110°),
    lorsqu'un capteur détecterait une source de chaleur dans son rayon d'action, il enverrait un signal et notre plateau tournerait
    pour s'orienter au niveau de ce capteur et donc se placer face à l'utilisateur.
    Le ventilateur resterait dans cette position à moins qu'un autre capteur ne se déclenche, puis il s'arrêterait dès que la
    température de la pièce deviendrait "correcte" ( pour cette partie se sont les deux autres membres de notre équipe qui essaye de moduler la vitesse de rotation des pâles de ventilateur en fonction de la température. )
    Nous allons donc chercher un moyen de détecter une personne immobile autre que la webcam que nous à déconseillé
    "EAUPURE".
    Merci pour votre aide !!

  7. #6
    Siham-Arrow

    Besoin d'aide! Programmation ARDUINO uno

    Bonjour !
    Dans le cadre des PPE de terminale SI, nous avons eu à réaliser un programme en langage Arduino.
    Mais il reste pas mal d’erreurs. Serait-il possible de nous aider ? (Ce programme doit nous servir a faire pivoter un servomoteur sur 180°, lorsqu'un capteur PIR se déclenche, le cerveau moteur doit pivoter et se placer face au capteur)
    Voici le programme et merci d'avance !
    Code:
    #include <Servo.h>
    Servo servomain; // Define our Servo
    #define pir1; // Define our pir 1
    #define pir2; // Define our pir 2
    #define pir3; // Define our pir 3
    
    
    void setup()
    {
        Serial.begin(9600);
        servomain.attach(9); // servo on digital pin 9
        int pir1Pin =1;   // servo on digital pin 1   
        int pir2Pin =2;   // servo on digital pin 2   
        int pir3Pin =3;   // servo on digital pin 3   
        pinMode(1,INPUT);
        pinMode(2, INPUT);  
        pinMode(3, INPUT); 
        pinMode(9, OUTPUT); 
        servomain.write(0);  // Turn Servo Left to 0 degrees
                 
    }
    
    void loop()
    { 
    int pir1Val = digitalRead(1);
    int pir2Val = digitalRead(2);
    int pir3Val = digitalRead(3);
    
       if (1Val == HIGHT)
             { if (pir2Val == hight)
                    {   While (pir2Va l== HIGHT)
                          { servoMain.write(90);  // Turn Servo Left to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(180);  // Turn Servo Left to 180° 
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(90);  // Turn Servo right to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(0);  // Turn Servo right to 0° 
                            }
                      }
                   
                 
                 Else
                    { if (pir3Va l == HIGHT)
                        {  While (pir3Val == HIGHT)
                              { servoMain.write(90);  // Turn Servo Left to 90°
                                delay(2000);  // Wait 2 seconds
                                 servoMain.write(180); // Turn Servo Left to 180° 
                                  delay(2000);          // Wait 2 seconds
                                   servoMain.write(90);  // Turn Servo right to 90°
                                  delay(2000);          // Wait 2 seconds
                                  servoMain.write(0);  // Turn Servo right to 0° 
                                 }
                              }
                         }
        
                    Else
                       {  servoMain.write(0); 
                       } 
         }
    
       If   (pir2Va l== HIGHT)
             { If (pir1Val == HIGHT)
                    {   While (pir1Va l== HIGHT)
                          { servoMain.write(90);  // Turn Servo Left to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(180);  // Turn Servo Left to 180° 
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(90);  // Turn Servo right to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(0);  // Turn Servo right to 0° 
                            }
                      }
                   
                 Else
                    { If (pir3Va l== HIGHT)
                        {  While (pir3Val == HIGHT)
                              { servoMain.write(90);  // Turn Servo Left to 90°
                                delay(2000);  // Wait 2 seconds
                                 servoMain.write(180); // Turn Servo Left to 180° 
                                  delay(2000);          // Wait 2 seconds
                                   servoMain.write(90);  // Turn Servo right to 90°
                                  delay(2000);          // Wait 2 seconds
                                  servoMain.write(90);  // Turn Servo right to 0° 
                                 }
                              }
                         }
        
                    Else
                       {  servoMain.write(0); 
                       } 
         }
    
    If   (pir3Va l== HIGHT)
             { If (pir1Val == HIGHT)
                    {   While (pir1Va l== HIGHT)
                          { servoMain.write(90);  // Turn Servo Left to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(180);  // Turn Servo Left to 180° 
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(90);  // Turn Servo right to 90°
                            delay(2000);          // Wait 2 seconds
                            servoMain.write(0);  // Turn Servo right to 0° 
                            }
                      }
                   
                 Else
                    { If (pir2Va l== HIGHT)
                        {  While (pir2Val == HIGHT)
                              { servoMain.write(90);  // Turn Servo Left to 90°
                                delay(2000);  // Wait 2 seconds
                                 servoMain.write(180); // Turn Servo Left to 180° 
                                  delay(2000);          // Wait 2 seconds
                                   servoMain.write(90);  // Turn Servo right to 90°
                                  delay(2000);          // Wait 2 seconds
                                  servoMain.write(0);  // Turn Servo right to 0° 
                                 }
                              }
                         }
        
                    Else
                       {  servoMain.write(180); 
                       } 
         }
    Merci !!!!
    Dernière modification par JPL ; 06/05/2013 à 14h48. Motif: Ajout de la balise Code (#) pour garder l'indentation, fusion avec la discussion antérieure.

Discussions similaires

  1. Detection de mouvement
    Par calculair dans le forum Physique
    Réponses: 10
    Dernier message: 29/05/2010, 09h19
  2. Détection du mouvement de la cage thoracique
    Par gcortex dans le forum Électronique
    Réponses: 4
    Dernier message: 21/09/2008, 11h23
  3. petit soucis de DM
    Par invite2584ca7c dans le forum Mathématiques du collège et du lycée
    Réponses: 9
    Dernier message: 10/09/2008, 21h11
  4. Réponses: 15
    Dernier message: 07/08/2008, 07h49
  5. projet detection de mouvement
    Par invitefde63a48 dans le forum Électronique
    Réponses: 16
    Dernier message: 23/04/2008, 13h51
Découvrez nos comparatifs produits sur l'informatique et les technologies.