Go Down

Topic: PLX-DAQ version 2 - now with 64 bit support! (and further new features) (Read 139853 times) previous topic - next topic

NetDevil

Just like to thank you NetDevil for writing this macro. I've used it successfully for a year or so with a sketch to measure the Ah capacity of lead-acid batteries with an arduino. Should have thanked you earlier. I found macros quite tricky to write so karma to you.
Hi ianthetraveller,
thank you very much for feedback :) I really enjoy getting to know the projects people are doing with PLX DAQ. This is what inspires me the most with Arduino, everyone can become a creator. Good luck with your project!




Hey NetDevil, Thanks a lot for the updates. I am trying to add more sensor values into different columns but am unable to do that. Do you have any suggestions for that.
Hi Vik,
you can easily add multiple values in your DATA command like this: Serial.println( (String) "DATA,date,time," + value1 + "," + value2 + "," + value3); There are multiple examples of it within this thread as well as in the BeginnersGuide I guess. Have fun :)


moneill717

Does anyone know how to get this working with a Mac? The ports for the Arduino are not listed in the same way "/dev/cu.usbmodem143101" etc. rather than "COM4" etc.

NetDevil

Does anyone know how to get this working with a Mac? The ports for the Arduino are not listed in the same way "/dev/cu.usbmodem143101" etc. rather than "COM4" etc.
Hi Moneill717,
thanks for posting your question of the PM in the board as well :) Sadly there has never been a Mac user who reported back on possibilites. Last guess I had was here to modify the settings sheet to force using the port: https://forum.arduino.cc/index.php?topic=437398.msg3397276#msg3397276
Please keep me / us updated in case you have any success :)

Greetings

Jonathan

877

@NetDevil just discovered this, and already used it to take average measurements from my BME280 sensors.
Just wanted to say thanks!!

marcorba2

Hello NetDevil, I am using PLX-DAQ, congratulations!!!.

I´ve tried read the cell value and I would like to read the active cell. not its value. Could I do it with PLX-DAQ?

NetDevil

@NetDevil just discovered this, and already used it to take average measurements from my BME280 sensors.
Just wanted to say thanks!!
Hi 877 and thank you very much for your feedback! It's always much appreciated :) Funny thing: I started updating PLX DAQ v1 to take measures with a BME180 pressure sensor :) Good luck with yours (nice to know it exists as an advantaged version including all types of different sensors)




Hello NetDevil, I am using PLX-DAQ, congratulations!!!.
I´ve tried read the cell value and I would like to read the active cell. not its value. Could I do it with PLX-DAQ?
Hi marcorba2, well there is no feature out of the box for that. I reckon you want to have the cells address right? Like "C2" or "E53"? Or do you want to have the value of the currently selected cell? Anyways you can use the CustomDevPoints which are described in the Beginners Guide chapter "Doing your own stuff" an need to code that yourself, although it is pretty simple. Open the code editor in Excel (Alt + F11) and search for the function named something like CustomDevPoint. There you can create your own command (similar to DATA or TIMER or SAVEWORKBOOKAS) let's say "VALUEOFACTIVECELL" or "ADDRESSOFACTIVECELL") and paste the VBA code. It should be something like ThisWorkbook.ActiveCell.Value or ThisWorkbook.ActiveCell.Address. The commands are really simple, Google should be able to help you pretty fast.
Thanks as well for your feedback and in case you have any questions feel free to ask.



Greetings to both of you

Jonathan


jasonn0413

Hi, I'm in need of some help with using this PLX-DAQ software and Excel, I'm a complete blank slate when it comes to programming or coding and I would really appreciate the help.

I'm conducting an experiment which I need to measure people's skin conductance and I'm doing it with Arduino, I'm going to provide the link to where I got the idea from to measure skin conductance using Grove-GSR Sensor here so that anyone willing to help can get an idea of where I'm coming from. (http://wiki.seeedstudio.com/Grove-GSR_Sensor/)

I'm using the code for Arduino IDE and not the raspberry pi.

My problem here is that I do not know how to transfer the data that I've obtained from the serial plotter into Excel. I've done some reading on guides on how to but I've still no idea on how to do it, as I'm completely new in this..

Any help is very much appreciated and I know I'm asking to be spoon-fed here but I'm really out of options.

Thanks in advance.


NetDevil

Hi Jason,

good thing you pointed out yourself how spoon-fed the issue sounds - otherwise I might have done that :)

The good news on the other hand is, that as long as your data can be posted to Serial Monitor in Arduino IDE it can be posted to Excel as well using PLX DAQ. All you have to do is replace your "Serial.println(yourOutputHere);" commands with the PLX DAQ syntax which basically is "Serial.println("DATA,ValueForColumnA,ValueForColumnB,ValueForColumnC,....,ValueForColumnX");

You can read all about it in the Beginners Guide that is attached to the zip file or attached to the v2.11 post.

Try starting with the default sketch and try to understand the syntax. All it does is spam data in a loop to Excel, just the same way you want to send data. Next step, try to change the data to some different values and the final step is to implement the data you have measured using your build.

In case you have any specific questions rather then general ones please feel free to post here.

Greetings

Jonathan

jasonn0413

Hi Jason,

good thing you pointed out yourself how spoon-fed the issue sounds - otherwise I might have done that :)

The good news on the other hand is, that as long as your data can be posted to Serial Monitor in Arduino IDE it can be posted to Excel as well using PLX DAQ. All you have to do is replace your "Serial.println(yourOutputHere);" commands with the PLX DAQ syntax which basically is "Serial.println("DATA,ValueForColumnA,ValueForColumnB,ValueForColumnC,....,ValueForColumnX");

You can read all about it in the Beginners Guide that is attached to the zip file or attached to the v2.11 post.

Try starting with the default sketch and try to understand the syntax. All it does is spam data in a loop to Excel, just the same way you want to send data. Next step, try to change the data to some different values and the final step is to implement the data you have measured using your build.

In case you have any specific questions rather then general ones please feel free to post here.

Greetings

Jonathan
Hi there, thanks very much for the reply, I still haven't solve the problem but I have a rough idea of how the code and program works, I just have one last problem.

I've just made a little tweak towards the original code I got from the website.

const int GSR=A0;
int sensorValue=0;
int gsr_average=0;

void setup() {

Serial.begin(9600);

Serial.println("CLEARDATA");

Serial.println("LABEL,SkinConductance,Time,TIMER");

Serial.println("RESETTIMER");

}

void loop(){
  long sum=0;
  for(int i=0;i<10;i++)           //Average the 10 measurements to remove the glitch
      {
      sensorValue=analogRead(GSR);
      sum += sensorValue;
      delay(5);
      }
   gsr_average = sum/10;
   Serial.println( (String) "DATA,gsr_average,TIME,TIMER,AUTOSCROLL_20" );
}

All of the above was able to be recorded in Excel like the time and timer except for the gsr_average value, instead it records the literal word "gsr_average" instead of the value. Am I doing something wrong here? Sorry for the noob questions.

cryotan

I am so excited about this package!  Thanks for the wonderful work, NetDevil.   

Did anybody report that the following println code consume so much memory?

// set the names for the 3 checkboxes
  Serial.println("CUSTOMBOX1,LABEL,Stop logging at 5 min?");
  Serial.println("CUSTOMBOX2,LABEL,Resume log at 360?");
  Serial.println("CUSTOMBOX3,LABEL,Quit at 3600?");

  // check 2 of the 3 checkboxes (first two to true, third to false)
  Serial.println("CUSTOMBOX1,SET,1");
  Serial.println("CUSTOMBOX2,SET,1");
  Serial.println("CUSTOMBOX3,SET,0");

The following is with them included:
---------------------------------------------
Global variables use 1642 bytes (80%) of dynamic memory, leaving 406 bytes for local variables. Maximum is 2048 bytes.
Low memory available, stability problems may occur.

and with them commented out:
---------------------------------------------
Global variables use 1484 bytes (72%) of dynamic memory, leaving 564 bytes for local variables. Maximum is 2048 bytes.



NetDevil

I just have one last problem.
Code: [Select]
Serial.println( (String) "DATA,gsr_average,TIME,TIMER,AUTOSCROLL_20" );
All of the above was able to be recorded in Excel like the time and timer except for the gsr_average value, instead it records the literal word "gsr_average" instead of the value. Am I doing something wrong here?
Hi Jason,
thanks for digging into the documentation and congratz on making it (nearly :) ) work.
The issue is you literally put your variable name in the string. Try changing it to:
Code: [Select]
Serial.println( (String) "DATA," + gsr_average + ",TIME,TIMER,AUTOSCROLL_20" );




@cryotan:
thank you very much for your feedback.
And well, no, that issue has never been brought up yet :) So let's see:
- first of all the amount of memory consumed depends on your Arduino. I am developing on an Arduino Uno (which is already pretty weak) but honestly I have never paid much attention to those warnings.... is 2048 the max for all kind of Arduinos? The Mega2560 for example seems to have 4 times the SRAM.
- Excluding the command will most likely free up the space that would normally be allocated for the large strings. However if one wants to label the command boxes I guess there is no other way then to hardcode the names :-/ or one could put the information to Excel and query + rewrite it (would be only commands stored in Arduino).
- I guess the boxes will be rarely used and hopefully people will reduce code only to what is needed :) otherwise Arduino might be able to page swap - or does it not compile if > 100% are used?

-----------------

Greetings to both of you.

cryotan

@NetDevil  Thanks for your prompt reply.    I have a 4 channel temperature shield and it fails when the memory reaches the limit. I have to drop those Serial.print lines for it to operate.

cryotan

@NetDevil  I want to replace the customcheckbox 1 and 2 with two set of spinbutton and textbox; and use GET from arduino to set sampling frequency and recording duration. i need some help with VB script. How do I save the last config values in settingsheet?

Code: [Select]
Private Sub SpinButton1_Change()
On Error Resume Next
TextBox1.Text = SpinButton1.Value
End Sub

Private Sub TextBox1_Change()
On Error Resume Next
SpinButton1.Value = TextBox1.Text
End Sub

Private Sub SpinButton1_SpinDown()
   TextBox1.Text = Val(TextBox1.Text) - 1
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Select Case KeyAscii
     Case vbKey0 To vbKey9, 8
     Case Else
       KeyAscii = 0
       Beep
   End Select
End Sub

Private Sub SpinButton1_SpinUp()
   TextBox1.Text = Val(TextBox1.Text) + 1
End Sub

Private Sub SpinButton2_Change()
On Error Resume Next
TextBox2.Text = SpinButton2.Value
End Sub
Private Sub TextBox2_Change()
On Error Resume Next
SpinButton2.Value = TextBox2.Text
End Sub

Private Sub SpinButton2_SpinDown()
   TextBox2.Text = Val(TextBox2.Text) - 1
End Sub

Private Sub SpinButton2_SpinUp()
   TextBox2.Text = Val(TextBox2.Text) + 1
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Select Case KeyAscii
     Case vbKey0 To vbKey9, 8
     Case Else
       KeyAscii = 0
       Beep
   End Select
End Sub



30percent

@NetDevil

This is some really good work you have done here. I've been going over the guide and demo code all morning. You deserve more than karma and kudos for the work! Before I get too far in experimenting with the demo code, I would like to know if what I'm trying to do is possible using PLX-DAQ and the cell.get.xx command. Instead of using it for data logging, I need to scroll through a list of numbers in Excel, multiple columns, multiple rows, values 1-124. Each row has two cells/values that need to trigger a specific LED on an 8x16 NeoPixel LED Matrix (two 8x8 in a row). As you scroll down the list active row/cell it shuts off the last LED's from the previous row and turns on the new. It sounds fairly simple, but the exchange from Excel to Sketch is my road block. Is what I'm trying to do possible with the chosen hardware? Thank you for your time and excellance!

Photo Album, WIP
https://photos.app.goo.gl/5ycw7RMZxF44q31p8

cryotan

Wondering if somebody can help with this.  I am playing with CustomDevPointNewData to stop logging at certain duration (set at a textBox). I am thinking to get the millis or timer from the newdata string to pause the logging! But never can get it to work.  Any help will be appreciated!!

Go Up