-
Notifications
You must be signed in to change notification settings - Fork 0
Ultrapilot mark i
The UltraPilot Mark I is a simple UltraPilot that functions like a wireless cane. An ultrasonic sensor is attached to the end of a wand, and a vibrotactor is situated so that its vibrations can be felt in the user's hand.
An UltraPilot Mark I from above.
An UltraPilot Mark I from the side.
The UltraPilot Mark I is quite simple to build. The following section contains our suggestions for how to build one, although other configurations are certainly possible.
The current drivers were written for working with a MaxBotix sensor, but other sensors would work just as well.
- Raspberry Pi
- Vibrotactor
- Ultrasonic sensor
- We suggest the MB1240 XL-MaxSonar-EZ4 from MaxBotix due to its narrow field of view and high quality measurements.
- Serial-to-USB adapter
- This is needed in order to connect the MaxBotix' serial output to the Raspberry Pi. If you use another ultrasonic sensor, you may not need this.
- Power supply
- Jumper cables, USB connectors, zip ties, etc.
We were able to obtain these parts from online providors for a total of 115.85€,although the parts can be obtained for much lower prices elsewhere.
-
Install the Raspberry Pi
If you haven't yet installed your Raspberry Pi, do so now. We use and recommend Raspian. You will also need to install the UltraPilot software (for further instructions, see the UltraPilot README).
-
Connect the ultrasonic sensor
We use the MaxBotix MB1240 XL-MaxSonar-EZ ultrasonic rangefinder. For this sensor's complete documentation, see the company's documentation.
Pin 5 outputs the rangefinder's readings in an RS232 format. This pin should be connected to the serial-to-USB adapter. The UltraPilot library is capable of working with the sensor's output, so no programming is necessary in order to read the sensor's output. Pin 6 is connected to the Raspberry Pi's power output and should be attached e.g. to the Raspberry Pi's 5V power supply for best results (in Revision 2.0 this is pin 2). If a 5V pin is not available, the sensor can also work with 3.3V. Pin 7 is ground and is attached to one of the Raspberry Pi's ground pins (e.g. pin 9 on Revision 2.0) or to a ground pin on the USB adapter.
The ultrasonic sensor attached to the USB adapter and the Raspberry Pi. At this stage, the Raspberry Pi is able to read the sensor readings using the USB serial connection. Here they are shown using an SSH connection to a phone.
The sensor positioning is up to you. The ultrasonic signal radiates in a tight cone away from the sensor's face, so we suggest attaching the sensor directly to the USB adapter using sturdy, double-sided tape. Because the USB port on the Raspberry Pi is at one of its narrower ends, the device can then be held like a remote control and pointed comfortably in the direction that range values should be read from.
-
Connect the vibrotactor
To attach the vibrotactor, solder power and ground cables to their contacts on the motor. Attach the ground cable to a ground pin on the Raspberry Pi (e.g. pin 9 on Revision 2.0) and the power cable to one of the GPIO pins on the Pi. Because the main program in the UltraPilot library has to hardwire the pin number, this pin needs to either be pin 12 (GPIO18) or you need to modify the pin number in src/main.cpp. UltraPilot uses the WiringPi library to control the motor with PWM, so read the WiringPi documentation on pin numbering if you connect the motor to another pin.
The UltraPilot Mark I with ultrasonic sensor and vibrotactor attached. Note the battery pack in the background. This is the battery pack that is used in the next step.
-
Connect the power supply
Any power supply that will power the Raspberry Pi will do. We settled for a battery pack containing 4 rechargeable AA batteries that uses the same connector as a 9V battery. The connector was spliced into a micro-USB cable. The entire construction was then attached to the Raspberry Pi with zip ties. In order to turn the UltraPilot an, the battery pack's micro-USB adapter is plugged into the Raspberry Pi's micro-USB port. The UltraPilot is turned off by unplugging the battery pack.
The fully assembled UltraPilot Mark I.