Presentation

advertisement
REVOLIGHTS™:
ARDUNIO CLONE
Zack Fowler
Network Security & Electronics Program, Dept. of Applied Engineering & Technology,
Eastern Kentucky University
1
OUTLINE
•
•
•
•
•
•
•
•
•
Abstract
Motivation
Introduction
Problem Statement
Proposed Solution
Implementation
Results
Conclusions
Future work
2
Abstract
As more people look to bicycling as a healthy and
cost-effective method of transportation, tackling safety
concerns becomes even more important. The
Revolights™ system is a great way to help improve
bike riders’ visibility at night but does not come cheap.
This is my economical Arduino-based clone of the
Revolights™ system that offers life-saving technology
to more people.
3
Motivation
• Since 2000, ACS data shows a 61.6% increase in bicycle
commuting and the trend is continuing to grow.
• Addressing the safety concerns of commuting by bicycle is
important to keep this trend.
• Some products, such as the Revolights™ system, are
revolutionizing bicycle safety at night but are affordable only
to a small fraction of riders.
• This project aims to reproduce the Revolights™ technology in
a way that is both affordable and DIY-friendly
4
What is Revolights?
5
Introduction
This project requirs learning/refreshing the
following skills:
• Arduino programming at an intermediate
level.
• Basic circuit design
• Basic Soldering
• Basic knowledge of bicycle mechanics
6
Problem Statement
Conventional bicycle lights that mount to the handlebar stem or seat stem do
not offer the rider sufficient visibility to vehicles approaching the biker at a
perpendicular angle. The Revolights™ system provides a great way to solve
this issue, but the high price of the product prevents many people from
affording this revolutionary technology. This project addresses the high cost
of the Revolights™ system and provides a much cheaper, DIY alternative.
This technology will prevent bicycle-related injuries and fatalities and that is
something that every rider should have access to.
7
Assumptions
The final product of this project is exposed and
vulnerable to weather and rough conditions.
Since this project is assumed to only be used at
night and on paved surfaces, I did not spend
any resources on making this project weather
proof, terrain proof, or aesthetically pleasing
(the wiring).
8
Proposed Solution
• Steps taken to solve the problem:
9
– Brainstorming
– Learning and Designing (Arduino coding)
– Writing Code
– Choosing and ordering parts
– Assembling hardware
– Installing hardware
– Testing code
– Rewriting code
– Future improvements
Brainstorming
I brainstormed the entire duration of the project
as I was faced with new challenges and
options:
• Platform – Arduino, Attiny 167, etc
• Road Bike vs new commuter bike
• Number of LEDs, colors, size of arc
• Which functions/variables to use in Arduino –
millis(), arrays, float, long, attachInterrupt
10
Learning and Designing
• I didn’t formally design any diagrams or schematics (except
some flow charts) for the purpose of aiding in the building of
the system, but I made some for the presentation.
• I had to learn a TON about Arduino to pull this project off. I
used the Arduino learning page and YouTube to do this.
• Majority of time spent researching the millis() function as that
is the primary function driving my project.
• I also researched a lot about arrays to shrink the size of my
code considerably.
11
12
14
Grand total of 200 lines of code
18
Writing Code
• I spent weeks pouring through the tutorials on Arduino’s main
page and watching YouTube videos.
• I had help from my friend Henry who is a software developer.
• Creating a flow chart was a huge help.
• Trial and error before installing the hardware – I plugged the
strands into a breadboard and watched the sequence of
lights.
• Testing the code that way was difficult because it was
impossible to tell if the arc was correct without the lights
spinning.
19
Choosing Parts
• Platform – I chose Arduino because it is cheap (although not
nearly as cheap as Attiny chips), very well
supported/documented, and I had one avilable.
• The LEDs that are used were chosen because I could buy
them in almost the exact quantity I needed, they were cheap,
and they are bright with a decent viewing angle.
• The hall effects sensor that is used was chosen because it
works exactly like a digital reed switch, making it simple and
cheap.
20
21
Assembling Hardware
• I spent a couple hours in the lab soldering all
of the LEDs, resistors, wires, and hall effects
sensors together.
• The LEDs are wired in parallel, 12 pairs in
white and 8 pairs in red, with one 620 ohm
limiting resistor per pair.
• I verified that each strand of hardware was
operational directly after soldering it together.
22
23
Installing Hardware
• To attach each strand to a spoke, I removed the spoke with a
special tool and slid the strand around it and reset the spoke.
• I used electrical tape to secure the strand to the spoke,
covering all exposed wiring.
• I tested each strand immediately for functionality after taping
it to the spoke.
• After all the strands were secured to the spokes, I zip-tied the
Arduino board as close to the center of the wheel as
possible.
24
25
26
27
Installing Hardware
• At this point, each strand had more than enough wire to
reach the appropriate pin on the Arduino.
• One at a time, I trimmed the positive wire of each strand to
an appropriate length and inserted it into the correct pin.
• For the negative wires of each strand, I bundled them
together, along with a wire grounded on the Arduino, and
soldered them all together to form a common ground.
• I zip-tied the battery pack to the spokes to the spokes to
provide power.
28
29
30
31
Testing Code
• I could not accurately test the interaction
between the sensor and my code until all of
the hardware was mounted on the wheel.
• To test my code, I would load it onto the
Arduino and manually spin the wheel and
observe the resulting LED sequence at
different speeds.
32
Rewriting Code
• Due to proper planning and sufficient time
invested in learning how to program the
Arduino, no code modifications were
necessary for the front wheel.
• However, once I realized the back wheel
could only use 8 LEDs, I had to edit the array,
the calRPM function, and the refreshLEDstate
function to get the arc working correctly.
33
Future Improvements
There is plenty of room for improvement on this
project, including:
• Shrinking the project by using a chip like the Attiny
167 to replace the Arduino.
• Weather proofing the project and making the wires
non-detachable.
• Decreasing the chance the LEDs become
disoriented.
• Improving the overall aesthetics.
34
35
Future Improvements
Some more additions I would like to eventually add to
this project:
• Solar powered or rechargeable
• Wireless programming or programming via mobile
(Android)
• Randomized stanbymode patterns
• Multi-color LEDs
• LEDs that respond to music
36
Implementation
• Getting the front wheel working was very straightforward and went
surprisingly smoothly.
• Approaching the back wheel with the assumptions that it was going to be
the same process as the front wheel was a mistake.
• The back wheel has 32 spokes whereas the front has 36, making it
impossible to have 12 evenly spaced strands.
• Because of this, I had to rewrite parts of the code to accommodate 8
strands.
• Also, since the front wheel’s arc was 4 LEDs (120 degrees) and the back
wheels was also 4 LEDs (180 degrees) I had to change the code for the
front wheel to make a 6 LED arc (180 degrees) to match.
37
Results
• The most important result is a fully functioning
Revolights™ clone using Arduino technology.
• This clone can also be reprogrammed by the
user to alter the light sequence to their desire, an
added functionality.
• The end result is cheap and DIY friendly, and
most importantly it can save lives and prevent
injuries.
38
Video
39
Conclusions
• This project was a ton of fun and I learned so
much from it, especially how to motivate and
educate myself.
• I fell in love with the simplicity and power of
Arduino, I am inspired to build many more
projects based on it.
• I feel like a badass riding this bike at night
now.
40
References
1.
Arduino - Learn the basics. (n.d.). Arduino - Learn the basics. Retrieved March 28, 2014, from
http://arduino.cc/en/Tutorial/HomePagehttp://arduino.cc/en/Tutorial/HomePage
Program an ATtiny with Arduino. (n.d.). Instructables.com. Retrieved March 28, 2014, from http://www.instructables.com/id/Program-an-ATtinywith-Arduino/
Revolights. (2013, July 22). YouTube. Retrieved March 28, 2014, from https://www.youtube.com/watch?v=yVjL6PN4_I4
bildr » A Strange Attraction. Various Hall Effect Sensors. (2011, April 5). bildr RSS. Retrieved March 28, 2014, from
http://bildr.org/2011/04/various-hall-effect-sensors/
Open Source Hardware Group. (2012, August 10). Tutorial 12: Blink an LED without using the delay() function: Arduino Course for Absolute
Beginners. YouTube. Retrieved April 20, 2014, from https://www.youtube.com/watch?v=y17QOtAVn_s
Ribaric, T., & Younker, J. (). Arduino-enabled Patron Interaction Counting. Code{4}lib
Ken. "ACS: Bike Commuting Continues to Rise | League of American Bicyclists." ACS: Bike Commuting Continues to Rise | League of American
Bicyclists. N.p., 25 Sept. 2013. Web. 2 May 2014. <http://bikeleague.org/content/acs-bike-commuting-continues-rise>.
2.
3.
4.
5.
6.
7.
41
Acknowledgements
•
•
•
•
•
•
Picture on Slide 1 - http://arduino.cc/en/Trademark/CommunityLogo
Video on Slide 4 - https://www.youtube.com/watch?v=-UvO3QITwkU
Picture on Slide 2 - http://www.freshnessmag.com/2013/04/08/revolights-x-mission-bicycle-company/
Picture on Slide 6 - http://gearjunkie.com/revolights-bike-lights
Hall effect sensor picture Slide 20 - http://octopart.com/oh090u-optek-800069
Picture on Slide 34 - http://atmelcorporation.wordpress.com/2014/04/11/digispark-goes-pro-attiny167-on-kickstarter-%E2%80%A8%E2%80%A8/
I would like to thank my friend Henry Abbey for his invaluable role in helping me with the programming. I would also like to thank Aaron Eastham for his
helpful support and encouragement through this project and his 9v battery pack he lent me.
Thanks to the team at Revolights™ for designing the original product, it is revolutionary and inspiring.
42
Download