Étape 7: Un autre rapproche de reconstituer les
http://www.Arduino.cc/en/Reference/AttachInterrupt
Avant d’entrer dans le CCF de la lecture et l’analyse des données, nous allons juste faire la tique de calibre encore une fois comme dans l’étape 4, mais cette fois en utilisant les ondes carrées de la RTC et une interruption. Vous remarquerez dans le schéma que je montre une traction vers le haut de résistance sur la broche 2. Cela est exigé par le CCF à la sortie de l’onde carrée de 1 Hz (vous lisez le droit de la feuille de données?:^), mais dans le circuit dans la photo il est absent. C’est parce que les broches d’entrée sur l’arduino ont construit en pull-ups, mais vous devez les activer. En écrivant une valeur élevée de la broche 2, l’interne tirer vers le haut est activée pour que NIP et vous n’avez à utiliser un externe. Lire les commentaires dans le code pour voir la commande qui fait ça.
Tique de routine à l’aide d’une interruption déclenchée par l’onde carrée du CCF de DS3231
#define pwmpin 5
pwmval octet ;
void setup()
{
pwmval = 0 ; initialiser
Serial.Begin(9600) ; activez la sortie série
digitalWrite(2,HIGH) ; activez arrachage vers le haut sur la broche 2. Ceci élimine la nécessité pour l’externe tirer vers le haut de résistance montré le schéma
attachInterrupt (0, interrompu, RISING) ; Fixez l’interruption 0 à la fonction « interrompue » quand broche deux voit une tension croissante
}
void loop() {}
; Ajouter des trucs ici si vous voulez
}
void interrupted() {//this est la fonction appelée lorsque la broche 2 voit une tension croissante
Serial.println ("interruption détectée") ; imprimer sur terminal série
pwmval += 4 ; Incrémentez la valeur pwm 4 chefs
Si (pwmval > 240) {//set le pwmvalue à zéro lorsqu’elle est supérieure à 240
pwmval = 0 ;
}
updateGauge() ; appelez la fonction indicateur de mise à jour
}
void updateGauge() {}
analogWrite (pwmpin, pwmval) ; sortie la pwmvalue à la broche 5
}