With the school year already in full swing, there is one class which has drawn my time and attention 120%: mechatronics. This semester I had a few gaps to fill credit-wise since I’m ahead of the mechanical engineering curriculum. Having always had an interest in circuitry, microcontrollers and programming, I decided to sign up for the graduate mechatronics class. The idea of being a junior in a graduate class is pretty scary, but I thought I had enough experience with microcontrollers to be okay with the class difficulty level. However, I was in for quite a surprise as the first project’s deadline loomed.
The mechatronics class is required for graduate students seeking an M.S. in Mechanical Engineering. The goal of the class is for students to understand the methods of using microcontrollers with various programming platforms in order to control different types for mechanical or electrical systems. Basically, the class that lets you play with cool electronic stuff. Throughout the semester, we program microcontrollers such as Arduinos, Raspberry Pis and xPC Target platforms. It’s a really cool hands-on way to learn the different concepts of interacting software to hardware, control systems and various other skills which are very useful in the field of mechanical engineering.
I have had a bit of experience (gained from working in the lab and as a hobby) programming in C++ while working with Arduinos, Raspberry Pis and a few other microcontrollers. So naturally, I thought I would have a decent grasp the projects we would have to make. This class wouldn’t be too bad I thought.
What took by surprise the most was how we were going to be doing the actual programming. Yes, we were using an Arduino, but we weren’t using the Arduino platform in C++ program. Instead, we used Atmel Studios to program directly to the ATMel microchip on the Arduino itself. The platform was in C, not C++, and though they are similar, I still had to go through the paces of learning all of the differences. Those changes included bit shifting, addressing registers and implementing interrupts. It was a whole array of brand new concepts in the electronic world for me.
Our first assignment was to create a stop watch with an LED seven segment display and a button that could start, stop and reset it. It sounds way easier than it actually is. Trust me. A ton of complications came up regarding how to display different numbers simultaneously and how to ground each digit individually. After much frustration and a ton of coffee, I persevered and even finished the project early!
Apart from all the technical stuff, what I really learned in this class is just how stubborn I am (which in this case, was a good thing). I could have easily just shrugged my shoulders, said “Oh, I don’t need to take this class so why don’t I just give up and drop it?” But instead, my stubborn self kept pushing and pushing past every brick wall I came upon and I finally met my goal. I also learned that I have way too much personal pride to quit on a goal that I originally set myself for. And I got all of that just from a terrible little stop watch! So, have you ever been in a similar situation where you’re just too stubborn to quit no matter what? I’d love to hear about it.