Bonjour,
Je souhaite utiliser mon arduino Nano pour faire tourner un servo et une led mais cela ne fonctionne pas.
Le code pour allumer juste la led fonctionne et celui uniquement pour faire tourner le servo également.
code led :
const int led1 = 9; // Connectée à la broche 9 (PWM)
void setup() {
pinMode(led1, OUTPUT);
}
void loop() {
analogWrite(led1, 128);
delay(10000);
analogWrite(led1, 0); // 0 sur 255 pour éteindre
delay(5000);
}
code servo :
#include <Servo.h>
const int servoPin = 7; // Broche du servo
const int servoAngle = 0; // Angle du servo
Servo myServo;
void setup() {
myServo.attach(servoPin);
}
void loop() {
myServo.write(servoAngle); // Tourner le servo à 90 degrés
delay(1000); // Délai pour observer l'effet
}
Les deux réunis dans un seul et même code ne fonctionnent pas. Le servo tourne mais la led ne s'allume plus.
code avec les deux :
#include <Servo.h>
const int ledPin = 9; // Broche PWM pour la LED
const int servoPin = 7; // Broche du servo
const int ledPower = 30; // Puissance de la LED (0-255)
const int servoAngle = 90; // Angle du servo
Servo myServo;
void setup() {
pinMode(ledPin, OUTPUT);
myServo.attach(servoPin);
}
void loop() {
analogWrite(ledPin, ledPower); // Allumer la LED avec la puissance définie
myServo.write(servoAngle); // Tourner le servo à 90 degrés
delay(1000); // Délai pour observer l'effet
}
Le même code sur mon arduino mega fonctionne.
Je suis novice sur les cartes Arduino, je ne comprends pas trop.
Merci pour votre aide.
Si tu regardes la doc de la librairie Servo tu verras que sur une Nano l'utilisation de Servo interdit le PWM sur les broches 9 et 10.
Si tu connectes ta LED sur une autre broche qui fait du PWM cela fonctionnera.
Bonjour,
Ou sinon les sorties dites "analogiques" (voir message de @68tjs)
Je cite...
Ce que l'équipe arduino appelle complètement à tord sortie analogique est en fait une sortie numérique qui délivre un signal de fréquence fixe et dont la largeur du "1" est modulable (PWM).
Qui, quand à elles, ne sont pas utilisées par les bibliothèques (j'allais dire les timers) me semble-il (je dis peut-être une grosse bêtise... dites moi si je me trompe!).