Problème de programme suivant alimentation USB / externe

Bonjour je ne comprends pas bien le problème que j'ai .

  • j'ai téléversé le programme dans la carte ( 2560)
  • dès que j'enlève l'usb et qu'il reste l'alimentation 9v jack , le programme se fait plus rapidement...???

Etant donné mon niveau , j'ai un peu de mal à solutionner le problème.

Merci

Bonjour,

Il fait quoi plus rapidement ton programme ?

Voici le code que j’ai copié :

#include <Servo.h>
Servo myservo;
int bp = 2;

unsigned long t1 = 0; // mémorisera le temps au départ
unsigned long t2 = 1000UL * 5; // donne la valeur de la tempo pour éviter les calculs pendent l’exécution du programme
// 15s pour les tests //4h=14400000

int pos = 0; // variable pour la position du servo

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object

t1 = millis() ; // la distribution se fera dans 4h apres la mise sous tension
myservo.write(pos); // positionne le servo à zéro
pinMode(bp, INPUT); // broche 2 en entrée pour le bouton poussoir
}
void loop()
{
//distribution manuelle
boolean b = digitalRead(bp); // lecture de l’état du bouton poussoir
if ( b ) //b=true implique que le BP apporte du 5V sur l’entrée
{ //si appui sur le bp on lance la distribution
delay(500); //il y a eu appui sur BP, on laisse les rebonds passer
distribution(); //on s’interdit de relire l’entrée BP 500ms
} //puis on va distribuer
//attention:rebonds en poussant et en relachant
//donc appui doit etre bref ( 400ms)
//distribution programmée
unsigned long time = millis(); // lecture du temps qui passe
if ((time - t1) >= t2)
{
distribution (); // on lance la distribution
t1 = time; // à la fin de la tempo
}
}

void distribution()
{
for (int i = 0; i <= 1; i++) // le chiffre 1 pour 2 cycles
{
myservo.write(60); // 60 dit au servo d aller en position en fonction de la variable ‘pos’
delay(500); // pause 500ms pour laisser le temps au servo de s’ouvrir
myservo.write(0);
delay(500); // pause 500ms pour laisser le temps au sevo de se fermer
}
}

Et voici le lien de mon problème en vidéo :

Mon but est d’actionner un servomoteur toutes les 4 heures plus ou moins.

bonsoir
ton servo est alimenté par reprise sur le 5V de l'arduino ? (je pense , mais ce n'est pas distinct sur la video)

si c'est le cas, la probabilité que l'intensité dispo derriere le regulateurs oit insuffisante , alors que celle fournie par l'USB est "OK"

lorsque le servo pompe de la puissance , la tension dispo s'ecroule et l'arduino "reset"

Merci , c'est bien ca , j'ai utilisé une alim de smartphone 5V 1A raccordée sur la connexion USB et c'est bon .