Détecteur de présence Arduino

Demande d'aide

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous, je suis un lycéen en classe de 1ère SSI et je débute en programmation Arduino. Cependant, dans le cadre des TPE, je travail sur un petit système qui permettrai de produire une vibration si elle détecte une présence. Pour ce faire j'ai à ma disposition une Carte Arduino Uno et j'ai essayé de faire un programme qui pour l'instant serai basique mais j'aimerai que l'on m'aide à développer le programme afin d'atteindre mes attentes ^^ .

 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
 #include "Ultrasonic.h" // On introduit notre librairie Ultrasons

 #include "TinkerKit.h" // On place la librairie Tinkerkit car la diode que l'on utilise est une tinkerkit

 const int Trig = 2; // le trig est sur le port 2
 const int Echo = 3; // Echo sur le port 3
 const int green = O0;  /* Je pense que c'est pour les variables des ports tinkerkit */
 const int red = O1;
 long cm;      // Variable de ma Distance
 Ultrasonic HCSR04(Trig,Echo); // Aucune idée ? Signaler que les Trig et Echi sont sur le Capteur US ?
 void setup() {
   pinMode(green, OUTPUT); /* je sais pas ce que c'est */
   pinMode(red, OUTPUT); // non plus 
 }

 void loop()
 {
     cm = HCSR04.convert(HCSR04.timing(), 1); // Aucune idée non plus
   if(cm >0 && cm < 75)          // objet très proche
   {
     digitalWrite(red, HIGH); // Donne l'information à la diode rouge de s'allumer
     digitalWrite(green, LOW); // Donne l'info à la verte de pas s'allumer
   }
   else
   {
     digitalWrite(green, HIGH);  // Inverse
     digitalWrite(red, LOW);
   }

 }

Ce que je voudrait faire est donc d'arriver à comprendre ce programme et le modifier afin de pouvoir remplacer une diode par un vibreur qui ne s'allumerai si et seulement si un objet est détecté à la longueur donnée. De plus j'aimerai rendre la Arduino indépendante de l'USB ( je m'y mets bientôt) grâce au tuto de Eskimon. Enfin j'aimerai aussi varier la fréquence de rotation ( un peu l'"Intensité" ) du vibreur selon la distance de détection. J'ai essayé en m'aidant du tuto sur le télémètre mais je suis trop novice pour bien comprendre.

Édité par SKaiDo

+0 -0

Salut !

(pour ton code, tu devrais préciser c++ ca ferait un meilleur affichage.

J'ai quelques questions/remarques :

  • La librairie tinkerkit ne sers a rien, tu utilises tes leds comme des leds "normal"
  • Ligne 7 et 8 c'est quoi ce O ? (lettre O et non pas 0 si je lis bien)
  • Ligne 10 ton commentaire est bon, on crée bien un objet "Ultrasonic"
  • Ligne 18 ton commentaire indique "Je n'ai pas lu la doc." ;)
  • As tu un lien vers cette bibliothèque ? (Ultrasonic)

Sinon je te conseille la lecture de ce tuto : Télémètre Ultrason avec Arduino qui devrait te permettre de comprendre l'utilisation du module et pouvoir faire tout ce que tu veux dans ta consigne :)

Bon courage :)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0
Auteur du sujet

Pour le C++ , c'est fait ^^ J'utilise ,la librairie tinketkit pour utiliser le sensor shield avec lequel je branche mes dipoles ( je sais pas brancher mes dipôles directement sur l'Arduino :/ )

Les O sont là pour le SensorSheild Tinkerkit car il possède des sorties "Output" allants de O0 à O5.

Bon Ok j'ai mal lu la doc je m'y mets tout de suite. j'utilise la bibliothèque Ultrasonic.h pour y implémenter mon capteur ultrason, je sais pas si c'est possible sans >o<

J'ai lu ton tuto mais pour un novice, c'est dur de comprendre et aussi je capte pas trop comment je peux arriver à ma production final :/ , à coté de sa mon prof de SI m'a parlé de pwm pour les variations de fréquence.

+0 -0
Auteur du sujet

Oui j'ai essayé et c'est concluant les mesures sont plutôt satisfaisantes, c'est du bon travail. mais je n'arrive quand même pas à bien comprendre ce qui me permettrai d'arriver à mon objectif final.

+0 -0
Auteur du sujet

Ouep je comprend bien, donc pour l'instant sans essayer de changer la fréquence de variation du moteur soit l'intensité de la vibration

on pourrait rajouter un

1
2
3
4
5
6
7
8
9
if(distance*10 >= 20)
{
      //  Je suis à 20 centimètre d'un objet je mets en route le vibreur

   }
   else
   {
      // je ne suis pas très proche d'un objet, je ne vibre pas 
   }
+0 -0
Auteur du sujet

le multiplier par 10 sert à convertir en cm non car avec ton programme, la distance n'est pas affichée en centimètres?

et donc maintenant j'aimerai bien que tu m'aide s'il te plait car j'aimerai savoir comment : brancher mon moteur vibrant sur la carte Arduino ? comment déclarer via le programme que je souhaite délivrer une tension à ce dipôle ? Comment varier la tension délivré au dipôle ?

Et je souhaite aussi te remercier pour ton aide Eskimon

+0 -0
Auteur du sujet

Pour le vibreur/moteur, mon groupe souhaite que l'on prenne des petits vibreurs de téléphones portable comme ceux là image . Donc pour pouvoir varier les intensités, il faudrait un transistor branché sur un port de la carte arduino ?

+0 -0
Auteur du sujet

Juste une dernière chose, tu aurais pas un tuto qui montre comment brancher un moteur à l'arduino ? et aussi comment définir si l'on envoi ou non le courant à un de nos dipoles (moteur, diode, ampoule) . Je te montrerai dès que possible mon avancement et Merci encore une fois

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte