From Idea to Real Prototype. Story of my High School 1st ~ 2nd Year. Hope you Enjoy!
Step 1: In February of 2016, I Entered HighSchool
Step 2: Then, I Noticed a Small Problem in Our Cafeteria
Step 3: Our Cafeteria Has 2 Big Zones. WAIT Zone and EAT Zone.
Step 4: But We Got Some Shady-Hierarchy Thing Going On...
Basically, if you are OLDER, you can Cut In The Line of other people.
Step 5: Every Single Lunch, and Even at Dinner, This Happens.
It's Actually Amazing to watch this in Person.
Not So Pleasant if you are HS1(1st grader in HighSchool).
Step 6: No Matter How Early They Come, HS1 Students Waste a Lot of Their Time Just Waiting...
Step 7: I Was Pissed at This Situation Very Much.
I was speaking in my mind to all those taking Advantage of this System like :
"Who the hell are you to snatch the line of early-comers, who gave you the right to do that? It's not even Right"
Step 8: But I Knew Cheaters Won't Change, So I Decided to Help the HS1-students.
I thought to myself, what if HS1-students can Know the Line-Length in Real Time ??
Then, wouldn't they be able to Decide for 'Themselves' whether to go or not?
Step 9: With My Idea in Reality, This Would Be the Decision-making Process of HS1-student.
They have Rational Decision-Making Process.
Step 10: Until Now, HS1-students' Thought Process Were This.
We knew we were under-dog, but didn't know how congested the Cafeteria Is.
So this is purely Irrational and Wish-For-Luck decision Making.
Step 11: It Was Time to Take an Action and Build My Idea Into Reality.
My Idea was this.
I will make
1) 5 individual 'FootPads' that can recognize if person is stepping on it or not.
2) 'Program' that can Read the 5 FootPad's status at 10[Hz], and Upload all the data gathered since last Upload in compressed form, and provide crude-estimation of Line-Length(Most Important) along with it.
Step 12: Making FootPad - Design
FootPad is simply a Switch. That connects 'Signal-Line' to GND if pressed.
I designed the size so that it is large enough to have high possibility of getting stood on,
but also small enough to Laser-Cut the Acryl-part with our School's Laser-Cutter.
Step 13: FootPad - Complete
CORK-peaces are there just for Cushion-Effect. Also for a friendly-look for Steppers.
It's really just a Switch. Simple as it can be.
Step 14: Micro Controller - the Schematic
All the INPUT from 5 individual FootPads were Pulled-HIGH by an External-Circuit. So if someone stepped on it, the Line will be shorted to GND.
Step 15: Micro Controller - Complete
I just soldered 5 '20K' Pull-UP resistors for each Port.
And since I was using 'Enamel-Wire', it was really handy to have 'Screwed-Port' style Input on PCB.
'WeMos D1 Mini' is used for simplified integration of Server-communication.
Step 16: The SoftWare
Software was pretty challenging because
1) It was my first time using ESP8266 and Server client library. [I had hard time connecting to the Server :)]
2) The Reason why I had 'Real-Time-Clock' was because I wanted this program to run 24/7, but Only Talk to the Server at 'Breakfast, Lunch, Dinner, Snack' time, and also Weekend and Weekday's schedule were different too. So I had to create "Scheduler" system, which I have never done before, for Absolute-Automation(if I died, the service would go on).
SOURCE_CODE : https://github.com/junwoo091400/MyCODES/tree/maste...
Step 17: Whole System in Action!
I used '(https://thingspeak.com/channels/346781)' for Server/graphing.
I was able to provide day-to-day, live Congestion-status data to my friends & HS1 students!
And when our school held a Speech-Contest, I went out and presented this system to all HS1 students so that they can utilize it to their own needs. (I will upload PPT I used for the contest)
During 1-month period of this system in Action, I could hear feedback on how to improve this system from many people, including my Friends, my Teachers, even our School's vice-Principal gave me some comments.
Also, for the Reason Why I did this Project, when an Actual Student came up to me and told me :
"I am using your service to determine whether to go to the Cafeteria or not - very usefully, thank you"
It felt so good, and I just couldn't believe that this was Really Happening.
Step 18: After 1-month of Getting Stepped-at.
All the Hardware Survived! Well, not in a good-condition though :)
Actually, one door that was frequently used by Cafeteria's cook Dragged the Power Supplying Line, and disconnected the DC connection to my Micro-controller & Bent the Wires. So I had to check on that every day.
Step 19: Data Manipulation With Python.
After collecting all the Data, I could use Python-program to plot those more accurately. Just like those 5 graphs indicating the past record of 'Line-Length' data shown to students.
And it is pretty interesting that on Weekdays, 12:25 PM congestion is consistent, and on Weekend, only at the beginning is where the congestion happens, mostly because students are doing their own private-work, so they are more dissipated.
I am uploading One-Month worth of data in csv file format. Straight from the Server. Even though I am not working on it right now, but if anyone is interested in graphing & analyzing this data, (of course you'll have to look at Micro controller Code First to understand Compression technique) it would be Amazing.
Step 20: Future Applications, Why I Am Uploading This to Instructables.
Even though current system that I've built is pretty Prototype-Looking, I think that with decent tool(which I didn't have in School) or funding, the Pads can be made into neatly-shaped Rubber-Pads.
And this system can be applied to almost anywhere 'Line-Length' information is Valuable / Useful.
I am only providing the way I've done it, and why. And the results, Source Code. To Show that this actually works. I don't think my FootPads were designed very well, I used a lot of Tape, and Enamel-Wire were very hard to protect, eventually the Tape-protection got ripped off, and the wire was exposed.
But I think this system has potential for wider-use.
Not to mention the current situation is Korea's High School. As I learned from our school's Nutritionist, in Normal-School (our school is small-group of Science-oriented School), because we don't pack a lunch to the School, they Wait in a line with length over 30[m] just because of shear number of students in One School. So with this system, with tweaked design and software, each School can have the System that allows students to stay in their classes until their turn comes, then they can go to the cafeteria, without Waiting in the Line!
I actually presented my Idea to Korea Ministry of Education, after getting selected as a best Idea on their recent contest in 2017.
I hope this Instructables gave you an Inspiration to do something useful for people around you! This wasn't really build-centered article, but I would answer your question about more detailed info if you are interested!
Thank you so much for reading my first Instructable!
Participated in the
Arduino Contest 2017