Bonjour j'essaye de faire tourner le code suivant :
#include <Servo.h> //On fait appelle à la bibliothéque Servo qui va contrôler le servomoteur
int analogPin = 3; // Pin dans laquelle j'envoi du courant
int ledverte=10;
int val = 0; // variable to store the value read
int ibase = 9;
int pinServoclapet = 8; //pin qui va contrôler le sevomoteur
Servo moteurclapet; // On créer l'objet Servomoteurclapet
void setup()
{
moteurclapet.attach(pinServoclapet); // On lie l'objet le premier moteur au pin
Serial.begin(9600);
pinMode(ledverte,OUTPUT); // setup serial
pinMode(ibase,OUTPUT);
pinMode(pinServoclapet,OUTPUT);
}
void loop()
{
pinMode(pinServoclapet,OUTPUT);
delay(500);
digitalWrite(ledverte,HIGH); //Signal que la poubelle est disponible
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
if(val >= 1000) // ça veut dire que le pin analogique reçoit bien du courant
{
Serial.println("Porte ouverte");
while(val >= 1000){ // Tant que le pin analogique reçoit du courant
val = analogRead(analogPin);
Serial.println(val);
Serial.println("Porte tjrs ouverte");
}
digitalWrite(ibase,HIGH); // La condition que la pin reçoit du courant est fausse
}
}
Tout fonctionne parfaitement sauf que la valeur que lit analogRead passe en dessous de 1000 alors que j'ai pas débranché la connexion ce que je voudrais faire c'est tant que le pin analog reçoit du courant (val>1000) fait ceci...
utilisation du forum : mettre le code entre balises code ( icône </>) comme indiqué dans les messages épinglés en tête de forum , messages destinés en particulier aux nouveaux venus.
Le code apparaitra alors dans une zone comme celle-ci: (avec un lien permettant de copier coller ce code dans l'IDE Arduino pour faciliter son examen)
mon code sur le forum......
On n'envoie pas de courant dans cette entrée.
Cette entrée reçoit une tension , même quand rien n'est connecté (effet d'antenne)
Il suffit d'approcher le doigt et de voir le résultat d'un analogRead()
Il faut donc maîtriser la tension dans tous les cas , la maintenir faible ou élevée s'il s'agit de détecter le branchement de quelque chose
al1fch:
très probablement rien.... mais rien c'est déjà beaucoup (Gainsbourg)..... et "inconstant" (pour analogRead)
Paroles de la chanson "Ces petits riens" par Serge Gainsbourg 8)
Mieux vaut n'penser à rien
Que n'pas penser du tout
Rien c'est déjà
Rien c'est déjà beaucoup
On se souvient de rien
Et puisqu'on oublie tout
Rien c'est bien mieux
Rien c'est bien mieux que tout
...
Woshu:
Bonjour j'essaye de faire tourner le code suivant :
[...]
int analogPin = 3; // Pin dans laquelle j'envoi du courant
[...]
Tout fonctionne parfaitement sauf que la valeur que lit analogRead passe en dessous de 1000 alors que j'ai pas débranché la connexion ce que je voudrais faire c'est tant que le pin analog reçoit du courant (val>1000) fait ceci...
Si vous pouviez m'aider merci bien
Salut,
La broche 3 n'est pas analogique, utilise digitalRead() et ajoute une résistance de pull down.
Oui mais c'est le meilleur moyen de rendre un code incompréhensible au bout de quelques semaines.
Un peu de discipline et de rigueur ne peut qu'aller dans le bon sens.
68tjs:
Oui mais c'est le meilleur moyen de rendre un code incompréhensible au bout de quelques semaines.
C'est , malheureusement ou pas , la programmation utilisée dans l'exemple de la référence pour analogRead et de très nombreux tutoriaux d'auteurs très connus.
Un peu de discipline et de rigueur ne peut qu'aller dans le bon sens.