Getting control of your home environment is much easier when you can use certain handy devices to monitor conditions and make necessary adjustments. We now take intelligent thermostats and smoke detectors for granted but, with so many intelligent appliances available off the shelf, we have an embarrassment of riches. The ease with which we can make custom devices, that don’t fit within the category of popular demand, is also on the increase.
Joining the maker revolution has a low threshold. And once you get in, you may be surprised at just how inexpensive it is to build a simple appliance from scratch. The most popular microcontroller is the Arduino UNO. It is open source, which means there’s plenty of competition to keep prices low. It also excites the user base in ways that insure there is lots of support coming in from all directions. This includes hardware from different manufacturers together with lots of freely available software.
While learning to program electronics gives you the ability to do really cool things, you can get started by cutting and pasting code that has already been developed by others. The Arduino system consists of a small electronically populated board, commonly referred to as a microcontroller, and software called the IDE which stands for integrated development environment. The IDE makes it possible to develop the routines on your laptop or desktop computer and then upload the experimental or finished code to the microcontroller.
The IDE software allows you to write what are called sketches in the Arduino language. This language is common for different Arduino boards. There are a variety of tutorials and projects that are available pre-coded so you can learn how to build applications. Accordingly, beginners can get up and running quickly. Much of the functionality of a microcontroller, such as each of the Arduinos, is hard coded or physically pre-programmed into the circuitry. The Arduino UNO and the smaller Nano connect to your computer with a USB cable. Once the sketched out code is uploaded from your computer to the micro-controller, the controller can then be un-tethered and work in a stand-a-lone fashion.
You can use an Arduino Uno board for digital input devices such as sensors and Arduino shields that get physically mounted to the main board. The original Uno has 14 digital and 6 analog pins, which can be used for input and output and to interact with the software through the functions PinMode, DigitalWrite and DigitalRead. The digital pins allow the Arduino to read digital inputs such as buttons, effect things through digital outputs such as by turning on LEDs. Any of the 14 digital pins on the board can be used to read data from components such as sensors and also write data to other components such as actuators.
With the command PinMode, we can define functions for each of the 20 pins. In this way the pins can be used for many different applications. For digital input devices, such as sensors and Arduino shields, the signal at the pin is presented and read in the form of 0s and 1s. When used with analog devices, the pins can register a range of values that are also defined, interpreted, and acted upon by the uploaded code. As soon as the program is loaded onto the Arduino board, its LED circuit flashes. The TX indicator LEDs on the board also give us a nice visual indication that the Arduino is receiving and sending data when we load a new program.
There are several ground pins labeled GND that can be used to provide a common ground for your circuit. Many “pre-printed” circuits are available in the form of special purpose shields that mount onto the main board and provide convenient ways to use sensors and actuators in a plug-and-play fashion. The Arduino board, in combination with various shields, can read various inputs such as keystrokes, sensor lights, and even Twitter messages. Shields are available for WiFi and other forms of network connectivity.They also provide display capabilities and fulfill other functions.
Most Arduino enthusiasts use it to read analog sensors and, perhaps, log the data. It is however, capable of so much more. For example you could monitor the chemical balance of the water in your aquarium and use injectors to help maintain an optimal environment for your fish. Extend this function and you can build an aquaponics greenhouse where the aquarium water also serves as the nutrient reservoir for your plants while you also control the air envelope. The potential for creativity is unlimited. And, for anyone living on the canvas, the value of such specialized digital assistants quickly becomes clear.
Making things gives us great personal satisfaction. And, once you know what you can do with an Arduino style microcontroller, it is time to start the journey into the limitless world of complementary electronic components. Think of the Arduino Sketch as a reminder that humanity’s masterpiece continues to take form. Explore the capabilities of sensor shields and actuators and let your imagination run wild.