Member Since: June 21, 2010

Country: Canada

  • Great tutorial! However (at least IMHO) you have missed the best 5V to 3.3V level translation option which is usually the 74ahc family. In this case the 74ahc367 hex tristate buffer provides the necessary 5 outputs (with one section unused) for the translation in a single 16 pin DIP package. Note despite some information on the net, the 74HC series is not (at least safely) 5V tolerant. On 74hc there is a clamp diode to vcc on the input which will draw a lot of current when driven with a 5V input. The secret is this line on the data sheet:

    Not 5V tolerant 74hc367 (at least not without heavy current draw!):

    Input clamp current, IIK (VI < 0 or VI > VCC) (see Note 1) ±20 mA

    5V tolerant 74ahc367

    Input clamp current, IIK(VI< 0) –20 mA

    the -20 ma indicates no output clamp diode present as does the lack of VI > VCC on the ahc parts. Note the 74ahc transceivers (such as the 74ahc245) are not 5V tolerant, the possibility the pin can be an output apparently requires the vcc clamp diode, but the buffers, 4 bits 74ahc125, 6 bits 74ahc365/367, 8 bits 74ahc240-244 and 74ahc541 (better pin out!) are all 5V tolerant on their input pins and are all available in dip packages. For the Nokia this setup is working for me (I pulled all the 367 inputs up to 3.3v via a 100K 9 pin SIP bussed resistor pack, pulling up to 5V works as well but requires an extra wire for no real gain assuming 3.3v is above the Arduino input threshold).

    Arduino pin 74ahc367 pin nokia lcd signal name

    gnd        1          -        oe1/     tristate enable active low
     7                 2          -            sce/     chip select in  (5V)
     -                 3          3        sce/     chip select out (3.3v)
     6                 4          -        rst/     reset in  (5v) 
     -                 5          4        rst/     reset out (3.3v) 
     5                 6          -        d/c              data/command in  (5v)
     -                 7          5        d/c              data/command out (3.3v)
    gnd        8          2        gnd      Ground
     -                 9          6        dn(mosi) mosi out (3.3v)
     11       10          -        dn(mosi) mosi in  (5v)
     -                11          7        sclk     sck out  (3.3v)
     13       12          -        sclk     sck in   (5v)
     -                13          -        unused   (3.3v output)
    gnd       14          -        unused   tie to gnd or 3.3/5v (not floating!)
    gnd       15          -        oe2/     tristate enable active low
    3.3v              16          1        vcc      3.3V vcc
     9        - 330 resistor  8        LED      led backlight 
    in the hookup doc a minor typo (the info is elsewhere, just not right here) pin numbers are missing in the "The data pins are connected as follows:"  box:



    should be:

    7 sclk

    8 LED

    as well in Example Code 1: LCD Demo

    the url on the codebender reference would be better as

    which will step you through autoloading and testing the necessary drivers (which the download button doesn't!) to make codebender work (at least on Firefox). Very handy application for quickly trying some code!

    Peter Van Epp

  • There are no assembly instructions (at least that I have found anywhere) for this device so to perhaps save you all the mistakes I made here are my notes for building my next one :-).

    1) What you need:

    Gripper package: 3 screws two long, one short, 2 washers, 2 nylon spacers, 2 arms (one big hole, one small hole) and one mounting plate (nothing left over).

    Servo package: Sparkfun ROB-09065 (I tried various 9G generic servos I have and none work, the servo shaft spines aren't correct to fit the arm! Save grief and use the recommended one.)

    small black screw and the servo (the rest of the parts aren't used here).

    A small Philips screw driver to fit the screws and a large helping of patience (the screws are tiny and difficult to get in!)

    Something (CPU or servo tester) to drive the servo to position it for installation and test the gripper at the end.

    2) Assembly:

    Mount the plate on the servo (the hole in it is keyed to the servo). Take the 2 long screws and the 2 nylon spacers from the grabber package and put the nylon spacer between the mounting plate and the tab on the servo. Screw one of the long screws in with the head towards the servo wires so the point is going in to the bottom of the mounting plate (if its the other way, the screw head will interfere with the plastic arm's movement on top of the mounting plate!)

    3) Repeat with the other side of the servo using the 2nd long screw and nylon spacer.

    4) Fit the arm with the larger hole over the servo shaft (it should slide in and lock if you have the correct servo). Now power up the servo and cause it to move to the position where the arms would be fully closed then back of a little bit and power the servo down again.

    5) Now using the short screw and washer from the grabber package attach the second arm to the base plate. Mesh the teeth on the arms with each other. Note you want to tighten the screw enough to hold the arm in position but still allow it to rotate! Now power up the servo again and check that the jaws mesh properly when fully closed (in fact the servo should hum a bit as it can't achieve the fully closed position because the jaws are closed!). Adjust the position of the arm on the servo by taking it off and rotating it one position on the servo spline until this works correctly (i.e. when the jaws are fully closed they meet square not at an odd angle!)

    6) Now take the black screw from the servo package (the littlest one) and one of the washers from the gripper package and screw the arm to the servo shaft and you are done. Power up the servo again and try out your new gripper. Mine works very well and I'll probably grab another one.

No public wish lists :(