...
Ne pas utiliser la méthode native à Arduino delay().
Ne pas utiliser de capteurs qui émettent seulement une variable-width pulse, qui s’appelle aussi TTL pulse, comme le Parallax PING et ses semblables, comme le HC-SR04.
Utiliser les méthodes while(), do…while() et for() avec prudence. Si l’exécution du programme est gardée intentionnellement dans une boucle pour une longue durée de temps, assurez vous d’inclure un appel à la méthode
CrcLib::Update()
à l’intérieur pour que les données utilisées par la CrcLib sont soient rafraîchies assez souvent.
...
Une des manières les plus faciles de lancer la partie “roulante” d’un code un certain moment après que le CrcDuino ait été démarré est d’utiliser un bouton qui fait tomber le code dans une boucle infinie.
Ici, le contact Normalement Ouvert d’un bouton, que nous avons appelé BUTTON_LAUNCH_PROGRAM
, a été câblé physiquement pour faire une continuité électrique entre la pin broche SIG
du port CRC_PWM_1
et une pin broche GND
. Une mise à terre de la pin broche fera tomber l’entrée digitale numérique à LOW
comme elle lira 0 Volts. Dès que l’entrée tombe à low LOW
, le code entrera dans le condition if(CrcLib::GetDigitalInput(BUTTON_LAUNCH_PROGRAM)==LOW)
, et tombera immédiatement par la suite dans la boucle while(1==1)
. Vu que 1 égalera toujours 1, l’exécution du code ne quittera jamais la boucle while(1==1)
.
...
Code Block | ||
---|---|---|
| ||
#include <CrcLib.h> #define BUTTON_LAUNCH_PROGRAM CRC_DIG_1 //Ceci renomme CRC_DIG_1 à BUTTON_LAUNCH_PROGRAM void setup() { CrcLib::Initialize(); CrcLib::SetDigitalPinMode(CRC_DIG_1,INPUT); Serial.begin(2000000); } void loop() { CrcLib::Update(); //Appel hors de la boucle Serial.println("Out of the loop"); Serial.println(CrcLib::GetDigitalInput(BUTTON_LAUNCH_PROGRAM)); if (CrcLib::GetDigitalInput(BUTTON_LAUNCH_PROGRAM)==LOW) //Le bouton est appuyéenfoncé { while(1==1) { Serial.println("Program executes this loop until board reset or power loss"); CrcLib::Update(); //Appel dans la boucle //Insérer le code du robot ici. } } } |
...