bonjours à tous, j'ai récemment acheter un Arduino nano pour faire une montre, quand je l'ai reçu j'ai réussi a téléverser mon code et a le tester j'ai régler tous les problème du code et je me suis retrouver avec la version final du code. je les téléverser et tout fonctionnait parfaitement. Au moment de poursuivre le projet j'ai du enlever les broche GPIO pour avoir une carte plate. sauf que j'ai appuyer sans faire exprès sur le bouton "RESET" ce qui a réinitialiser le code et au moment de le retéléverser il ne veut plus, il a bien réussi la compilation mais au moment d'upload le le code il me met ça :
Le croquis utilise 16606 octets (54%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 584 octets (28%) de mémoire dynamique, ce qui laisse 1464 octets pour les variables locales. Le maximum est de 2048 octets.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x2b
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x2b
Failed uploading: uploading error: exit status 1
si quelqu'un serait m'aider je suis partant !
pour ce que cela intéresse voici mon code :
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <RTClib.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
RTC_DS3231 rtc;
const int batteryPin = A1;
const int buttonPin = 2; // Broche du bouton
const float TensionMin = 3.2; // Tension min
const float TensionMax = 4.2; // Tension max
bool buttonPressed = false; // Variable pour suivre l'état du bouton
unsigned long buttonPressedTime = 0; // Variable pour enregistrer le moment où le bouton a été pressé
void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP); // Configuration de la broche du bouton comme entrée avec résistance de pull-up interne
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1)
;
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;)
;
}
display.display();
delay(2000);
display.clearDisplay();
// Set text size for time
display.setTextSize(2);
// Set text size for date
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
}
void loop() {
// Vérifier si le bouton est pressé
if (digitalRead(buttonPin) == LOW && !buttonPressed) {
buttonPressed = true; // Enregistrer que le bouton a été pressé
buttonPressedTime = millis(); // Enregistrer le moment où le bouton a été pressé
}
// Vérifier si le bouton a été pressé il y a moins de 5 secondes
if (buttonPressed && millis() - buttonPressedTime < 5000) {
displayDateTime(); // Afficher l'heure et la date
} else {
buttonPressed = false; // Réinitialiser l'état du bouton
display.clearDisplay(); // Effacer l'écran
}
display.display();
}
void displayDateTime() {
// Afficher l'heure, la date et la charge de la batterie
DateTime now = rtc.now();
display.clearDisplay();
// Set text size for time
display.setTextSize(2);
display.setCursor(15, 20); // Décalage vers la gauche et légère descente de l'heure
display.print(now.hour(), DEC);
display.print(':');
if (now.minute() < 10) {
display.print('0');
}
display.print(now.minute(), DEC);
display.print(':');
if (now.second() < 10) {
display.print('0');
}
display.println(now.second(), DEC);
// Set text size for date
display.setTextSize(1);
display.setCursor((SCREEN_WIDTH - 10 * 5.3) / 2, (SCREEN_HEIGHT - 8) / 2 + 25); // Affichage de la date sous l'heure
display.print(now.day(), DEC);
display.print('/');
display.print(now.month(), DEC);
display.print('/');
display.println(now.year(), DEC);
}