Anfänger und nur Probleme!!!

Hallo,

evtl. könnt ihr einem absolutem Anfänger etwas helfen!
Ich habe folgendes Problem:

Ich habe mir ein Set aus einem Arduino Mega und einem LCD+Keypad Shield gekauft
http://www.ebay.de/itm/SainSmart-Mega2560-LCD-Keypad-Shield-Sarter-Kit-ATMEGA2560-ATMEGA8U2-AVR-Arduino-/320862395917?pt=Wissenschaftliche_Geräte&hash=item4ab4e39e0d

Ich habe die Library LCD 4 Bit_mod http://www.thesunrain.com/Amazon/LCDKeypad%20Shield/LCD1602.rarinstalliert und will eines der Beispielsketche kompilieren, aber egal welches Sketch es kommen Unmengen von Fehlermeldungen dabei raus!!

Habe ich da etwas vergessen oder falsch gemacht???

Vielen Dank im Vorraus

Alex

Tastatur am pc angeschlossen? Wenn man das nicht gemacht hat kann es sein das beim anschalten vom pc viele Fehlermeldungen erscheinen...

Hallo,

ich habe zwar kein solches LCD hier, aber grundsätzlich wäre es schon mal wissenswert, welche Fehlermeldungen du erhälst und welchen Sketch du ausprobiert hast.
Dann kann man dir eher helfen.

Gruß
Christoph

Hallo,

hier der Sketch

//example use of LCD4Bit_mod library

#include <LCD4Bit_mod.h> 
//create object to control an LCD.  
//number of lines in display=1
LCD4Bit_mod lcd = LCD4Bit_mod(2); 

//Key message
char msgs[5][15] = {"Right Key OK ", 
                    "Up Key OK    ", 
                    "Down Key OK  ", 
                    "Left Key OK  ", 
                    "Select Key OK" };
int  adc_key_val[5] ={30, 150, 360, 535, 760 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;

void setup() { 
  pinMode(13, OUTPUT);  //we'll use the debug LED to output a heartbeat

  lcd.init();
  //optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()
  //lcd.commandWrite(0x0F);//cursor on, display on, blink on.  (nasty!)
   lcd.clear();
  lcd.printIn("KEYPAD testing... pressing");
    
}

void loop() {

	adc_key_in = analogRead(0);    // read the value from the sensor  
  digitalWrite(13, HIGH);  
  key = get_key(adc_key_in);		        // convert into key press
	
	if (key != oldkey)				    // if keypress is detected
	{
    delay(50);		// wait for debounce time
		adc_key_in = analogRead(0);    // read the value from the sensor  
    key = get_key(adc_key_in);		        // convert into key press
    if (key != oldkey)				
    {			
      oldkey = key;
      if (key >=0){
      lcd.cursorTo(2, 0);  //line=2, x=0
  			lcd.printIn(msgs[key]);
      }
    }
  }
  
  //delay(1000);
  digitalWrite(13, LOW);
  

 
  
  
}

// Convert ADC value to key number
int get_key(unsigned int input)
{
	int k;
    
	for (k = 0; k < NUM_KEYS; k++)
	{
		if (input < adc_key_val[k])
		{
           
    return k;
        }
	}
    
    if (k >= NUM_KEYS)
        k = -1;     // No valid key pressed
    
    return k;
}

und hier die Fehlermeldungen:

C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:29:57: error: WConstants.h: No such file or directory
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::pulseEnablePin()':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:58: error: 'LOW' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:58: error: 'digitalWrite' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:59: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:61: error: 'HIGH' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:64: error: 'delay' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::pushNibble(int)':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:73: error: 'digitalWrite' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::commandWriteNibble(int)':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:99: error: 'LOW' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:99: error: 'digitalWrite' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::commandWrite(int)':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:106: error: 'LOW' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:106: error: 'digitalWrite' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::print(int)':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:118: error: 'HIGH' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:118: error: 'digitalWrite' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:119: error: 'LOW' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::clear()':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:139: error: 'delay' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::init()':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:146: error: 'OUTPUT' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:146: error: 'pinMode' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:154: error: 'delay' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:160: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp: In member function 'void LCD4Bit_mod::leftScroll(int, int)':
C:\Users\Alex\Documents\Arduino\libraries\LCD4Bit_mod\LCD4Bit_mod.cpp:225: error: 'delay' was not declared in this scope

Bekomme irgendwie denn Eindruck das ich noch etwas beim Sketch vergessen habe :0

Danke

Also, ich habe noch nie eine Lib eingebunden, aber
"No such file or directory"
Verweist idR darauf, dass ggf. der Compiler die Lib nicht findet. Ich vermute, dass du diese LCD-Lib nicht richtig "installiert" oder abgelegt hast. Am besten nochmal in die Anleitung schauen.

Das Beispiel funktioniert mit der IDE 0023.
Damit es auch nmit IDE 1.xx funktioniert mußt Du die Bibiothek WConstants.h durch Arduino.h ersetzen. Das kann auch in den Bibiotheken notwendig sein.

Erklährung unter internals des IDE1.0 (etwas runterscrollen):

Grüße Uwe

Hallo Uwe,

danke das war es, nun funktionierts!!

:grin:

Grüße

Alex