Ligne 83 : |
Ligne 83 : |
| {{ambox | text = Il est important d'activer la résistance PULLUP sur le microcontrôlleur pour éviter de le sur alimenter}} | | {{ambox | text = Il est important d'activer la résistance PULLUP sur le microcontrôlleur pour éviter de le sur alimenter}} |
| | | |
| + | == blah == |
| + | |
| + | <syntaxhighlight lang="c"> |
| + | /* |
| + | * Configuration avant lancement de la routine |
| + | */ |
| + | void setup() { |
| + | |
| + | // Communication RS232 |
| + | Serial.begin( 9600 ); |
| + | |
| + | // EXEMPLE SERVO |
| + | monServo.attach( SERVO_MOTEUR ); |
| + | |
| + | // Initialisation des boutons |
| + | pinMode( BOUTON_OK, INPUT_PULLUP ); |
| + | pinMode( BOUTON_MOINS, INPUT_PULLUP ); |
| + | pinMode( BOUTON_PLUS, INPUT_PULLUP ); |
| + | pinMode( BOUTON_LUMINOSITE, INPUT_PULLUP ); |
| + | pinMode( BOUTON_ALARME_CONTROLE, INPUT_PULLUP ); |
| + | pinMode( BOUTON_SNOOZE, INPUT_PULLUP ); |
| + | for( int i=0 ; i<NBRALARMES ; i++ ) |
| + | pinMode( BOUTON_ALARME[i], INPUT_PULLUP ); |
| + | |
| + | // Initialisation des leds et du piezo |
| + | pinMode( LED_BOUTON_OK, OUTPUT ); |
| + | pinMode( LED_BOUTON_SNOOZE, OUTPUT ); |
| + | pinMode( PIEZO_BUZZER, OUTPUT ); |
| + | |
| + | // Addresse I2C des afficheurs |
| + | afficheurs.begin( 0x70 ); |
| + | |
| + | // Démarrer le lien avec l'RTC en I2C |
| + | rtc.begin(); |
| + | |
| + | // Configuration de l'heure par l'utilisateur si ce n'a pas été encore fait |
| + | if ( !rtc.isrunning() ){ |
| + | int h = 0; |
| + | int m = 0; |
| + | changerHeureVisuel( &h, &m ); |
| + | rtc.adjust( DateTime(2018, 2, 20, h, m, 0) ); // Change l'heure de l'RTC |
| + | } |
| + | |
| + | // 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 |
| + | if( EEPROM.read(0) != 255 || EEPROM.read(1) != VERSION ) |
| + | eepromConfiguration(); |
| + | |
| + | // Définir la luminosité des afficheurs |
| + | afficheurs.setBrightness( EEPROM.read(2) ); |
| + | |
| + | |
| + | // Configuration des dates/heures sur les alarmes |
| + | DateTime maintenant = rtc.now(); |
| + | int j = 0; |
| + | for( int i=3 ; i< ( NBRALARMES*2 )+6 ; i+=3 ){ |
| + | alarme[j].heureSonne = DateTime( maintenant.year(), maintenant.month(), maintenant.day(), EEPROM.read(i), EEPROM.read(i+1), 0); |
| + | alarme[j].programme = EEPROM.read(i+2); |
| + | j++; |
| + | } |
| + | } |
| + | </syntaxhighlight> |
| | | |
| == Créer votre mélodie == | | == Créer votre mélodie == |