RC servo measuring

hardware: Arduino Mega 2650 and SainSmart LCD Keypad Shield V1.0

We tried to compilate the code but have an error:

fatal error: DfLcdKeys.h: No such file or directory

code in attachment

Could anybody help us?

RC servocode Word.pdf (135 KB)

Have you installed the “DfLcdKeys” library?

Edit: When you want to show your code, don’t attach it as a pdf document, place it in your post, between [code]code tags[/code]. That makes it much easier for people to view, and therefore help you.

I’ve done it below this time:-

#include <LiquidCrystal.h>
#include <DfLcdKeys.h>
// LCD-Display initialisieren (Pinzuordnung).
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
// Tastenfeld initialisieren.
DfLcdKeys keypad(100, true);
// Mit den Werten starten die Schrittweite und die Impulsbreite.
int impulsBreite = 1500;
int schrittweite = 100;
// Pinnummer, an dem der Servo angeschlossen ist.
int servoPin = 38;
void setup()
    // Schon mal etwas auf dem LCD-Display ausgeben
    lcd.begin(16, 2);
    lcd.setCursor(0, 0);
    lcd.print("Schr.w.: Impuls:");
    // Einen Anschluss für den Servo auf OUTPUT einstellen
    pinMode(servoPin, OUTPUT);

void loop()
    // Tastenfeld bzgl. gedrückter Taste abfragen.
    int pressedKey = keypad.getKey();
    // Je nachdem, welche Taste gedrückt ist, die Schreittweite bzw.
    // die Impulsbreite erhöhen bzw. reduzieren.
    if (pressedKey != SAMPLE_WAIT)
        if (pressedKey == UP_KEY)
            impulsBreite = impulsBreite + schrittweite;
        else if (pressedKey == DOWN_KEY)
            impulsBreite = impulsBreite - schrittweite;
        else if (pressedKey == RIGHT_KEY)
            schrittweite = schrittweite + 10;
        else if (pressedKey == LEFT_KEY)
            schrittweite = schrittweite - 10;
    // Auf dem LCD-Display die eingestellte Schrittweite und Impulsbreite ausgeben.
    printOnLcd(schrittweite, impulsBreite);
    // Den Servo mit der eingestellten Impulsbreite ansteuern.
    servoMove(servoPin, impulsBreite);

void printOnLcd(int schrittweite, int currentValue)
    lcd.setCursor(1, 1);
    lcd.print("s ");
    lcd.setCursor(9, 1);
    lcd.print("s ");

void servoMove(int servo, int timeMicros)
    // Servo-Pin auf HIGH, um Impuls zu beginnen.
    digitalWrite(servo, HIGH);
    // Solange warten, wie die Impulsbreite ist.
    // Servo Pin auf LOW, um Impuls zu beenden.
    digitalWrite(servo, LOW);
    // 10 ms warten

Edit: When you got that code, did you download the full “servo-mit-tasten-steuern” folder? If so, the “DfLcdKeys” library is in the “lib” folder. I just downloaded and installed it, and the code compiles fine.

In what way is this problem to do with this section. Read the description of this section, it says

Installation & Troubleshooting For problems with Arduino itself, NOT your project