Documentation

Sensor Agnostic Module for Digiducer Accelerometer

roto_digiducer.aar Library for Androidâ„¢


  • Created: 02 Dec, 2020
  • Update: 1 Nov, 2021

If you have any questions that are beyond the scope of this document, Please feel free to email via info@rotovibes.com


Description

roto_digiducer.aar is an Androidâ„¢ library that allows communication with the Digiducer USB single-axis digital acceletometer. The library provides simple commands to scan, connect, collect and post-process the vibration data.


Installation

Follow the steps below to install the roto_digiducer.aar library

  1. In your projects top bar menu, select >File >New >New Module... A new window will appear, select "Import .JAR/.AAR Package" from the options
  2. In the new popup window browse and select the roto_digiducer.aar library adn click on "Finish"
  3. The roto_bdigiducer library will appear on the right
  4. in your App build.gradle add the following dependency
  5. 
                ...
                dependencies {
                        ...
                        implementation files('libs/roto_digiducer.aar')
                    }
                ...
                

Configuring your project

  1. Add the MODIFY_AUDIO_SETTINGS, RECORD_AUDIO and WRITE_EXTERNAL_STORAGE permits to the Android Manifest
  2. 
    ...
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.rotovibes.sam_modules_test">
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            
  3. In your Activity import com.rotovibes.roto_digiducer.digi_conn and add the permissions request
  4. 
    ...
    import com.rotovibes.roto_digiducer.digi_conn;
    ...
    
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ActivityCompat.requestPermissions(this,new String[]{
                      Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1001);
            ActivityCompat.requestPermissions(this,new String[]{
                      Manifest.permission.RECORD_AUDIO, Manifest.permission.RECORD_AUDIO}, 1002);
    ...
              

Connecting to the Sensor

  1. Create actions to scan and connect to the Digiducer Digital Acceletometer.
  2. 
    ...
        //start scanning for the usb sensor
        digi_conn.scanSensor(yourContext);
    ...
      

    Once the sensor is connected to the USB port the output in the console should display the ID and the calibration value of the connected sensor


Collecting Data

  1. Once connected to a sensor, send the digi_conn.collectSignal(int numberSamplesCode, int samplingRateCode) command to collect data with the specific number of samples and sampling rate. There are 4 sampling rates and 6 number of samples options for this sensor in this library.
  2. 
    //samplingRateCode:3 -> SamplingRate = 5512
    //samplingRateCode:2 -> SamplingRate = 11025
    //samplingRateCode:1 -> SamplingRate = 22050
    //samplingRateCode:0 -> SamplingRate = 44100
    
    //numberSamplesCode:0 -> NumberOfSamples = 1024
    //numberSamplesCode:1 -> NumberOfSamples = 2048
    //numberSamplesCode:2 -> NumberOfSamples = 4096
    //numberSamplesCode:3 -> NumberOfSamples = 8192
    //numberSamplesCode:4 -> NumberOfSamples = 16384
    //numberSamplesCode:5 -> NumberOfSamples = 32768
    
    ...
        digi_conn.collectSignal(int numberSamplesCode, int samplingRateCode)
    ...
                
  3. There are other functions for Overall vibration values processing, spectrum data generation, integration, etc. This documentation will be available soon

Combine this framework with vibEngine.framework to perform signal post-processing and with the vibeFDaD.framework to analize the machine condition. Third party frameworks can also be used to plot and enhance the users interface.


Changelog

See what's new added, changed, fixed, improved or updated in the latest versions.

Version 1.01 (1 Nov, 2021)

  • Fixed Bug Fixed

Version 1.0 (2 Dec, 2020)

Initial Release for Androidâ„¢