Ligne 90 : |
Ligne 90 : |
| Dans le setup se trouvent différentes routines : | | Dans le setup se trouvent différentes routines : |
| | | |
− | * Ouverture du port série et définition du débit de données à 9600 bps pour permettre la communication de l'arduino à un ordinateur via usb.
| + | === Port série === |
| + | Ouverture du port série et définition du débit de données à 9600 bps pour permettre la communication de l'arduino à un ordinateur via usb. |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| Serial.begin( 9600 ); | | Serial.begin( 9600 ); |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | * Configuration des broches des boutons pour qu'elles se comportent comme des entrées.
| + | === Entrées === |
| + | Configuration des broches des boutons pour qu'elles se comportent comme des entrées. |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| // Initialisation des boutons | | // Initialisation des boutons |
Ligne 108 : |
Ligne 110 : |
| pinMode( BOUTON_ALARME[i], INPUT_PULLUP ); | | pinMode( BOUTON_ALARME[i], INPUT_PULLUP ); |
| </syntaxhighlight> | | </syntaxhighlight> |
− | {{ambox-stop | text = Il est important d'activer la résistance PULLUP sur le microcontrôlleur pour éviter de le sur alimenter}} | + | {{ambox-stop | text = Il est important d'activer la résistance PULLUP sur le microcontrôlleur pour éviter de le sur alimenter.}} |
| | | |
− | * Configuration des broches des leds des boutons et du piezo buzzer pour qu'elles se comportent comme des sorties.
| + | === Sorties === |
| + | Configuration des broches des leds des boutons et du piezo buzzer pour qu'elles se comportent comme des sorties. |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| // Initialisation des leds et du piezo | | // Initialisation des leds et du piezo |
Ligne 118 : |
Ligne 121 : |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | * Démarrer la connection I2C avec l'afficheur en lui insérant une adresse (0x70 par défaut).
| + | === Afficheur === |
| + | Démarrer la connection I2C avec l'afficheur en lui insérant une adresse (0x70 par défaut). |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| // Adresse I2C des afficheurs | | // Adresse I2C des afficheurs |
Ligne 124 : |
Ligne 128 : |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | * Démarrer la connection I2C avec l'RTC
| + | === RTC === |
| + | Démarrer la connection I2C avec l'RTC |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| // Démarrer le lien avec l'RTC en I2C | | // Démarrer le lien avec l'RTC en I2C |
Ligne 130 : |
Ligne 135 : |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | * Réglage de l'heure si elle n'a pas encore été initialisé dans l'RTC ou si elle n'est plus présente dans l'RTC.
| + | Réglage de l'heure si elle n'a pas encore été initialisé dans l'RTC ou si elle n'est plus présente dans l'RTC. |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| // Configuration de l'heure par l'utilisateur si ce n'a pas été encore fait | | // Configuration de l'heure par l'utilisateur si ce n'a pas été encore fait |
Ligne 141 : |
Ligne 146 : |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | * Formattage de l'EEPROM si rien dedans (vérification si fanion égale à 255) et si la version est égale à ce qu'il y a dans l'EEPROM.
| + | === EEPROM === |
| + | Formattage de l'EEPROM si rien dedans (vérification si fanion égale à 255) et si la version est égale à ce qu'il y a dans l'[[Mon-Reveil-Programmer#EEPROM|EEPROM]]. |
| <syntaxhighlight lang="c"> | | <syntaxhighlight lang="c"> |
| if( EEPROM.read(0) != 255 || EEPROM.read(1) != VERSION ) | | if( EEPROM.read(0) != 255 || EEPROM.read(1) != VERSION ) |