Supported Interface
- Arduino interface (open source type)
- Dyntechno JoyLAB-A
- SWR Disc
- Sensors built into the Android device
Support.
Built-in sensors within the Android device are supported by Google's standard method.
Arduino interface open source type can connect Uno, mega2580 and maple mini to USB, Bluetooth (BLE not supported) if you only adjust communication method.
We share Arduino communication part, please refer to it.
-- sauce --
incomingByte1 = Serial.parseInt ();
switch (incomingByte1) {
case 1: // Check device
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1: // send device name
Serial.println ("{11, Arduino}");
Serial.flush ();
break;
case 2: // send channels count
Serial.print ("{12,");
Serial.print (sensorLength);
Serial.println ("}");
break;
}
break;
case 2: // send sensor information
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1: // send sensor id
Serial.println ("{13,1,2}");
break;
case 2: // send sensor information
delay (10);
Serial.print ("{14,");
Serial.print ("0,"); // channel number
Serial.print ("1,"); // sensor id
Serial.print ("Voltage,"); // sensor name
Serial.print ("V,"); // unit
Serial.print ("0,"); // min value
Serial.print ("5,"); // max value
Serial.print ("0.001,"); // resolution
Serial.print ("1,"); // calbration 0: false, 1: true
Serial.print ("0,"); // sign invert 0: false, 1: true
Serial.print ("0"); // data series
Serial.println ("}");
Serial.flush ();
delay (10);
Serial.println ("{14,1,2, Current, A, -1,1,0.001,1,0,0}");
break;
}
break;
case 3: // send data
float retSampling = 0;
float newTime = 0;
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1:
newTime = Serial.parseFloat ();
// max send packet 115200 (bps) / 11 (bit) = 10472 (bytes)
// 10472 (bytes) / 11 (packet size) = 952 (max send packet count);
// 0.002: 500 packets
if (0.002 <= newTime && newTime <= 30.0)
samplingTime = (int) (newTime * 1000);
Serial.print ("{15,");
retSampling = samplingTime / 1000.0;
Serial.print (retSampling, 3);
Serial.println ("}");
break;
case 2: // one time
readCurrentValue ();
break;
case 3: // start collection
init_Sensor ();
currentTimeCount = 0;
digitalWrite (LEDpin, true);
Serial.println ("{17}");
runFlag = true;
break;
case 4: // stop collection
runFlag = false;
Serial.println ("{18}");
digitalWrite (LEDpin, false);
break;
}
break;
}
======
Other resources are at https://1drv.ms/f/s!AmbHpQNEKSyY7DmvBLYrHnLfrrr_.
- Arduino interface (open source type)
- Dyntechno JoyLAB-A
- SWR Disc
- Sensors built into the Android device
Support.
Built-in sensors within the Android device are supported by Google's standard method.
Arduino interface open source type can connect Uno, mega2580 and maple mini to USB, Bluetooth (BLE not supported) if you only adjust communication method.
We share Arduino communication part, please refer to it.
-- sauce --
incomingByte1 = Serial.parseInt ();
switch (incomingByte1) {
case 1: // Check device
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1: // send device name
Serial.println ("{11, Arduino}");
Serial.flush ();
break;
case 2: // send channels count
Serial.print ("{12,");
Serial.print (sensorLength);
Serial.println ("}");
break;
}
break;
case 2: // send sensor information
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1: // send sensor id
Serial.println ("{13,1,2}");
break;
case 2: // send sensor information
delay (10);
Serial.print ("{14,");
Serial.print ("0,"); // channel number
Serial.print ("1,"); // sensor id
Serial.print ("Voltage,"); // sensor name
Serial.print ("V,"); // unit
Serial.print ("0,"); // min value
Serial.print ("5,"); // max value
Serial.print ("0.001,"); // resolution
Serial.print ("1,"); // calbration 0: false, 1: true
Serial.print ("0,"); // sign invert 0: false, 1: true
Serial.print ("0"); // data series
Serial.println ("}");
Serial.flush ();
delay (10);
Serial.println ("{14,1,2, Current, A, -1,1,0.001,1,0,0}");
break;
}
break;
case 3: // send data
float retSampling = 0;
float newTime = 0;
incomingByte2 = Serial.parseInt ();
switch (incomingByte2) {
case 1:
newTime = Serial.parseFloat ();
// max send packet 115200 (bps) / 11 (bit) = 10472 (bytes)
// 10472 (bytes) / 11 (packet size) = 952 (max send packet count);
// 0.002: 500 packets
if (0.002 <= newTime && newTime <= 30.0)
samplingTime = (int) (newTime * 1000);
Serial.print ("{15,");
retSampling = samplingTime / 1000.0;
Serial.print (retSampling, 3);
Serial.println ("}");
break;
case 2: // one time
readCurrentValue ();
break;
case 3: // start collection
init_Sensor ();
currentTimeCount = 0;
digitalWrite (LEDpin, true);
Serial.println ("{17}");
runFlag = true;
break;
case 4: // stop collection
runFlag = false;
Serial.println ("{18}");
digitalWrite (LEDpin, false);
break;
}
break;
}
======
Other resources are at https://1drv.ms/f/s!AmbHpQNEKSyY7DmvBLYrHnLfrrr_.
Show More