Introduction to Arduino: Circuitry, Lights, and Code
Working Through Beginner Projects
The Arduino Starter Kit is a perfect way for beginners to learn more about circuitry, physical prototyping, and coding language. It contains all the materials needed to start prototyping as well as a book of projects that guides you through the processes step-by-step and provides in-depth explanations about the purpose of different parts, why a specific line of code is needed, and the importance of building a complete circuit, just to name a few.
The first few projects were relatively simple in both the actual circuitry and code and gradually increased in difficulty as I furthered my journey into Arduino. The first project I undertook didn’t require code at all but was just an introduction on working on a breadboard and making complete circuits using LED lights. It helped me attain a better understanding of how power flows through an entire system and the general way most inputs and outputs are connected to the Arduino board. It also gave me practice working with incredibly tiny wires and electronic pieces.
The next two projects were similar with how they both involved using sensors to make LEDs light up. The first project involved using a switch and every time the button was pressed, it would change which LEDs lights were on and off. After changing the code slightly, I was also able to make it so that after pressing the switch, the lights would eventually turn back to the original state after a set amount of time.
The second project used a temperature sensor to make several LEDs turn on. This project was a bit more complicated as you had to determine which temperature would cause the LEDs turn on and convey that in your code. Depending on how much the temperature was above the set baseline would determine how many LEDs would turn on.
The last project in this series was the most complicated and most intensive out of the four. The LED involved was different compared to the previous projects as it was a color mixing lamp that took data from the sensors it was connected with to change the color of the lamp depending on the different primary colors it detected. The Ardunio program also gave the data of the light sensors in real time on the computer so you can observe how the numbers changed as the sensors picked of different amounts of lights.
Difficulties with Coding
The biggest difficulty throughout the projects was definitely writing the code. As someone who doesn’t have much experience yet with Computer Science, understanding why the code works and how it programs the Arduino to do specific functions was mystifying at times. Arduino software uses their own language but it’s primarily based off of C/C++ functions. I would say that after undertaking the projects, I understand why the code works and its function but with my current skill level, it would be difficult to write my own code from scratch or without some sort of guide.
Though it was frustrating to realize this, it’s given me an important opportunity to be motivated to really learn the basics of code on my own as I continue with my endeavors with Arduino. The entire experience will be enriched by having a more in depth understanding of all the different components involved in that project and the end result will be much more polished and refined.
I think that in the future, after gaining the computer science knowledge I currently lack, it would be a good idea to go back in to these projects and review the code I’ve made to see if my understanding of it has increased. It’s also a good chance to take the time and re-write the code from scratch without following the guide to see if I could reach the desired end results by myself.
What To Work On Next
The next step I will be taking will definitely looking up and learning the C++ programming language. While these few beginning projects were forgiving enough for me to complete easily, it’s in my best interest to put in effort in to really understanding why the project functions the way it does. It’s a valuable skill to have for future endeavors and it would only enrich my understanding of future projects.
I also want to continue on the project book and work on the next few projects. The first few beginning projects were similar to each other as most systems involved LEDs and some sort of sensor. There’s a lot of other components in the kit I haven’t worked with yet such as a servo motor and a crystal LED display that would be very fun to work with and I can’t wait to experiment with that.
After spending the past two weeks making my way through my introduction to Arduino, it’s left me with a sense of excitement for where my exploration will take me. Besides the Device Prototyping sprint during HCDE 210, I haven’t had much experience with the tactile electronic prototyping and I was surprised to see how much I enjoyed it. Figuring out how to successfully complete a circuit and how to connect different inputs and outputs was incredibly rewarding and I felt very proud of my work once I was finished. In all, I’m excited to see what my future endeavors in Arduino will lead to.