Throw out your breadboard!  Dr. Duino: An Arduino Shield for debugging and developing Arduino projects

Throw out your breadboard! Dr. Duino: An Arduino Shield for debugging and developing Arduino projects

In the last couple of episodes we have talked about Arduino shields and breakout boards. In this video, we will review a specific Arduino shield that makes developing projects and debugging sketches on the Arduino extremely easy - it's called Dr. Duino.Arduino Shield for Arduino Shields

The Dr. Duino is an Arduino Shield. As would expect, it fits snuggly on top of the Arduino headers and has pin headers of it's own, which can easily accept a shield on top.

The first thing you notice about Dr. Duino is that it's built like a doughnut - it's got a giant hole in the middle! (FYI - It does not taste like said pastry…)

There are a couple reasons for this form factor, but foremost is that even after you stack another shield on top of Dr. Duino, you still have easy physical access to all its resources.

Dr. Duino Hardware Resources

What resources are we talking about? Dr. Duino has 4 momentary pushbuttons, 5 LEDs, 6 potentiometers, an RS232 connector, and a bunch of access points for 5 volts, 3.3 volts and ground, oh yeah, and a siren (piezo buzzer).

So how do you access these resources and why would you even care to? Both great questions!

The core feature that allows us to use all the hardware I just talked about are groups of three "jumper" pins that surround the board.

Almost every pin on the Arduino is associated with a set of these jumper pins. The middle pin is connected directly to the Arduino pin.

The pin on the left is connected to the pin header on top of the Dr. Duino. The pin on the right is connected to the one of the hardware resources on the Dr. Duino board.

With each set of these three jumper pins we get a plastic encased "jumper" - it fits snug on top 2 pins, and electrically connects them together.

For every Arduino pin that has associated Dr. Duino jumper pins we have 2 decisions:

1) We can route the Arduino pin to the shield above by connecting the center pin to the jumper pin on the left. This passes the Arduino pin directly up to the shield if you have one attached, bypassing the Dr. Duino.

2) Or, we can route the Arduino pin to the resource on the Dr. Duino shield, bypassing the shield above. Each pin has a different "resource" or piece of hardware that you can use.

Here is a quick mnemonic for remembering how to place the "jumper" on the "jumper pins" – Left goes Up (to the shield above), Right goes to Down (to the Dr. Duino).

Digital pins 5, 6, 10, 11, and 13 have LEDs attached. Digital Pins 7, 8, 9 and 12 have momentary pushbuttons attached. Analog pins A0 - A5 have potentiometers attached and digital pin 3 is attached to the piezo buzzer.

All these asset are extremely helpful.

For example, let's say I am prototyping with a motor shield. What I want is for every time I press a button, then a servo moves 180 degrees. Instead of having to bust out a breadboard and jumper wires, I simply move a jumper on the Dr. Duino and I now have a preinstalled button. As long as the shield is not using that pin for anything, it's fair game to route that pin to the Dr. Duino.

Or, maybe I want to turn a potentiometer to get the servo to move. Once again - scrap the breadboard - just move a jumper on one of the analog pins and you have a built in potentiometer - in fact, every analog pin has its own dedicated potentiometer! Trying to put 6 potentiometers on a breadboard and run jumpers is a major pain - having these built right in and so compact is great.

Potentiometers are great for simulating sensor inputs too. Say you are developing a project that lights up LEDs based on inputs from a pressure sensor - but you don't have the sensor yet. No worries - just use the potentiometer built in to the Dr. Duino to simulate the input from the pressure sensor.

Another great resource is the piezo buzzer. Most of us get used to using the serial window to debug our sketches. For example - we use the Serial .print() function to send a value to the serial monitor window when some threshold is met.

What this ends up doing is dividing our visual attention from the Arduino to the computer monitor. With the piezo buzzer, you can get the same information, but be able to look at your Arduino - it allows you to incorporate more of your senses into the debugging process.

All of these features add up to a great little development package - it's like a breadboard full of components all connected on a handy shield. So if I am traveling I don't have to pack away a bunch of pieces-parts, I can just throw the Dr. Duino in with my Arduino and go for it.

A Tool for Learning Arduino Code

Another great use of these resources is when you are learning to use Arduino. If you are really trying to jump right into the code, then setting up the circuit can sometimes be a hassle, even if its just a button and an LED. (Yes - I am that lazy!)

With Dr. Duino you can work through practically every sketch in the examples section of the Arduino IDE with only some minor code changes (mostly pin designations changes), without having to add a single piece of hardware.

That's a time saver (especially when it's hard enough to carve out time to learn). Especially if having to place the components just feels like another barrier to practicing your Arduino coding.

A Debugging Tool

So far, most of my love for the Dr. Duino has come from this development aspect, but the Dr. Duino has actually been designed to help you debug your sketches when using shields.

Microcontrollers (like the Arduino uses) are truly at the threshold of hardware and software. The more you know about both the physical and virtual, the better off you will be.

Here in also lies a challenge – you can screw up both the hardware and the software.

A big part of debugging your work is tracking down where the issue exists – is it the copper or code? (Or both !@#$)

The Dr. Duino's key feature of being able to direct an Arduino pin to or away from a shield you are using enables you to more quickly establish the starting point of debugging.

Once you master how the rerouting works, the Dr. Duino will be a go-to shield for developing and debugging.

With such a diverse set of applications it's no wonder Arduino continues to grow wildly popular. Shields like the Dr. Duino make it that much more fun to use Arduino as a rapid prototyping tool.

Special Bonus

If you are interested in getting your hands on a Dr Duino, you can buy them directly from the Dr. Duino website.

The creator of Dr. Duino (Guido Bonelli) has been kind enough to offer Open Source Hardware Group readers a free shipping code.

Free Shipping Code: OSHWG_RULES (So true…)

Episoder(61)

How to Use and Understand the Arduino Reference

How to Use and Understand the Arduino Reference

So you just opened up your fancy new gadget - maybe an awesome DSLR camera, or the newest gaming system, or maybe a new Blu-ray player. As you gladly tear away the packaging - you notice a small book...

12 Apr 201712min

Using Red-Green-Blue (RGB) LEDs with Arduino (Common Cathode Type)

Using Red-Green-Blue (RGB) LEDs with Arduino (Common Cathode Type)

In this tutorial we describe using RGB LEDs of the Common Cathode Type.  We will describe setting up the circuit, talk about the LED and discuss the code used to adjust the hue.

11 Apr 201714min

Using Random Numbers with Arduino

Using Random Numbers with Arduino

This video tutorial talks about using the random() and randomSeed() functions with Arduino.  It is pretty straight forward, but there are some intricacies worth noting. Creating truly random numbers i...

10 Apr 201713min

Kit-on-a-Shield for Arduino

Kit-on-a-Shield for Arduino

Ever ever spent too much time searching for a 220 ohm resistor or just one more jumper wire? Are you sure you had that extra LED, LDR, [Fill in the blank], but have no idea where it went? Do you jus...

9 Apr 20171min

How to Make One Button Have the Functionality of Two or More with Arduino

How to Make One Button Have the Functionality of Two or More with Arduino

Do you have an application where you want multiple buttons for different user inputs? Maybe you have a timer and you want one button for minutes and another for hours. But there is a problem – you on...

8 Apr 201715min

Understanding HIGH and LOW Arduino Pin States

Understanding HIGH and LOW Arduino Pin States

If you are just getting started with Arduino, you might be wondering what the heck all this HIGH and LOW stuff everyone is talking about really means. At first I just figured everyone using micro-cont...

7 Apr 201712min

Floating Pins, Pull-Up Resistors and Arduino

Floating Pins, Pull-Up Resistors and Arduino

Floating Pins on Arduino have always been a bit of mystery to me.  It just never made much sense.  I did this video more for my own sake - just to concrete it in my brain.  I hope it can add some soli...

6 Apr 201710min

The MOST guaranteed way to NOT buy a Fake Arduino  (The Story of Pizza-Duino)

The MOST guaranteed way to NOT buy a Fake Arduino (The Story of Pizza-Duino)

Let's not be duped by people trying to sell us authentic Arduino's that are counterfeit.  This video will show you the one way to be sure you get the real deal, and five methods of telling if you boug...

5 Apr 20175min

Populært innen Fakta

mikkels-paskenotter
fastlegen
dine-penger-pengeradet
relasjonspodden-med-dora-thorhallsdottir-kjersti-idem
foreldreradet
treningspodden
rss-strid-de-norske-borgerkrigene
jakt-og-fiskepodden
sinnsyn
rss-kunsten-a-leve
hverdagspsyken
rss-var-forste-kaffe
fryktlos
rss-kull
gravid-uke-for-uke
rss-bisarr-historie
lederskap-nhhs-podkast-om-ledelse
hagespiren-podcast
takk-og-lov-med-anine-kierulf
tomprat-med-gunnar-tjomlid