1-Wire Add-On Library for Arduino

Communicate with 1-Wire devices connected to Arduino hardware in MATLAB.
662 Downloads
Updated 16 Apr 2024

View License

This add-on extends MATLAB Support Package for Arduino Hardware to read from and write to 1-Wire devices. With the add-on, you can reset the device, read or write a single byte or multiple bytes from or to the device and also check the data integrity using either CRC8 or CRC16 algorithm.
Sample usage:
Create arduino object with the add-on library
a = arduino('COM38', 'Uno', 'Libraries', 'PaulStoffregen/OneWire');
Create 1-Wire object
sensor = addon(a, 'PaulStoffregen/OneWire');
Obtain sensor ROM address
addr = sensor.AvailableAddresses{1};
Reset sensor
reset(sensor);
Write to sensor
write(sensor, addr, 72, 1) % parasite power on
Read 9 bytes from sensor
read(sensor, addr, 9)
Check CRC of received data
checkCRC(sensor, [1 2 3 4], 56, crc8)
It includes documentation and an example that demonstrates the use with a DS18B20 temperature sensor and DS2431 1024-bit EEPROM.
Important: Before using this add-on library in MATLAB, you need to install the OneWire Arduino library. Here are the instructions:
Installation
  1. Download the zip file from https://github.com/PaulStoffregen/OneWire/archive/v2.3.2.zip
  2. Unpackage the zip into local directory and rename the folder to ‘OneWire’.
  3. Move the ‘OneWire’ folder into the "libraries" folder inside your Arduino sketchbook folder:
For R2019a:
  • On Windows®, the default path is "Documents\Arduino\libraries\"
  • On Mac®, the default path is "~/Documents/Arduino/libraries/"
  • On Linux®, the default path is "/home/<username>/Arduino/libraries"
For R2019b and later:
  • On Windows®, the default path is "Arduino IDE Path\portable\sketchbook\libraries\"
  • On Mac®, the default path is "~/Documents/Arduino/libraries/"
  • On Linux®, the default path is "Arduino IDE Path/portable/sketchbook/libraries/"
Note: Arduino IDE Path is returned by the following command in the MATLAB Command Window
arduinoio.IDERoot
For R2024a and later, across all operating systems, the library location can be determined by executing the following command:
fullfile(arduinoio.CLIRoot, 'user','libraries')
Troubleshooting tips:
  1. After installing this add-on library and the required Arduino library, type "listArduinoLibraries" in MATLAB to see if the add-on is properly installed.
  2. Wire up the Arduino board and the add-on device properly before creating the object to avoid a connection error in MATLAB.
  3. Refer to the documentation for details on usage and syntax. It can be found under Supplemental Software in the product documentation.
Feel free to contact the MATLAB Hardware Team if you have questions about this add-on library:

Cite As

MathWorks MATLAB Hardware Team (2024). 1-Wire Add-On Library for Arduino (https://www.mathworks.com/matlabcentral/fileexchange/72708-1-wire-add-on-library-for-arduino), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019b
Compatible with R2019a to R2019b
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Acquisition Toolbox Supported Hardware in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

+arduinoioaddons/+PaulStoffregen

Version Published Release Notes
2.4

Updated the library location for 2024a in the description.

2.3

Updated description

2.2