A Halo for Lucy – helping a dog avoid collisions with CircuitPython #Feather #CircuitPython #assistivetechnology @Hackadayio
Via Hackaday.io: Meet Lucy, a seven year-old border collie schipperke mix. 18 months ago she was diagnosed with Progressive Retinal Atrophy — she is not getting enough blood flow to her retinae and she is slowly going blind. There is no cure.
Owner Bud Bennett purchased a halo. It is a metal hoop that surrounds her head. If she inadvertently gets too close to an object the halo will collide with the object instead of her head. The contraption looks uncomfortable, but Lucy has tolerated it the few times she was burdened her with it.
A better solution
Bud has begun to investigate an alternative to the halo.
I ordered a VL51L0X sensor breakout board and an Arduino Feather M0 Express from Adafruit. The Feather is attractive to me because of its inherent CircuitPython capabilities. I probably paid the highest prices for these items, but — considering the support and the initial development of the sensor interface — it is worth it. Soldering the pins onto the two boards took no time at all. After that I just plugged them into a half proto-board (above).
He initially tried to program in C and the Arduino IDE, and then there was CircuitPython:
This morning I discovered that there was an existing VL53L0X Python library that ran under CircuitPython. I then reinstalled the CircuitPython capabilities and spent an inordinate amount of trial and error time learning to get the simple sensor interface working. I finally got a stream of data out of a terminal program on the iMac.
Next steps involve learning the sensor command interface, experimenting with time/accuracy tradeoffs, reassigning the sensor’s I2C address, and getting familiar with the CircuitPython libraries for GPIO and PWM. I also need perform some experiments with detecting objects of different reflective properties and the sensors resistance to ambient light.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.