I know there are many threads with this stuff, but I can not get any of them to work.
I have read that you must #include <Wire.h> two places, but I can not really figure out where it is.
this is what I'm trying to get to work:
someone who can help.
I get this error:
C:\Users\Uno\Documents\Arduino\Tutorial_I2C_LCD\Tutorial_I2C_LCD.ino:1:27: fatal error: ../Wire/Wire.h: No such file or directory
#include "../Wire/Wire.h"
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
spycatcher2k:
It's up to you to supply the code, not for us to hunt it down
sorry, I just thought it was all in would ask about.
spycatcher2k:
Open Tutorial_I2C_LCD.ino
find : #include "../Wire/Wire.h"
change it to #include <Wire.h>
I tried it, but the error is the same.
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:35:26: fatal error: ../Wire/Wire.h: No such file or directory
#include <../Wire/Wire.h>
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
here is the code i am using:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27 // <<- Add your address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup()
{
lcd.begin (20,4); // <<-- our LCD is a 20x4, change for your LCD if needed
// LCD Backlight ON
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // go home on LCD
lcd.print("Range Finder HC-SR04");
}
void loop()
{
}
sorry but i was trying to edit poste to include the code. but there was a 5 min timer.
now it say:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:41:1: error: 'I2CIO' does not name a type
I2CIO::I2CIO ( )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:54:5: error: 'I2CIO' has not been declared
int I2CIO::begin ( uint8_t i2cAddr )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int begin(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:56:4: error: '_i2cAddr' was not declared in this scope
_i2cAddr = i2cAddr;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:58:4: error: 'Wire' was not declared in this scope
Wire.begin ( );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:60:4: error: '_initialised' was not declared in this scope
_initialised = Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:65:4: error: '_shadow' was not declared in this scope
_shadow = Wire.read (); // Remove the byte read don't need it.
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:73:6: error: 'I2CIO' has not been declared
void I2CIO::pinMode ( uint8_t pin, uint8_t dir )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'void pinMode(uint8_t, uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:75:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:79:10: error: '_dirMask' was not declared in this scope
_dirMask &= ~( 1 << pin );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:83:10: error: '_dirMask' was not declared in this scope
_dirMask |= ( 1 << pin );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:90:6: error: 'I2CIO' has not been declared
void I2CIO::portMode ( uint8_t dir )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'void portMode(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:93:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:97:10: error: '_dirMask' was not declared in this scope
_dirMask = 0xFF;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:101:10: error: '_dirMask' was not declared in this scope
_dirMask = 0x00;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:108:9: error: 'I2CIO' has not been declared
uint8_t I2CIO::read ( void )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'uint8_t read()':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:112:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:114:7: error: 'Wire' was not declared in this scope
Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:114:26: error: '_i2cAddr' was not declared in this scope
Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:118:18: error: '_dirMask' was not declared in this scope
retVal = ( _dirMask & Wire.read ( ) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:127:5: error: 'I2CIO' has not been declared
int I2CIO::write ( uint8_t value )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int write(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:131:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:135:7: error: '_shadow' was not declared in this scope
_shadow = ( value & ~(_dirMask) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:135:29: error: '_dirMask' was not declared in this scope
_shadow = ( value & ~(_dirMask) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:137:7: error: 'Wire' was not declared in this scope
Wire.beginTransmission ( _i2cAddr );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:137:32: error: '_i2cAddr' was not declared in this scope
Wire.beginTransmission ( _i2cAddr );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:150:9: error: 'I2CIO' has not been declared
uint8_t I2CIO::digitalRead ( uint8_t pin )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'uint8_t digitalRead(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:150:42: error: new declaration 'uint8_t digitalRead(uint8_t)'
uint8_t I2CIO::digitalRead ( uint8_t pin )
^
In file included from C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:30:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:127:5: error: ambiguates old declaration 'int digitalRead(uint8_t)'
int digitalRead(uint8_t);
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:156:11: error: '_initialised' was not declared in this scope
if ( ( _initialised ) && ( pin <= 7 ) )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:159:16: error: invalid use of 'this' in non-member function
pinVal = this->read() & _dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:159:31: error: '_dirMask' was not declared in this scope
pinVal = this->read() & _dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:167:5: error: 'I2CIO' has not been declared
int I2CIO::digitalWrite ( uint8_t pin, uint8_t level )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int digitalWrite(uint8_t, uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:167:54: error: new declaration 'int digitalWrite(uint8_t, uint8_t)'
int I2CIO::digitalWrite ( uint8_t pin, uint8_t level )
^
In file included from C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:30:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: error: ambiguates old declaration 'void digitalWrite(uint8_t, uint8_t)'
void digitalWrite(uint8_t, uint8_t);
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:174:11: error: '_initialised' was not declared in this scope
if ( ( _initialised ) && ( pin <= 7 ) )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:178:34: error: '_dirMask' was not declared in this scope
writeVal = ( 1 << pin ) & ~_dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:181:10: error: '_shadow' was not declared in this scope
_shadow |= writeVal;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:186:10: error: '_shadow' was not declared in this scope
_shadow &= ~writeVal;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:188:16: error: invalid use of 'this' in non-member function
status = this->write ( _shadow );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:188:30: error: '_shadow' was not declared in this scope
status = this->write ( _shadow );
^
exit status 1
Error compiling for board Arduino/Genuino Uno.
do you mean the code I try to upload from Arduino 1.6.8 for my uno?
for it is the code I'm trying to upload, I'm just trying to get it to write "Range Finder HC-SR04" on the screen.
to see that it works
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27 // <<- Add your address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup()
{
lcd.begin (20,4); // <<-- our LCD is a 20x4, change for your LCD if needed
// LCD Backlight ON
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // go home on LCD
lcd.print("Range Finder HC-SR04");
}
void loop()
{
}
cattledog:
And what errors is the code in post #11 giving you?
this is the error message
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:41:1: error: 'I2CIO' does not name a type
I2CIO::I2CIO ( )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:54:5: error: 'I2CIO' has not been declared
int I2CIO::begin ( uint8_t i2cAddr )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int begin(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:56:4: error: '_i2cAddr' was not declared in this scope
_i2cAddr = i2cAddr;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:58:4: error: 'Wire' was not declared in this scope
Wire.begin ( );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:60:4: error: '_initialised' was not declared in this scope
_initialised = Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:65:4: error: '_shadow' was not declared in this scope
_shadow = Wire.read (); // Remove the byte read don't need it.
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:73:6: error: 'I2CIO' has not been declared
void I2CIO::pinMode ( uint8_t pin, uint8_t dir )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'void pinMode(uint8_t, uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:75:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:79:10: error: '_dirMask' was not declared in this scope
_dirMask &= ~( 1 << pin );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:83:10: error: '_dirMask' was not declared in this scope
_dirMask |= ( 1 << pin );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:90:6: error: 'I2CIO' has not been declared
void I2CIO::portMode ( uint8_t dir )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'void portMode(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:93:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:97:10: error: '_dirMask' was not declared in this scope
_dirMask = 0xFF;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:101:10: error: '_dirMask' was not declared in this scope
_dirMask = 0x00;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:108:9: error: 'I2CIO' has not been declared
uint8_t I2CIO::read ( void )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'uint8_t read()':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:112:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:114:7: error: 'Wire' was not declared in this scope
Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:114:26: error: '_i2cAddr' was not declared in this scope
Wire.requestFrom ( _i2cAddr, (uint8_t)1 );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:118:18: error: '_dirMask' was not declared in this scope
retVal = ( _dirMask & Wire.read ( ) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:127:5: error: 'I2CIO' has not been declared
int I2CIO::write ( uint8_t value )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int write(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:131:9: error: '_initialised' was not declared in this scope
if ( _initialised )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:135:7: error: '_shadow' was not declared in this scope
_shadow = ( value & ~(_dirMask) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:135:29: error: '_dirMask' was not declared in this scope
_shadow = ( value & ~(_dirMask) );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:137:7: error: 'Wire' was not declared in this scope
Wire.beginTransmission ( _i2cAddr );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:137:32: error: '_i2cAddr' was not declared in this scope
Wire.beginTransmission ( _i2cAddr );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:150:9: error: 'I2CIO' has not been declared
uint8_t I2CIO::digitalRead ( uint8_t pin )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'uint8_t digitalRead(uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:150:42: error: new declaration 'uint8_t digitalRead(uint8_t)'
uint8_t I2CIO::digitalRead ( uint8_t pin )
^
In file included from C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:30:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:127:5: error: ambiguates old declaration 'int digitalRead(uint8_t)'
int digitalRead(uint8_t);
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:156:11: error: '_initialised' was not declared in this scope
if ( ( _initialised ) && ( pin <= 7 ) )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:159:16: error: invalid use of 'this' in non-member function
pinVal = this->read() & _dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:159:31: error: '_dirMask' was not declared in this scope
pinVal = this->read() & _dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: At global scope:
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:167:5: error: 'I2CIO' has not been declared
int I2CIO::digitalWrite ( uint8_t pin, uint8_t level )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp: In function 'int digitalWrite(uint8_t, uint8_t)':
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:167:54: error: new declaration 'int digitalWrite(uint8_t, uint8_t)'
int I2CIO::digitalWrite ( uint8_t pin, uint8_t level )
^
In file included from C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:30:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:126:6: error: ambiguates old declaration 'void digitalWrite(uint8_t, uint8_t)'
void digitalWrite(uint8_t, uint8_t);
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:174:11: error: '_initialised' was not declared in this scope
if ( ( _initialised ) && ( pin <= 7 ) )
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:178:34: error: '_dirMask' was not declared in this scope
writeVal = ( 1 << pin ) & ~_dirMask;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:181:10: error: '_shadow' was not declared in this scope
_shadow |= writeVal;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:186:10: error: '_shadow' was not declared in this scope
_shadow &= ~writeVal;
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:188:16: error: invalid use of 'this' in non-member function
status = this->write ( _shadow );
^
C:\Users\Uno\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:188:30: error: '_shadow' was not declared in this scope
status = this->write ( _shadow );
^
exit status 1
Error compiling for board Arduino/Genuino Uno.
The code posted in #11 compiles fine for me with the F. Malpartida library, and I think there may be something wrong with your library installation. If you have the correct library installation, it should not produce an error about I2CIO.
I dont understand... i was trying to do what you said.. and that was the program i was trying to uploade to my uno.
The problem is NOT in your sketch. Is that so damned hard to understand? The compiler is tell you EXACTLY which file has a problem, and we have told you how to fix the problem. Why can't you edit the file that the compiler is telling you has a problem and fix it?