Digital Multimeter on Arduino Using DMMShield from Digilent

Digital Multimeter on Arduino Using DMMShield from Digilent

This project demonstrates how easy you can use the DMMShield from Digilent with all Arduino boards.

  • 515 views
  • 0 comments
  • 3 respects

Components and supplies

Apps and online services

About this project

Overview

This project demonstrates how easy you can use the DMMShield from Digilent with Arduino boards.

This project uses a command interpreter over UART to implement any DMM command. Having DMM functions available through UART makes DMM functionality accessible to any potential application.

DMMShield Background

The DMMShield provides 29 scales for:

  • AC/DC voltage and current measurements
  • Resistance measurement
  • Diode, continuity measurement

You can find more details on the DMMShield product page.

Digilent provides DMMShield libraries for multiple platforms, including Arduino: https://github.com/Digilent/Arduino-DMMShield-Library

This library targets any of the Arduino boards:

  • ArduinoUno
  • ArduinoMega 2560
  • ArduinoDue

The Arduino library is documented here: Arduino Library User Guide

What This Project Does

The structure of this project is very basic as all the functionality is implemented in the library.The project initializes the DMMShield library (in the setup function of the Arduino sketch) and calls the command interpreter (in the loop function of the Arduino sketch).

Below you can find the list of recognized commands. Click on any of them to see the command documentation.

The commands are sent using the standard terminal that comes with Arduino MPIDE. The commands output is also displayed in the terminal window. Any other terminal application can be used, as the communication is standard UART.

For more details see ArduinoLibrary User Guide.

Future Developments

Apart from the command interpreter, the library also provides direct access functions to some basic DMM features (set scale, measure).

Also, by having the source code for all the DMM modules, everyone can implement his own library functions. For example, one way for customization might be to use the EPROM to store user data. Some 62 bytes in EPROM are available to the user. EPROM module provides a function to access this user area, which can be exposed in the library class. See EPROM Module for more details.

Code

Untitled fileArduino
#include <DMMShield.h>


DMMShield dmmShieldObj;

// the setup function runs once when you press reset or power the board
void setup() 
{
	Serial.begin(9600);
	dmmShieldObj.begin(&Serial);
	Serial.println("DMMShield Library Command Interpreter Demo");
}

// the loop function runs over and over again forever
void loop() 
{
	dmmShieldObj.CheckForCommand();
	delay(500);                       // wait half a second
}

Schematics

Comments

Similar projects you might like

Digital Clock with Arduino, RTC and Shift Register 74HC595

Project tutorial by LAGSILVA

  • 20,727 views
  • 16 comments
  • 46 respects

Digital Clock with Mirrored Display Driven by Accelerometers

Project showcase by LAGSILVA

  • 14,774 views
  • 1 comment
  • 39 respects

Complete Digital Clock Including Alarm and Motion Sensor

Project tutorial by LAGSILVA

  • 13,830 views
  • 12 comments
  • 52 respects

4-Stroke Digital Clock With Arduino

Project showcase by LAGSILVA

  • 11,712 views
  • 14 comments
  • 40 respects

Arduino Based Digital Temperature Sensor

Project showcase by Abishek Bhalaaji

  • 8,924 views
  • 0 comments
  • 8 respects

Digital And Binary Clock With Two LED Matrix And RTC

Project tutorial by LAGSILVA

  • 6,116 views
  • 10 comments
  • 27 respects
Add projectSign up / Login