Robothon by Electronix ENSTABC is a 24h long event held within the walls of ENSTA Borj Cedria (ENSTABC) as a fast-paced introduction to the world of robotics.
During Robothon, the attendees go through a series of workshops (4-5) that cover all aspects of robotics, in a hands-on manner, and to make all what they learned stick, a competition between all attending teams is held for the last 5-6 hours of the event so that they can experience real life collaborative problem-solving when working towards a set goal.
Robothon, in bullet points:
- Registration opens and individuals book their places
- Teams are formed by the organizing team (randomly split)
- The day of the event, each team get their components that they'll use all along the event, and go through the workshops together
- After the last workshop, the specifications doc for the competition is presented to them, and it's ON, which'll then continue for the next 5-6 hours
- As the competition ends, all teams compete with their robots (and their newly acquired skills)
- Another successful Robothon, CHECK.
The content of this repo doesn't belong to me(Rad-hi) only, instead it's a cumulative effort by the good people of Electronix ENSTABC, who wanted an effective and efficient way to deliver knowledge, each year, to the new-comers of our school.
The first step in your journey with robotics is to install the Arduino IDE(Integrated Development Environment) which is the FREE & open-source tool that we'll use to create all kinds of impressive and cool stuff (mainly robots).
Go to this website https://www.arduino.cc/en/software, and download the Arduino IDE.
Congrats! now you're all ready to tackle robothon's workshops!
You can go through all workshops with only an Arduino board while "seeing" what it's doing through what it's a printing on the screen (serial monitor tool in the Arduino IDE), but that's not as fun as physically seeing your circuit in action, still you can pick just what you need for each workshop as you progress through this series.
- 1x Arduino development board, our choice is: Arduino Uno (We listed the original, but since its desgin is open-source, there are cheaper clones), WITH A USB A-B CABLE TO PROGRAM IT !
- 1x Ultrasonic sensor: HC-SR04, pictures
- 1x 2 Wheels robot chassis Kit, pictures
- 1x Motor driver, pictures
- 1x Bluetooth module: HC-05, pictures
- 3x Black & White IR sensors, pictures
- A couple of LEDs with the same number of Resistors (200 to 1K Ohm)
- A bunch of hook-up wires (male-female ones)
- Maybe a breadboard
Requirements: An Arduino board, and an LED+Resistor
The first hands-on workshop is meant to be an introduction to the Arduino development environment, Arduino community, Arduino microcontrollers, and Arduino's place in the embedded world.
The hello world for the embedded systems field is the Blink project, this is the first time you'll be controlling a physical LED with code. Once you go through it, you're an embedded engineer, or at least, a little bit closer to becoming one!
(Well, what you did is huge! In fact, you wrote text on a computer that understood what you meant with that text and translated it into a bunch of instructions, which when run inside the other smaller computer (Arduino), will control it in a way that it(Arduino) would understand and control electrical signals in a way that would allow electrons to run through a PN junction(LED) that's light emitting in nature, and result in you seeing visible light, and all this is being precisely timed ... see how fascinating what you just did was!?)
Requirements: An Arduino board, an H-Bridge (L298N), and at least a motor
The second practical workshop is meant to be an introduction to actuators (mainly motors), and how can we control them. A big part of this workshop is talking about the theory of H-bridges and how they allow us to control motors to turn in any direction. Additionally, we'll discuss the difference between speed and torque and its relation to current consumption. Furthermore, We'll control a motor (then two) with what we learned about Arduino and H-bridges, and finally we'll talk about Pusle Width Modulation (PWM) and we'll control the speed of the motor using what we learned about Arduino and PWM.
Requirements: An Arduino board, and at least one of the two sensors we mentioned (Ultrasonic and/or IR)
So, we learned how to code Arduino boards, how to control motors (actuators) with Arduino code, and we can build a moving robot, but our robot won't be able to perceive anything about its environment !
For that, the third workshop covers sensors, what they are, how do they work, and where are they used. After a general discussion, we focus on two types of sensors,
1) active IR (InfraRed) sensors for line following robots (Black & White distinction through their natural difference in reflectivity), and how can we program simple line following robots,
2) Ultrasonic sensors for distance measuring robots (obstacle avoidance).
Requirements: An Arduino board, Bluetooth transceiver, and a phone with a remote-car application
We've come a long way, didn't we !?
As we reach the fourth workshop, we look back and notice that we learned a great deal of information! What are embedded systems? How do they operate? What's Arduino? What's a microcontroller? What are sensors? ...
Now we can build robots that move around, make actions (actuate), preceive their environment and try to quantify its state in order to infere a decision, and behave autonomously overall. Now, we're gonna build an RC(remotely controlled) robot! So, in this workshop, we'll learn about communication protocols, mainly the serial communication protocol and Bluetooth, and we'll build our own RC robot!
Congrats, you now have the knowledge, experience, and the required tools to build almost any hobbiest's project you might encounter on the internet or envision yourself.
For any additional information, visit this website, or this website.
Books suggestions:
- Making Embedded Systems
- Efficient C Code for Eight-Bit MCUs(PDF), Efficient C Code for Eight-Bit MCUs(blog post)
- The Art of Electronics
- The ANSI C programming language
Good luck with your embedded/robotics journey !