The Lego Mindstorms NXT ultrasonic sensor can be used to measure distances and may be connected to a PICAXE using an I2C bus and controlled by appropriate PICAXE I2C commands.
LEGO and MINDSTORMS are registered trademarks of the LEGO Group. I2C is a registered trademark of Philips Semiconductors Corporation.
Lego NXT Ultrasonic
Schematic
![](_/thumbnaile14e.jpg)
PCB
![](_/thumbnailc346.jpg)
Using the Lego NXT Ultrasound Sensor
This is a sample program for the Lego NXT Ultrasound Sensor (part 9846) using the AXE216 i2c Explorer Kit with a PICAXE-20X2. Please note - This sensor is much more difficult than other Lego sensors to use.
- You must provide both 9V and 5V supplies .
- Also i2c needs to be 'hacked' due to a feature in the ultrasonic i2c firmware which makes it non-compliant with the industry standard i2c protocol.
- Code Example:
-
#picaxe 20x2 #no_table ; **** AXE216 i2c Experimenter Board Setup **** ; J1 External Power Fitted (4.5V) ; J2 SCL Pullup Not fitted (pullup is in sensor) ; J3 SDA Pullup Not fitted (pullup is in sensor) ; H2 9V Power Fitted (9V) ; Lego Ultrasonic Sensor symbol distance = b0 ; distance in cm ; Wires on NXT jack plug. ; Wire colours may vary. Pin 1 is always end nearest latch. ; 1 White +9V ; 2 Black 0V ; 3 Red 0V ; 4 Green +5V ; 5 Yellow SCL ; 6 Blue SDA ; Do not use i2c pullup resistor - already provided within sensor. init: ;Slave address is $02 hi2csetup i2cmaster, $02, i2cslow, i2cbyte hi2cout $41,($02) ; continuous mode pause 100 main: ; read values ; This single line should work: ; hi2cin $42,(distance) ; but does not as dodgy firmware in ultrasonic sensor ; therefore here is the workaround hi2cout ($42) ; address $42 low B.7 ; fake an extra pulse input B.7 ; back to input hi2cin (distance) ; read distance debug ; debug display pause 1000 ; wait 1 second then loop goto main
Copy Code Submit an Example
Create Module
![](../../../thumbnail48bc.jpg)
Lego Mindstorm NXT sensors can be connected using two generic terminal block create modules to carry the SDA and SCL signals of the I2C bus.
Bill of Materials
Description | Code | Qty | |
---|---|---|---|
Lego NXT Compatible socket | CON070 | 1 | Buy Now |
PP3 Battery Clip | BAT016 | 1 | Buy Now |
Simulation
Submit Your Own Code!
You must be logged in to submit code examples. Login now.
Share