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.
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 DoesThe 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.
- DMMSetScale
- DMMMeasureRep
- DMMMeasureStop
- DMMMeasureRaw
- DMMMeasureAwg
- DMMCalib
- DMMMeasureForCalib
- DMMFinalizeCalib
- DMMSaveEPROM
- DMMImportCalib
- DMMRestoreFactCalibs
- DMMReadSerialNo
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 DevelopmentsApart 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.
Comments