Not much yet, just a first hacked sketch and a demo movie. The sketch uses the standard Servo and EEPROM libraries and the "playground" Keypad library. It is developed and compiled with Arduino 1.0.5 for an Arduino Nano 328.

Two axes servo control demo

The current setup is an Arduino Nano 328, two 180° servo motors and a 16-key keypad. Only nine keys are used; 2, 4, 6, 8 for up, left, right and down, A, B, C and D for reset positions and * in combination with A, B, C, D to store the current position in a preset.

The serial interface produces some debug info and also has a small command interpreter which allows setting the boundaries of the servo range. Mine should do 180° but use a range between 1 and about 170. By setting the boundary, it prevents the servo being set to an unreachable position. The syntax for this is for example "U170" to set the upper Up boundary to value 170. Always use three digits as the message sizess are fixed. Just "U" returns the current boundary value.

The complete command set is returned with "H", "h" or "?". Currently it is:

  D[ddd] - Minimal down value
  H      - This help text
  L[lll] - Minimal left value
  R[rrr] - Maximal right value
  U[uuu] - Maximal up value
  V      - Version number
  X      - Reset EEPROM
  ?      - This help text        

The designations U" for up, "D" for down are arbitrary, and only match the key position on the key path. The direction the servo moves depends on its mounting orientation. This might become an configurable option when the project gets used in practice.

Last updated: 2014-02-17