Bonjour,
Je m’appelle Jules j’ai 18 ans et suis nouveau dans le monde de l’arduino, j’ai commencé à bidouiller un peu et j’ai écrit un programme pour faire varier la position d’un servo en fonction de la luminosité:
#include <Servo.h>
Servo monservo;
int positionservo = 0;
long va;
const int capt=A0;
void setup() {
monservo.attach(9);
monservo.write(positionservo);
Serial.begin(9600);
// put your setup code here, to run once:
}
void loop() {
va =analogRead(capt);
Serial.println(va);
delay(400);
positionservo = analogRead(capt);
positionservo = map(positionservo,150,300,0,180);
monservo.write(positionservo);
delay(25);
// put your main code here, to run repeatedly:
}
Ca c’est la théorie dans la pratique ça marche mais avec très peu de précision, car oui j’utilise une led en tant que capteur.
Et on en vient a mon problème: j’ai écrit un autre programme de façon à ce que en dessous d’un certain seuil de luminosité le servo est une position bien précise et qu’en dessous il en ait une autre, mais ça ne marche pas, soit le servo me fait des choses “bizarre” soit il ne fait rien, donc la faute à mon programme ou à la led? (cette dernière possibilité est peu probable vu que ça marche sur le premier programme et que les valeur qui sont retourné sur mon pc sont cohérentes)
Merci d’avance!
Le deuxième programme qui pose problème:
#include <Servo.h>
Servo monservo;
long va;
const int capt=A0;
void setup() {
monservo.attach(9);
Serial.begin(9600);
// put your setup code here, to run once:
}
void loop() {
va =analogRead(capt);
Serial.println(va);
delay(400);
va = analogRead(capt);
if(va>220)
{
monservo.write(180);
}
else
{
monservo.write(0);
}
delay(25);// put your main code here, to run repeatedly:
}