Bonjour à tous !
Voici le contexte du projet : je suis en train de faire un appareil pour mesurer l'angle pris par une moto ou un vélo.
Les composants sont : une arduino UNO, un gyro MPU6050, un shield LCD, un vu-mètre à leds, un module SD et un module RTC.
Le souci sur mon projet est que le gyro et le module RTC communiquent via les pins A4 et A5.
Evidemment, le code pour le gyro est plus contraignant que celui du RTC et je me demandais s'il était possible de faire fonctionner le RTC sur les pins A1 et A2.
Si oui, pourriez-vous m'indiquer, svp, dans quelle librairie je dois changer les adresses ?
Je suppose que c'est dans une librairie car aucune adresse n'est "apparente" dans le code.
Voici un code exemple pour module RTC seulement et écran LCD. Je me dis que si j'arrive sur ce programme à décaler les branchements, ce sera reportable sur le programme du projet.
/************************************************************
Horloge Arduino
Horloge simple avec un Arduino Duo, un module RTC DS1307
et un afficheur LCD 20x4.
Branchements du RTC DS1307:
Gnd --> GND
Vcc --> 5 V
Sda --> analog pin A4
Scl --> analog pin A5
Branchements de l'afficheur LCD:
rs (LCD pin 4) --> Arduino pin 12
enable (LCD pin 6) --> Arduino pin 10
LCD D4 --> Arduino pin 5
LCD D5 --> Arduino pin 4
LCD D6 --> Arduino pin 3
LCD D7 --> Arduino pin 2
***************************************************************/
#include <LiquidCrystal.h>
#include <Wire.h>
#include "RTClib.h"
#include <I2Cdev.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
RTC_DS1307 RTC;
void setup() {
lcd.begin(16,2);
lcd.clear();
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
//Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
//RTC.adjust(DateTime("Apr 5 2012","12:00:00"));
}
}
void loop(){
DateTime now = RTC.now();
lcd.setCursor(0,0);
if (now.day()<10) lcd.print("0");
lcd.print(now.day());
lcd.print("/");
if (now.month()<10) lcd.print("0");
lcd.print(now.month());
lcd.print("/");
lcd.print(now.year());
//lcd.print(" ");
lcd.setCursor(0,1);
if (now.hour()<10) lcd.print("0");
lcd.print(now.hour());
lcd.print(":");
if (now.minute()<10) lcd.print("0");
lcd.print(now.minute());
lcd.print(":");
if (now.second()<10){
lcd.print("0");lcd.print(now.second());
} else {
lcd.print(now.second());
}
delay(900);
}
Merci beaucoup d'avance pour votre aide.