Guide de démarrage
Cette page est l’avant-propos du Guide de Démarrage.
Welcome to the CRCLib Wiki! Although the goal here is not to teach how to program (there's a lot of online ressources on that), we will sprinkle these pages with tips and tricks on how to make it easier to program the CrcDuino robot controller.
Do not hesitate to write us with suggestions and comments. We are always looking to improve! Reach us at info.crc@sciencetech.ca .
Why program?
Most people see programming as a job, a straight up hassle and/or as a complicated, abstract thing only wizards can learn and approach, but guess what!
In fact, when all the funky stuff around it is removed, programming is just a tool in a problem solving toolbox!
The fundamental thing we're doing here is not programming a robot, it's solving a problem.
The backbone of the challenge CRC Robotics throws at its participants is simply playing a game with a certain set of rules, which are in fact constraints you need to work with. One of these rules is that it’s required for participants to have a machine that plays the game for them. They need a way to control what their machine is doing on the field, so that's where the robot control board, or controller, comes into play.
Programming is simply the act of writing a set of instructions in a certain way so that the controller (and, by extend, the robot) knows what to do (control outputs like servos or motor controller) in a certain situation (dictated by the state of inputs, like a joystick's position or a sensor's state). Programming the controller is nothing more than a way to solve that challenge of playing the game we have so much fun designing year after year!
Learning how to program might be an intimidating task, but just like when facing every problem these easy steps are the pre-requesite for success:
Take a deep breath, and ask yourself what is the ultimate goal, what it is you're trying to achieve;
Subdivide this big goal in a series of smaller, easier to attainable goals you can work on one after the other;
Take a single of these small problem, solve it, and move on to the next one, always building from the previous one.
Yes, it's cliché. Yes, that's what your parents always tell you when you're struggling on an homework. Yes, that's what you teachers always tell you before an exam. But maybe there's a reason why...
The small problems are to be attacked one after the other, logically. A machine acts sequentially, interpreting the lines of code one after the other in a logical, predictable manner. Do the same, and things will be much easier. Learning to understand how a computer, or microcontroller, works and "thinks" is a powerful way for you to better understand the world around you, and we hope that this Wiki helps you in your journey!