As there is a story behind every project I have, as the one that started the whole programming thing inside of me started with this one, it got me into the idea of chasing my dream (that I realized it was later) of studying computer science. For being someone who likes to explain things in a story, here is how this cyclone project started.
I spent most of these nights during my exams, especially at the end of the third semester, while I should have been studying for my exam. I spent most of these nights on youtube before going to sleep and watching some random stuff until I fell dead on the bed to lose my worry for the exam. I had this YouTuber who was my idol in programming then (still until now), who is Jabril. The way that he laid out the process of making the project in the video, got me hooked on his channel on these nights, hoping that I would do something similar to it. Until I came across this video, I made my first robot and I was like shhhhhhh ╭( ๐_๐)╮, this man already made an AI game and is going to make a robot about it. It feels like SkyNet is approaching us.
#Motivation
I opened the video thinking that I would find some sort of image recognition implemented using OpenCV, but i found that it is a game (not gonna lie it is more interesting with the game). He walked through step by step on how he bought the components, from where, connecting them, and the coding, with the inspiration that made him do such a project. Taken from an old arcade game that goes with the same name. The idea is that the light goes on a circle of leds and you have to press the button when the light reaches the led on your side. The first player to reach 5 points is the winner ╰(▔∀▔)╯ . As he was saying the whole process, he mentioned that one of the parts that stuck with him the most was connecting. I was like pfff, that $hit's got nothing on me. I'm already studying telecommunication engineering with an A+ in circuit class, this is going to be easy, but man, it wasn't.
#Getting to it
To know about his project, he used Raspberry Pi programmed in Python as the core for it, when i looked for the price, it wasn't that good for someone hobbyist ($65) so I went for another micro controller, Arduino, fortunately is programmed in C++ which was already the main language in the university, I want to the store and told the man about the whole story and showed him the final product I wanted to do. He told me about the starting kit and gave me a discount (not that I was making a deal by coming every week).
Now that I have the component, there is a difference between using C++ to make output on screen and actually controlling hardware.
#Serial.begin (9600)
OoOoO, Let's say that not everything that you learn in the uni you will use in real life. I found a book in Arabic about how to control leds and get readings from different sensors (the man in the shop told me about it), but I had a simple idea without sensors, just 10 leds with a button on each side and a switch to turn them on and off. I got the gadget from my dad's old rack, and he was happy about it. Seeing his first son following his path and doing the same things as he used to be. The last time I saw him happy this much was when I was leaving the house to study abroad ◉‿◉, started peeling out the wires and getting the read of led, then making an interval with it, then making light go in a row between 3 leds, but it wasn't that easy to say. It took me around 1 week that I was supposed to be studying for my exams in it. Watching the video for reference of how to make the button get the reading at the exact moment the led on its side is blinking on, was hard to approach as I couldn't make the light move and at the same time check for the reading (there isn't multi-threading in Arduino (¬_¬)).
#Who is there? -Exams
Realizing that I have exams and I will get low grades was a bummer, so the project was on hold for some time until the winter break comes. The freedom soul is out and is really really excited to ..... watch series the whole day ofc and play playstation, needed a face slap to go back into reality and give the project another go. I reached my teacher at the circuit class and told him about my problem (shout out to Khaled ElGayar) and he sent me the code after solving the whole problem. What was left was to wrap everything up in the wires and get a good look for this monster of 20+ wires and a 9V battery.
Wrapping had to be creative because I needed to find a box that would fit all the components with the capability of changing batteries, so it won't be permanently closed/glued, found a sweet box (that one that your mom puts sewing stuff in), bought dark blue spray, wax glue gun and a soldering machine to make holes in the box for components.
I painted the box first, then went for the holes and used the glue gun to stick the component on inside the box. I left it to dry after each step, and voila, it was ready to go.
#Test drive
The moment of reveal, I went to play it with my family and showed them my "first robot". Also, no one beated me in it ofc ᕙ(‾̀◡‾́)ᕗ (testing is good), When the semester started, I took it to the uni, felt like a soldier going back with his loot and showing what he got. I played with my friends and we had a competition over a small sweet (one of them could beat me). Before over thinking, like man, the game is predictable, once you start, you have a specific interval to click on the button, you can win without even looking at the board, but the game had an anti-cheat, it wouldn't add points to you if you kept the button pressed down.
Showed it to the teacher, and he said that I could participate in the uni's science fair and that it would be a good addition, but this was my last semester at the uni before moving to another one on another continent. Couldn't leave it without showing it to Jabril. I tweeted about it with the hope that I would at least get a like from him. I got more than 80 likes and tweets from other people suggesting changes to it. One even asked me how I did it (hold on to this for a moment). I was on my way back the same day from uni when I got "the notification". The one I had been waiting for, Jabril liked and retweeted it.
#Aiming higher
The reply I got on my tweet made me think of a bigger way to share what I have done, as I couldn't find that many sources to do it. I found that the best way was on Instructables and I made a whole walkthrough step-by-step about the component and the connection on Tinkercad for an easier way of connection. I left it for a day or two and came back to see it featured on the electronics page of instractable with +1.2k viewers and more than 5 people did it and sent me their project. Isn't this enough to put a smile on your face?
Took me one month to do this project. It was a first approach for me and I made a tutorial about it, that people already started making their own versions of it. I didn't think that I'm capable of sharing the knowledge that i have with other people, not to mention finishing the project it self (❛ᴗ❛).
Maybe if I hadn't watched Jabril's video or if my teacher hadn't helped me, I may not have finished this project. I would like to thank each one of them, and ofc me for not procrastinating.
p.s: Jabril posted a story about the project on Instagram about 3 days ago. "only old subscribers will remember this project" told him about it, and he still remember it ( ◡‿◡ ), got filled up to start writing this whole story again.