Pablo Software Solutions
Click Here to download the zip file for the TDA8444 NXT-G block.
Click Here to return to the main Extreme NXT site.
     The TDA8444 is an I2C bus Digital to Analog converter with eight 6-bit converters.  It can be used with the NXT's I2C bus that is available on the four sensor input ports.  The part can actually be powered with up to 12V to achieve higher output voltages.  With both VCC and VMAX connected to the NXT DC supply the outputs vary between about 0.1V with an output value of 0 and 2.5V with the maximum output value of 63.

     The circuit below shows just how easy the TDA8444 can be connected to the NXT.  The TLC556 is a voltage controlled oscillator that produces pulses capable of driving a RC Servo motor.  There are some of variations in servo motors and you might need to adjust the R5 and R3 to fine tune the range of motion.  The TLC556 is a dual part so you can easily control two servos.  With four TLC556s and one TDA8444 you could control eight RC servo motors.
TDA8444 Digital to Analog interface for the NXT
  You can talk to the TDA8444 with languages like NBC or LabView, but I built a custom NXT-G block to set the output of the DAC channels one at a time.  The I2C address of the TDA8444 is 0 1 0 0 A2 A1 A0 0 in binary or 64 in decimal with all the address lines tied low.  The channel number is between 0 and 7 and the range of output values is between 0 and 63.
     Below is a simple program that I used to test the interface for an RC servo.  DAC0 slowly ramps up in voltage which slowly increases the pulse length of the LTC556 output which slowly causes the servo to rotate clockwise.  If you connect R3 to DAC7 the servo will randomly swing around.