I2C is a communication protocol that allows multiple devices, with different addresses, to be attached on a single bus. The majority of the sensors and multiplexors from mindsensors.com use I2C. The PiStorms has a built in 'Explorer' program on the browser to view useful information of I2C devices that will help make sure you are properly communicate with the device. This information can also beneficial when debugging any non-working robot.
Using the Explorer
Ensure your PiStorms frame is assembled and your PiStorms is properly connected to the PiStorms with the instructions here.
Turn on your PiStorms by clicking the 'GO' button. After few seconds the Raspberry Pi will boot up and the PiStorms Browser will appear on the screen.
Click the right arrow button on the top right-hand corner of the screen and browse to find the program '09-Explorer' (this program is in '45-Utils' folder)
Click the '09-Explorer' button and the program will automatically run.
Follow the instructions on the PiStorms screen to view information about the I2C device connected to BAS1.
If an I2C device is found, the screen will show the 8-bit and 7-bit addresses, firmware version, vendor ID, and device ID.
If the program does NOT detect that an I2C device is connected to BAS1, 'No Device Found!' will appear on the screen and you will be prompted to exit the program.
Why is the Explorer program not detecting my device?
There could be many reasons why the program is not detecting your device.
First, make sure your sensor is connected to the correct port (BAS1). The program only enables BAS1 for I2C communication and will read only that port.
Second, make sure the device uses I2C communication. Be sure to check the documentation of the device to make sure it is not analog, UART, CAN, etc. Most LEGO brand devices, Sumoeyes, and many third party devices will not show on the 'Explorer'.
The device may be faulty. If you are using a mindsensors.com I2C device on port BAS1 and you still can not detect anything, please contact email@example.com.
All of the I2C devices are not detected on BAS1 when I use the Split-Nx!
This is normal, the 'Explorer' will only show the first address it detects (usually the lowest numbered address). Disconnect the Split-Nx and attach only one I2C device at a time.