Journal 5: Completing and sharing my own project

The maker culture and Arduino community embrace all open-source values and view openness and sharing as essential tools for progress. Sharing projects of all kinds is essential to the growth and sustainability of this community. Therefore, my goal for the final phase of my journey was to create a project of my own and make it available for anyone to access online.

I decided to use the last project that I completed (called Arduino Web Server LED Control from startingelectronics.org) as a starting point for this one. In this project, the Arduino and Ethernet Shield are used as a web server. Together they serve up a simple HTML page with a form that allows you to control an LED on the breadboard that is also powered by the Arduino.

I made the following modifications to this project.

Adding Styles

With my design background, I was interested in learning ways to add CSS to the web page. I learned how to add HTML and CSS files to the SD card as templates and also learned how to add styles directly to the Arduino sketch. I felt that this addition to the previous project could be very helpful for new developers who are not familiar with CSS. Styling is rarely addressed in tutorials that I have seen. The styling that I added is very minimal, but it gets newbies set up to easily add more if they would like.

Adding a second LED

To get more familiar with the code from the original project I decided to add a second LED to the breadboard and adjust the sketch accordingly. This required me to create a new LED variable, a new HTML form element, and define a new ProcessCheckbox function. After making these changes, we now have two checkboxes on the web page, which separately control the two LEDs on the breadboard.

Making a fixed IP address accessible to outside networks

Typically, when you reference the Arduino’s IP address we are just calling an internal address. This means that only devices connected to the same network will have access to the page. I started looking into fixed IP addresses and ways to access the web page outside of my local network. This requires messing with router configuration and by nature will be a different process for each person, therefore, I did not include this in my tutorial. I was, however, able to successfully get a fixed address set up for my device!

I found the following resources very helpful in getting that configured:

Sharing the final project

I made a tutorial for the final project and posted it on instructables.com. Instructables.com was one of the easiest sites to use and ended up being the quickest way to get a tutorial posted.

Below are screenshots of the set-up and a video of the final working product. Code and tutorial are available at https://www.instructables.com/id/Arduino-Web-Server-LEDs/

Figure 1. Arduino Circuit Set-Up

Figure 2. Screenshot of webpage served up by the Arduino

The Maker Mindset

I learned through this process that vulnerability often comes with the openness and sharing part of the maker culture. Posting my first tutorial was very scary for me, and if I had not set this requirement for myself early on I probably would not have done it. My project is quite simple, most likely not perfectly coded, and has very little real-world use as is. In the tech world that I am used to, posting something like this would immediately be criticized by other developers. However, I am slowly learning that every accomplishment is worth sharing. The act of sharing is an important part of the learning process. Makers are simultaneously playing the role of student and teacher. And I think that is one thing that makes this maker culture different than others that I have experienced in STEM.

While this project may seem quite minuscule to compared to other projects, I hope it can help a newbie like myself learn how to make adaptions to a beginner project. With each new post, I expect my confidence to grow. I also hope that this post can help others like me overcome their hesitation to share and celebrate their work, regardless of the complexity!

 


Sources

Hammel, B. (2008). Connecting Arduino: Programming And Networking With The Ethernet Shield. CreateSpace Publishing.

Startingelectronics. (2013). Arduino Web Server LED Control. Starting Electronics. Retrieved from https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/web-server-LED-control/

Save

Journal 4: Web Server LED Control Project

Successfully completing my first project from a member within the Arduino community!

One of my goals for this journey was to complete a project that was submitted by a member of the Arduino community. After my first failed attempt at completing the Arduino Powered Lucky Cat project, I took a step back and learned how to use the Ethernet Shield. In my second project search I was still interested in finding something related to web development (this time using the Ethernet Shield), but I also made sure to pay more attention to the skill level. The perfect project would also let me utilize some of the beginner knowledge that I had learned about circuits and breadboards.

Finding a beginner level project that used the Ethernet Shield was much harder than I had anticipated. After searching through my usual sites, a simple Google search lead me to a project on startingelectronics.org called Arduino Web Server LED Control.

In this project the Arduino and Ethernet Shield are used as a web server. Together they serve up a simple HTML page with a form that allows you to control an LED on the breadboard that is also powered by the Arduino.

This project ended up being a great success! The instructions on the site were thorough and easy for a beginner to follow. However, as I learned while setting the shield up, I had to call the Ethernet2 library in my sketch instead of the more popular Ethernet library.

Below are screenshots of the set-up and a video of the final working product.

 

Picture of Arduino circuit set up.

 

Screenshot of web page that the Arduino serves up.

 

 

Lessons Learned

Taking a step back after my first failed project was key to the success of this one. Rather than getting discouraged, I recognized that I was entering an area of the Arduino world that was completely foreign to me. While learning about circuits, the Arduino Project Book started by giving an overview of how circuits work in general, and then more advanced topics were slowly introduced as you progressed through the book. I took a similar approach for learning how to connect to the internet. I began by reviewing the basics of web servers, clients, and DNS, and then followed introductory tutorials with the Ethernet Shield before attempting the project described above.


Sources:

Startingelectronics. (2013). Arduino Web Server LED Control. Starting Electronics. Retrieved from https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/web-server-LED-control/

Save

Save

Save

Save

Save