Frequence horloge arduino

Bonjour à tous.

J'ai une question bête mais j'ose quand même : est ce que la fréquence d’exécution du code de l'arduino est différente quand il est alimenté sur le port 5V et via le port USB?
Tout bêtement, j'ai une LED qui s'allume pendant 15 secondes quand alimentée par port USB et cette durée tombe aux alentours de 3 ou 4 secondes quand alimentés par port 5V sur batterie externe.
Une idée du pourquoi?

Merci par avance à tous.

En supposant que dans les 2 cas il reçoive bien 5V alors non le cristal est à 16Mhz (UNO, MEGA, ...)

postez votre code.

(si la tension chute pour une raison à définir, il se peut que votre Arduino reboot et donc que vous voyez la LED allumée moins longtemps)

Bonjour et merci pour la réponse, voici mon petit projet détaillé sur mon blog perso

Vous avez bien des résistances de limitation de courant sur les LEDs ?

allumez les 2 pendant 3 secondes dans le setup() juste pour marquer le boot, ça vous permettra de voir si le système reboot

oui, j'ai mis des 1kohm, cela ne suffirait il pas?

Oui, oui, 1k c'est bien.
J'ai peut-être regardé un peu vite mais lorsque la distance est inférieure à 1m je ne vois aucun délai donc je ne vois pas ce qui conditionne les fameuses 15s ou 4s.

non ça ira, c'est même élevé et va pas mal limiter le courant (ce serait bien de les vérifier)

changez le setup comme cela:

void setup()
{
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(ledv, OUTPUT);
  pinMode(ledr, OUTPUT);
  digitalWrite(ledv, HIGH);
  digitalWrite(ledr, HIGH);
  delay(2000);
  digitalWrite(ledv, LOW);
  digitalWrite(ledr, LOW);
}

si vous voyez les 2 LEDs qui s'allument pour 2 secondes en cours de route c'est que la carte a rebooté...

ou si vous alimentez par l'USB avec l'ordinateur, affichez un message (sinon le Serial.begin(9600); ne sert à rien quand il n'y a pas de console connecté)

Lecture de son blog :

Ce n'est pas étrange, chaque couleur a une tension différente et vous mettez les résistances de la même valeur, vous devez calculer les valeurs de résistance pour chaque led pour obtenir la même consommation.
Pour le reste, tout semble bien, même si un schéma de connexion complet serait bien utile.
En ce qui concerne ce comportement, je le vois étrange, s'il s'agissait d'un problème d'alimentation, le comportement serait l'inverse, un temps plus court lors de l'alimentation par USB.
Cependant, vérifiez que le HC-SR04 reçoit correctement 5V, Je ne sais pas si à des valeurs inférieures votre fréquence de travail change. Avec le nano vous n'avez aucun problème d'alimentation, sa fréquence de fonctionnement est stable même si vous l'alimentez à 3V via la broche 5V.
Quant au code, la seule chose qui peut provoquer un retard est la fonction pulseIn(), c'est-à-dire que le HC-SR04 ne fonctionne pas correctement et cette fonction attend trop longtemps le changement de niveau. Essayez de définir un temps d'attente maximum pour voir si le comportement change, par exemple :

pulseIn(echoPin, HIGH, 3000);

Salutations.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.