LIQUID_CRYSTAL_I2C_H

best I have a problem downloading LIQUID CRYSTAL I2C H I get this error message can you help me

Arduino: 1.8.5 (Windows 10), Board:“Arduino/Genuino Uno”

C:\Users\df030725\AppData\Local\Temp\cc9a54Zm.ltrans0.ltrans.o: In function `main’:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `setup’

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop’

collect2.exe: error: ld returned 1 exit status

exit status 1
Fout bij het compileren voor board Arduino/Genuino Uno

Dit rapport zou meer informatie bevatten met
“Uitgebreide uitvoer weergeven tijden compilatie”
optie aan in Bestand → Voorkeuren.

en dit is mijn programma

#ifndef FDB_LIQUID_CRYSTAL_I2C_H
#define FDB_LIQUID_CRYSTAL_I2C_H

#include <inttypes.h>
#include <Print.h>

// commands
#define LCD_CLEARDISPLAY 0x01
#define LCD_RETURNHOME 0x02
#define LCD_ENTRYMODESET 0x04
#define LCD_DISPLAYCONTROL 0x08
#define LCD_CURSORSHIFT 0x10
#define LCD_FUNCTIONSET 0x20
#define LCD_SETCGRAMADDR 0x40
#define LCD_SETDDRAMADDR 0x80

// flags for display entry mode
#define LCD_ENTRYRIGHT 0x00
#define LCD_ENTRYLEFT 0x02
#define LCD_ENTRYSHIFTINCREMENT 0x01
#define LCD_ENTRYSHIFTDECREMENT 0x00

// flags for display on/off control
#define LCD_DISPLAYON 0x04
#define LCD_DISPLAYOFF 0x00
#define LCD_CURSORON 0x02
#define LCD_CURSOROFF 0x00
#define LCD_BLINKON 0x01
#define LCD_BLINKOFF 0x00

// flags for display/cursor shift
#define LCD_DISPLAYMOVE 0x08
#define LCD_CURSORMOVE 0x00
#define LCD_MOVERIGHT 0x04
#define LCD_MOVELEFT 0x00

// flags for function set
#define LCD_8BITMODE 0x10
#define LCD_4BITMODE 0x00
#define LCD_2LINE 0x08
#define LCD_1LINE 0x00
#define LCD_5x10DOTS 0x04
#define LCD_5x8DOTS 0x00

// flags for backlight control
#define LCD_BACKLIGHT 0x08
#define LCD_NOBACKLIGHT 0x00

#define En B00000100 // Enable bit
#define Rw B00000010 // Read/Write bit
#define Rs B00000001 // Register select bit

/**

  • This is the driver for the Liquid Crystal LCD displays that use the I2C bus.
  • After creating an instance of this class, first call begin() before anything else.
  • The backlight is on by default, since that is the most likely operating mode in
  • most cases.
    /
    class LiquidCrystal_I2C : public Print {
    public:
    /
    *
  • Constructor
  • @param lcd_addr I2C slave address of the LCD display. Most likely printed on the
  • LCD circuit board, or look in the supplied LCD documentation.
  • @param lcd_cols Number of columns your LCD display has.
  • @param lcd_rows Number of rows your LCD display has.
  • @param charsize The size in dots that the display has, use LCD_5x10DOTS or LCD_5x8DOTS.
    */
    LiquidCrystal_I2C(uint8_t lcd_addr, uint8_t lcd_cols, uint8_t lcd_rows, uint8_t charsize = LCD_5x8DOTS);

/**

  • Set the LCD display in the correct begin state, must be called before anything else is done.
    */
    void begin();

/**

  • Remove all the characters currently shown. Next print/write operation will start
  • from the first position on LCD display.
    */
    void clear();

/**

  • Next print/write operation will will start from the first position on the LCD display.
    */
    void home();

/**

  • Do not show any characters on the LCD display. Backlight state will remain unchanged.
  • Also all characters written on the display will return, when the display in enabled again.
    */
    void noDisplay();

/**

  • Show the characters on the LCD display, this is the normal behaviour. This method should
  • only be used after noDisplay() has been used.
    */
    void display();

/**

  • Do not blink the cursor indicator.
    */
    void noBlink();

/**

  • Start blinking the cursor indicator.
    */
    void blink();

/**

  • Do not show a cursor indicator.
    */
    void noCursor();

/**

  • Show a cursor indicator, cursor can blink on not blink. Use the
  • methods blink() and noBlink() for changing cursor blink.
    */
    void cursor();

void scrollDisplayLeft();
void scrollDisplayRight();
void printLeft();
void printRight();
void leftToRight();
void rightToLeft();
void shiftIncrement();
void shiftDecrement();
void noBacklight();
void backlight();
bool getBacklight();
void autoscroll();
void noAutoscroll();
void createChar(uint8_t, uint8_t);
void setCursor(uint8_t, uint8_t);
virtual size_t write(uint8_t);
void command(uint8_t);

inline void blink_on() { blink(); }
inline void blink_off() { noBlink(); }
inline void cursor_on() { cursor(); }
inline void cursor_off() { noCursor(); }

// Compatibility API function aliases
void setBacklight(uint8_t new_val); // alias for backlight() and nobacklight()
void load_custom_character(uint8_t char_num, uint8_t *rows); // alias for createChar()
void printstr(const char);

private:
void send(uint8_t, uint8_t);
void write4bits(uint8_t);
void expanderWrite(uint8_t);
void pulseEnable(uint8_t);
uint8_t _addr;
uint8_t _displayfunction;
uint8_t _displaycontrol;
uint8_t _displaymode;
uint8_t _cols;
uint8_t _rows;
uint8_t _charsize;
uint8_t _backlightval;
};

#endif // FDB_LIQUID_CRYSTAL_I2C_H

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. If your browser doesn’t show the posting toolbar then you can just manually add the code tags:
[code]``[color=blue]// your code is here[/color]``[/code]
Using code tags and other important information is explained in the How to use this forum post. Please read it.

When your code requires a library that’s not included with the Arduino IDE please always post a link (using the chain link icon on the toolbar to make it clickable) to where you downloaded that library from or if you installed it using Library Manger(Sketch > Include Library > Manage Libraries) then say so and state the full name of the library.

That’s a library, not a sketch.

Install the library following these instructions:https://www.arduino.cc/en/Guide/Libraries
After that you will find some example sketches for the library under File > Examples.

You forgot to do something:

pert:
Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. If your browser doesn’t show the posting toolbar then you can just manually add the code tags:
[code]``[color=blue]// your code is here[/color]``[/code]
Using code tags and other important information is explained in the How to use this forum post. Please read it.

You picked up some gibberish from copying the sketch from some website.

Change line 1 from:

#include &lt;Wire.h&gt;

to:

#include <Wire.h>

Change line 2 from:

#include &lt;LiquidCrystal_I2C.h&gt;

to:

#include <LiquidCrystal_I2C.h>

what is here the problem
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

char row1=“I’m Arduino”;
char row2=“Hello world!”;
int t = 500;
// Library initialization with 16x2 size settings
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27

void setup(){
lcd.init();
lcd.backlight();
}

void loop()
{
lcd.clear();
lcd.setCursor(15,0);
for (int positionCounter1 = 0; positionCounter1 < 26; positionCounter1++){
lcd.scrollDisplayLeft();
lcd.print(row1[positionCounter1]);
delay(t);
}
lcd.setCursor(15,1); // set the cursor to column 15, line 1
for (int positionCounter = 0; positionCounter < 26; positionCounter++){
lcd.scrollDisplayLeft();
lcd.print(row2[positionCounter]);
delay(t);
}
}
end
this is the error

Arduino: 1.8.5 (Windows 10), Board:“Arduino/Genuino Uno”

HC-SR04_Ultrasonic_Sensor:1: error: #include expects “FILENAME” or

#include <Wire.h>

^

HC-SR04_Ultrasonic_Sensor:2: error: #include expects “FILENAME” or

#include <LiquidCrystal_I2C.h>

^

exit status 1
#include expects “FILENAME” or

Dit rapport zou meer informatie bevatten met
“Uitgebreide uitvoer weergeven tijden compilatie”
optie aan in Bestand → Voorkeuren.

#include <inttypes.h>

One of the includes from your other file.

#include &lt;LiquidCrystal_I2C.h&gt;

The include from this file that the compiler doesn’t like.

Can you really not see what happened there? Are you even trying?

Please at least have enough consideration to go read the “How to use this forum” thread and learn to post your code properly.

We already told you on your other thread. Don't double post.

Threads merged.

tsm,
I don't know know where you got that library or how you have tried to install it, but I would recommend that you do not try to install libraries manually as it is easy to make mistakes that can cause issues like you are seeing.
The easiest thing will likely be to uninstall that library and then use the library manager to add a library to control the LCD.

The library manager will download and install the library for you.
Two libraries that are available in the library manager for a hd44780 LCD with an I2C backpack are:

  • LiquidCrystal_I2C
  • hd44780

I would recommend using hd44780 as it will automatically self configure itself so it can automatically work with many different backpacks regardless of the i2c address or pin mappings used on the backpack.
You can read more about hd44780 on the github page:

And on the hd44780 wiki:

The hd44780 library i/o class for an i2c backpack is hd44780_I2Cexp
See the examples for that i/o class.

--- bill

Hi,
tsm what is your native language?

Tom.. :slight_smile: