LiquidMenu library Problem "

Hello guys,
I’m trying to make an Automatic pet-feeder

(Pet Feeder with 3D Printed Parts - Arduino Project Hub)

and when i compile the code shown below, i get the error

"In file included from C:\Program Files (x86)\Arduino\PROGRAMMATA\Pet-feeder\PET-FEEDER\PET-FEEDER.ino:21:0:
F:\Users\user\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit ‘LiquidMenu_config.h’ file to change it.
#pragma message (“LiquidMenu: Configured for I2C. Edit ‘LiquidMenu_config.h’ file to change it.”)
^
Το σχέδιο χρησιμοποιεί 11710 bytes (38%) του χώρου αποθήκευσης του προγράμματος. Το μέγιστο είναι 30720 bytes.
Οι καθολικές μεταβλητές χρησιμοποιούν 967 bytes (47%) δυναμικής μνήμης, αφήνοντας 1081 bytes για τοπικές μεταβλητές. Το μέγιστο είναι 2048 bytes. "

The greek letters say that it compiles. And the fact that it compiled in the end confused me, so i gave it a chance in case the programm uploaded. When i tried to upload, after waiting quite a lot, the following error appears:

"avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x86
Πρόβλημα ανεβάσματος στην πλακέτα. Δείτε στο http://www.arduino.cc/en/Guide/Troubleshooting#upload για υποδείξεις.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x86
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x86
"
The only change i made in the code was to replace the LiquidMenu library with the latest version of LiquidMenu library .

Here’s the code:

// Final version for the pet feeder

/*  Features:
    - Easy to navigate menu
    - Overview of feed times, current time, feeding comletions,
      and feeding portion on the main screen
    - Controllable portions using a hall sensor for feedback
    - Accurate time keeping with DS1307 chip
    - Can manually change set time in DS1307 chip
    - Two feedings per day
    - Manual feeding option
    - Feeding restart in case of power outtage
    - LED indication of hall sensor and real time clock
    - Feeding times and completions safetly store in EEPROM
    - Servo "jiggle" in the event of food getting stuck
*/

#include <JC_Button.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <LiquidMenu.h>
#include <RTClib.h>
#include <Servo.h>
#include <EEPROM.h>

// Creates servo object to control your servo
Servo myservo;

// Assigning all my input and I/O pins
#define ENTER_BUTTON_PIN 11
#define UP_BUTTON_PIN 10
#define DOWN_BUTTON_PIN 9
#define BACK_BUTTON_PIN 8
#define POWER_LED_PIN 5
#define MANUAL_BUTTON_PIN A1
#define hallPin 2
#define HALL_LED_PIN 7
#define SERVO_PIN 6

// Defining all the Buttons, works with the JC_Button library
Button enterBtn (ENTER_BUTTON_PIN);
Button upBtn (UP_BUTTON_PIN);
Button downBtn (DOWN_BUTTON_PIN);
Button backBtn (BACK_BUTTON_PIN);
Button manualFeedBtn (MANUAL_BUTTON_PIN);

// Defining LCD I2C and RTC
LiquidCrystal_I2C lcd(0x3F, 16, 2);
RTC_DS1307 rtc;

//Variables used throughout the code

unsigned long hallSensorTime;
unsigned long rotationTime = 400;
unsigned long led_previousMillis = 0;
const long interval_delay = 1000;
unsigned long delay_interval = 2000;
int ledState = LOW;

boolean manualFeed = false;
boolean hall_sensor_fail = false;

unsigned long blink_previousMillis = 0;
unsigned long blink_currentMillis = 0;
unsigned long blink_interval = 500;

unsigned long delay_currentMillis = 0;
unsigned long delay_previousMillis = 0;

boolean blink_state = false;
int count;
boolean feeding1_complete = false;
boolean feeding2_complete = false;
boolean feeding1_trigger = false;
boolean feeding2_trigger = false;
boolean servoOn = true;

//Hall sensor interrupt

volatile boolean hallSensorActivated = false;
volatile int isr_count = 1;
void hallActiveISR()
{
  hallSensorActivated = true;
  digitalWrite(HALL_LED_PIN, HIGH);
  isr_count = isr_count + 1;
}

/* I use enums here to keep better track of what button is
    being pushed as opposed to just having each button set to
    an interger value.
*/
enum {
  btnENTER,
  btnUP,
  btnDOWN,
  btnBACK,
};

/* States of the State Machine. Same thing here with the enum
   type. It makes it easier to keep track of what menu you are
   in or want to go to instead of giving each menu an intreger value
*/
enum STATES {
  MAIN,
  MENU_EDIT_FEED1,
  MENU_EDIT_FEED2,
  MENU_EDIT_TIME,
  MENU_EDIT_PORTION,

  EDIT_FEED1_HOUR,
  EDIT_FEED1_MIN,

  EDIT_FEED2_HOUR,
  EDIT_FEED2_MIN,

  EDIT_HOUR,
  EDIT_MIN,

  EDIT_PORTION

And it goes on but i cannot exceed 9000 characters.

#pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

"pragma message" is a compiler directive that tells the compiler to print out the text that follows. It is for information purposes only, and is not an indication of anything wrong with the code. This is not what is responsible for the problem you are having with uploading the code.

Alright, that's good to know and also a relief...but what about the error that comes after that ?

avrdude: stk500_recv(): programmer is not responding[color=#222222][/color]
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x86[color=#222222][/color]
avrdude: stk500_recv(): programmer is not responding[color=#222222][/color]
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x86

Please do this:

  • (In the Arduino IDE) File > Preferences
  • Uncheck the checkbox next to “Show verbose output during: compilation”
  • Check the checkbox next to "Show verbose output during: upload
  • Click “OK”
  • Sketch > Upload
  • After the upload fails, you’ll see a button on the right side of the orange bar “Copy error messages” (or the icon that looks like two pieces of paper at the top right corner of the black console window in the Arduino Web Editor). Click that button.
  • In a forum reply here, click on the reply field.
  • Click the </> button on the forum toolbar. This will add the forum’s code tags markup to your reply.
  • Press “Ctrl + V”. This will paste the upload output between the code tags.
  • Move the cursor outside of the code tags before you add any additional text to your reply.
Arduino: 1.8.13 (Windows 10), Πλακέτα:"Arduino Nano, ATmega328P"

In file included from F:\Users\user\Documents\Arduino\PROGRAMMATA\Pet-feeder\PET-FEEDER\PET-FEEDER.ino:21:0:

F:\Users\user\Documents\Arduino\libraries\LiquidMenu-1.4.1\src/LiquidMenu.h:55:97: note: #pragma message: LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.

 #pragma message ("LiquidMenu: Configured for I2C. Edit 'LiquidMenu_config.h' file to change it.")

                                                                                                 ^

Το σχέδιο χρησιμοποιεί 11710 bytes (38%) του χώρου αποθήκευσης του προγράμματος. Το μέγιστο είναι 30720 bytes. 

Οι καθολικές μεταβλητές χρησιμοποιούν 967 bytes (47%) δυναμικής μνήμης, αφήνοντας 1081 bytes για τοπικές μεταβλητές. Το μέγιστο είναι 2048 bytes. 

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\user\AppData\Local\Temp\arduino_build_339944/PET-FEEDER.ino.hex:i 

Προέκυψε ένα σφάλμα κατά το ανέβασμα του σχεδίου



avrdude: Version 6.3-20190619

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch



         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"



         Using Port                    : COM3

         Using Programmer              : arduino

         Overriding Baud Rate          : 115200

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00



Αυτή η αναφορά θα παρείχε περισσότερες πληροφορίες με 
"Εμφάνιση πλεονάζουσα έξοδος κατά τη σύνταξη"
Επιλογή από το Αρχείο -> Προτιμήσεις.

Select Tools > Processor > ATmega328P (Old Bootloader) and then try uploading again.

I did that, and it uploaded succesfully. But the lcd screen is showing gibberish...do you think it is a good idea to conect everything to my UNO board and try again ?

It can't hurt. It's always nice to be able to have another data point when troubleshooting.

I would also recommend you to edit your first post and remove the ridiculous number of blank lines. There's a very good change the cause of the gibberish is in your code, but the way you posted your code makes it very annoying for anyone to try to look at it. One or two blank lines in strategic locations to break the code up into logical sections is fine, but this thing where you have

four

blank

lines

between

every

line

of

code

plus

line
breaks

in
side

li
nes

is pointless.