Things used in this project
|Software apps and online services:|
This tutorial will take your through the instructions to make your own powered skateboard, which you can make at your home or workshop. The skateboard will be motor-driven, smartphone controlled and with a 3-tier controllable speed. It also has body lights and headlights with controlled brightness level. And at last it will have a proximity/obstacle detecting sensor at it front to stop the skateboard, whenever and obstacle comes in its range.
Motor Mounting on the Skateboard
We will mount the motor on the rear of the skateboard and connect it to the rear wheel via a chain and sprocket. You can buy two sprockets sized about two-thirds of the diameter of the wheel, and chain from any bike shop. We have to make a coupler for mounting the sprocket to the wheel. After making the coupler, weld the sprocket to the coupler. Then, mount the coupler on the wheel using nuts and bolts.
To make the motor mounting bracket, cut an aluminium sheet of appropriate size and drill all the mounting holes. Then bend the sheet in L-shape.
Drill the holes on the rear side of the skateboard and mount the motor bracket, then the motor. Using a lathe make a coupler for mounting the other sprocket to the motor shaft. Weld the coupler and the sprocket. Using chain connect the sprockets. This way you can drive the skateboard using motor.
For the skateboard to work in the night, we have mounted a headlight on the front part. For that we have made a custom 3D printed part and mounted it using nuts and bolts. After that, take four LEDs and connect them in series and mount on the 3D printed part as shown in the figure. You can download the part from here.
Obstacle Avoidance: Mounting Proximity Sensor
For obstacle avoidance we have added a proximity sensor. The sensor is mounted on the same 3D printed part.
Running the motor using motor library
- We have built a new motor library that allows complex functions with a simple interface. You can download it from here, note that the class name is "Motor".
- On the evive, we have two motor pins, but we will only use one of them for the motor control since we used only one motor for moving the skateboard.
- We have used the other motor pin for controlling our lights (yes, its a hack).
- Now, include the motor library and create two objects- one for the motor and the other for the lights.
- The motor object requires three parameters while initializing- left pin, right pin and PWM pin. PWM pin sets the speed of the motor and varies between 0 and 255.
- First, we stop the motor by using the motor.stop() function which automatically locks the motor in the setup.
- Then we start it smoothly using the function motor.startSmoothly (PWM) and now you can set the speed using motor.move(PWM) function giving parameter as your desired motor speed (255 for maximum, 0 to stop).
- Similarly this can be used to control the lights too.
Using a Smart phone for Control
We are using the HC-05 Bluetooth module which we have used before. This time, we have used the controller mode of the app. where we have assigned the controllers the value which we have written in code. the value assigned are:
- '0' for
- 'f' for stopping the skateboard
- '3' for forward motion and '1' for slowing down or going backward
- 'o' for increasing the brightness
- 'l' for decreasing the brightness
We have added some good looking neon lights and some big LED's of sufficient brightness. We have used the motor driver for this work. By setting different PWM for motor 2 that is attached to lights we can change the brightness of the light.
Coding for the Proximity Sensor
Now, we will add the proximity sensor.
The proximity sensor we used works at 12V DC so we cannot directly connect it to any Micro-controller. We could make a voltage divider, or use a voltage regulator like the 7805 IC, but since evive has voltage sensing frome -30V to +30V, we have just plugged it in directly to ProbeV. It uses ADE7912 IC via SPI based communication.
After all the assembly and coding, the skateboard is now ready with all the features.
To explore more click here.
Github Skateboard codes
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!