Everyday you interact with microcontrollers and you probably don’t even realize it. They do all the mundane tasks for us. They live in everything from your coffee maker to sensors in your car. Microcontrollers are small computer processors that normally don’t run any type of operating system, only the code for the task you want them to do. They often have speeds in the 10Mhz range compared to the 2Ghz range that we see on computers, and memory in the KB range instead of GB. For many programmers its a shock to go down to such a simple and small environment. Arduino is just one brand of microcontroller that has a growing hobbyist following. They are simple, cheap and have a USB programmer built into them compared to other microcontrollers that need $1000 chip programmers and special compilers. Also Arduinos have lots of open source code available that will do almost exactly what you want, or is a great jumping off point to expand. Arduino have a growing product line but is microscopic compared to the full PIC or AVR microcontroller product lines which have thousands of chips that are not 100% compatible between chips. Once a year the company that makes Arduino microcontroller has a global awareness day called Arduino Day. Its purpose is to take a day to share projects, stories and get new people involved with electronics. Pixo explores and encourages our entire staff to learn new skills. So this year we felt that Arduino Day would be a great way to give our developers, designers, project managers and administrative staff a chance to play around with some awesome Arduino projects. We created the starter code for these projects and let them expand it.
“Who knew that combining hardware and software can be so much fun! We should definitely do more days like this.” – Carmel Segal, Quality Assurance
When you go to sporting events, you probably are familiar with the large video screens that have text and graphics. The technology behind them is referred as matrix or row scanning LEDs. Since most microcontrollers have a limited number of pins to connect devices, this method allows you to connect more devices on fewer pins.
While the end result of the display looks like each LED is connected to its own pin, it actually scans through each LED on each row and on each column. The anode or positive side of the LEDs are connected to every LED in that column. Then the cathodes or negative side of the LEDS are connected to every LED in that row. The Arduino code first sets up the cathode pins to be HIGH and the anode pins to be LOW. Then the first for-loop sets the first cathode pin to LOW and runs a second for-loop walking through each anode pin. At the end of this loop, the cathode is turned back to HIGH and the outer loop ends. This is repeated until the entire matrix is processed.
“Thanks for facilitating such cool things. It’s great to have these sort of experiences in the workplace.” – Pat East, Customer Support
This projects combines a 3D printing element and an Arduino side. The plotclock is a free design that you can download from Thingiverse and print the pieces yourself. Then just add three micro servos, one dry erase marker and an Arduino to start drawing time. The clock takes the dry erase marker and then writes out the current time once a minute. (check this video out of it in action)
“It’s thrilling to watch Pixo staff be so creative and supportive of each other about exploring and learning new things” – Wes Cravens, Director of Technology
Home Automation Power Relay
A really useful application of microcontrollers is for Home Automation. This allows computer programs to turn on, off, or dim any electrical item in your house from lights to fans to motorized windows, blinds, shades, locks and more. The challenge here is that you have a low voltage DC powered device that needs to control high voltage AC devices. You have two routes to go – use a Relay which is a low voltage electromagnetic switch that can turn on high voltage loads or use a Triac that can turn on, off or dim a high voltage AC through a semiconductor gate. For simplicity we went with relays.