Only Getting Started and Already Having Problems
The most important breakthrough I had throughout all this time was finally choosing where I wanted to focus my attention. I was split between choosing an Arduino project to complete or creating my own application. After a lot of thinking and consulting with Mr. Shappel I was able to make my decision, which ended up being an Arduino project. Now I am in the process of learning how to code an Arduino. This has lead me to multiple different sources that all teach beginners how to make an Arduino. The most helpful, in my opinion out of all of the sources is this Youtube series by Programming Electronics Academy. In the videos he explains everything from the very beginning and in a clear and simple format. In fact, the youtube videos are so beginner friendly that in the first video he simply goes over what the Arduino is, what it is composed of, and what it's potentially capable of. This helped me better understand what (the Arduino) I was working with and made me more comfortable with making an amazing product. Going even further the tutorial series only began to work actual projects after the 5th video. Until then all the Videos would teach would be things like the syntax of Arduino and the explanation of what variables were and their importance when coding.
While working on one of the Arduino projects that the tutorial series would offer I began to encounter a really weird outcome. The point of the code was to get an LED light to light up when you were pressing a button and turn off after you let go of it. However, I would notice that sometimes when I pressed the button the LED wouldn't turn on, and that other times the light would remain on for a while after I let go of the button. Sadly, the video didn't cover this possible problem and it lead me to question what should I do now. Initially, I tried to read over the code to make sure everything was the same as they had shown on the video. Then I tried checking the wiring of the circuit to see if perhaps I had misconnected something. As hard as I would try to solve the problem I ended up with no solution. Eventually, this lead to me naturally asking for help. Mr. Shappel and his son were then able to lead me on the right path by troubleshooting my problem. They told me that I was encountering a common problem called debouncing. This is when you press a button and then button then sends many small electrical currents to the Arduino and since the Arduino can read all these small currents it leads to codes not working as initially intended. I then searched up how to solve debouncing issue on Google, exposing me to the official website (https://www.arduino.cc/) of Arduino and their code and explanation of how the code works. It was a huge relief to know that the problem I was facing was not caused by my own clumsiness and that there was a solution to my problem.
This experience with debouncing has truly helped learn more about how not only the Arduino works but also how the real world works. It has reinforced the idea that the real world does not always work as you plan it to. Despite having everything perfectly aligned on paper or in this case, code; there is always the ability for things to go sideways. Learning this and truly acknowledging this truth will help me greatly through out my project. It only the beginning and I am already encountering some problems with simple projects, so who is to say that there won't be more problems and that they will only get more complex. During these couple of weeks I would say that I have been able to develop my persistence and researching skills. I have not only amplified the sources I can refer to when I need to learn more about the Arduino but I have also proved my self as persistent by continuously trying to find the solution of my debouncing problems even after previous demoralizing failed attempts. Despite these accomplishments I would like to troubleshoot future problems I encounter by myself if possible. I greatly appreciate all outside help but if I can start troubleshooting problems by myself I would feel like I am more independent.
Debouncing will help me a lot in future projects especially those that would involve buttons. I hope I can use this newly gained knowledge to further my final project. Now that I feel more comfortable with debouncing I will continue watching the rest of the Youtube tutorial and hopefully move on to more complex projects.
While working on one of the Arduino projects that the tutorial series would offer I began to encounter a really weird outcome. The point of the code was to get an LED light to light up when you were pressing a button and turn off after you let go of it. However, I would notice that sometimes when I pressed the button the LED wouldn't turn on, and that other times the light would remain on for a while after I let go of the button. Sadly, the video didn't cover this possible problem and it lead me to question what should I do now. Initially, I tried to read over the code to make sure everything was the same as they had shown on the video. Then I tried checking the wiring of the circuit to see if perhaps I had misconnected something. As hard as I would try to solve the problem I ended up with no solution. Eventually, this lead to me naturally asking for help. Mr. Shappel and his son were then able to lead me on the right path by troubleshooting my problem. They told me that I was encountering a common problem called debouncing. This is when you press a button and then button then sends many small electrical currents to the Arduino and since the Arduino can read all these small currents it leads to codes not working as initially intended. I then searched up how to solve debouncing issue on Google, exposing me to the official website (https://www.arduino.cc/) of Arduino and their code and explanation of how the code works. It was a huge relief to know that the problem I was facing was not caused by my own clumsiness and that there was a solution to my problem.
This experience with debouncing has truly helped learn more about how not only the Arduino works but also how the real world works. It has reinforced the idea that the real world does not always work as you plan it to. Despite having everything perfectly aligned on paper or in this case, code; there is always the ability for things to go sideways. Learning this and truly acknowledging this truth will help me greatly through out my project. It only the beginning and I am already encountering some problems with simple projects, so who is to say that there won't be more problems and that they will only get more complex. During these couple of weeks I would say that I have been able to develop my persistence and researching skills. I have not only amplified the sources I can refer to when I need to learn more about the Arduino but I have also proved my self as persistent by continuously trying to find the solution of my debouncing problems even after previous demoralizing failed attempts. Despite these accomplishments I would like to troubleshoot future problems I encounter by myself if possible. I greatly appreciate all outside help but if I can start troubleshooting problems by myself I would feel like I am more independent.
Debouncing will help me a lot in future projects especially those that would involve buttons. I hope I can use this newly gained knowledge to further my final project. Now that I feel more comfortable with debouncing I will continue watching the rest of the Youtube tutorial and hopefully move on to more complex projects.
Comments
Post a Comment