ou {{ :materiels:capteurs:htr:github.png?nolink&40|}} * //Télécharger le fichier **DFRobot_DS1307-master.zip** sur Github, le dézipper et le placer dans le dossier : //...\Documents\Arduino\Libraries.
// Code testé sur Arduino Uno et Arduino MKR Zéro
// Interruption générée toutes le 1s par une HTR à DS3231M
#include "DFRobot_DS3231M.h"
// Broche utilisée pour l'interruption
// Arduino UNO : 2 (D2)
// Arduino MKR0 ou MKR Wifi1010 : 0 (D0)
const byte interruptPin = 0;
int i=0;
DFRobot_DS3231M rtc;
void setup() {
pinMode(interruptPin, INPUT_PULLUP); // INT du circuit DS3231M sur drain ouvert
Serial.begin(115200); // Sortie dans la console
/* On attend que l'initialisation du DS3231M soit complète */
while (rtc.begin() != true) {
Serial.println("Circuit non initialisé, vérifier les connexions. ");
delay(1000);
}
/*!
*@brief Broche INT
*@param mode eDS3231M_OFF = 0x01 // Désactivation du signal en sortie, DS3231M en mode interruption
*@n eDS3231M_SquareWave_1Hz = 0x00 // signal carré 1Hz
*@n eDS3231M_SquareWave_1kHz = 0x08 // signal carré 1kHz
*@n eDS3231M_SquareWave_4kHz = 0x10 // signal carré 4kHz
*@n eDS3231M_SquareWave_8kHz = 0x18 // signal carré 8kHz
*/
rtc.writeSqwPinMode(eDS3231M_SquareWave_1Hz);
// digitalPinToInterrupt convertit le n° de broche en n° d'interruption
attachInterrupt(digitalPinToInterrupt(interruptPin), interrupt_handler, RISING);
}
void loop() {
// Mettre le code répétitif ici
}
void interrupt_handler() {
Serial.println("Hello " + (String)i++);
}