The micro:bit is talking to the VL53L0X ToF sensors!
This chip is no more :( |
The Arduino Uno runs at 5 volts, and the micro:bit works at 3v3, so I used a level shifter to connect the two.
My first attempt failed disastrously.
The level shifter I used was based on the TI TXB0108.
I managed to connect the 5v power and inputs to the 3v3 side, and I fear the magic smoke has left the chip.
It's a shame, as the board was my first attempt at soldering SMD devices. It's been sitting unused in my bits box for a few years, though, so it's not the end of the world.
Fortunately I had an Adafruit level shifter breakout based on the same IC. It's well laid out with very clear pin markings and I managed to connect it correctly.
The replacement worked perfectly and the micro:bit MicroPython code was very straightforward. I've listed it below, and it's with the other code on GitHub.
from microbit import * import struct from time import sleep SENSORS = 2 def spi_read(sensor): pin16.write_digital(0) # Chip select ibuffer = struct.pack('<B', sensor) spi.write(ibuffer) result = spi.read(1) pin16.write_digital(1) # Chip select off return result spi.init(baudrate=100000) while True: for i in [0, 1]: print(i, ord(spi_read(i))) sleep(0.1)
The technology is working. The next step is to build a compact version for Anastasia. I'll report on progress.
Comments
Post a Comment