I'm new on this forum, but not new into the world of robotics.
Only, I used Arduino. I hope i can use this forum...

At our school we used Arduino UNO board to measure some sensors. To put the values in Excel, i've download a tool from Parallax, PLX-DAQ. Original developped for Basic Stamp.
And there are the questions about.

I try to modify this Excel macro, but don't exactly understand how this works.
We want to make a button which takes one sample from the arduino-board. When I connect now, the communication opens and arduino keeps going on with sampling.

But our new button must take one sample, go to the next row and wait for the next button-click.

I don't know where we must change. In the arduino-sketch or in the VBA-code of this macro.

Anyone experience with it? Or solutions?

Kind regards,


  • 8 Comments sorted by Votes Date Added
  • edited October 2011 Posts: 0Vote Up0Vote Down
    PLX-DAQ is pretty flexible since it's just a command-driven interpreter that allows data to be downloaded to an Excel spreadsheet. It's not intended to be modified by the user and we can't help you with any modifications that you make. We also can't help you with your Arduino programming. If you have questions about any of the PLX-DAQ commands please do ask, but give as much information as you can about specifically what you're trying to do with the command. From your brief description, it sounds like everything except the actual transfer of data to a particular cell in Excel has to be done in the Arduino sketch.
  • edited October 2011 Posts: 0Vote Up0Vote Down
    You should carefully read the documentation files that come with the PLX-DAQ download. In particular, it is possible to send data from the Excel sheet to the Arduino through the PLX-DAQ interface, using "GET". You should be able to figure out how to set up your Arduino sketch so that it looks at the value of an Excel cell to decide what to do (in particular, whether to continue to send data). You could use a button in Excel to set a cell value, which the Arduino reads to tell that it should send the data point. There is nothing in what you described that requires you to modify the PLX-DAQ macros - just modify the spreadsheet and the Arduino sketch, and you'll be fine.
  • edited October 2011 Posts: 5Vote Up0Vote Down
    Thanks so far.
    Mike, the reason I look at this forum is that plx-daq is distributed by paralax. I contacted Selmaware (the maker) and they gives their permission to modify (the layout of) the macro so that it will be suitable for pupils in age of 12-14 years.
    So i think: perhaps there is anyone who knows this macro, who knows Basic Stamp and who knows Arduino. Or is this forum only for non-Arduino people? Then I leave it as soon as possible... :-)
    Sylvie, I try it out. But I have to translate the Basic Stamp code (in the helpfile) to Arduino. And that gives some trouble. But your explanation is clearly. Thanks.

  • edited October 2011 Posts: 0Vote Up0Vote Down
    The forum guidelines state:

    Posting non-Parallax related topics:
    Although this forum is intended for ongoing discussions about products designed by Parallax Inc, other topics can be created; however discussions regarding outside products or programming may not receive any technical attention.

    So, although you can certainly ask questions related to non-Parallax microcontrollers like the Arduino, the answers you may get will be mostly in terms of the Stamps or Propeller. I've used an Arduino, but I'm not an expert nor do I keep examples or documentation of its use the way I do with Parallax products.

    Similarly with PLX-DAQ. I've never looked at the macros involved. I understand how it works and I can advise people on how to use it, but, if you're going to modify the macros, you're on your own.

    I'm not sure why you have to modify the macros or even look at them. From your limited description, PLX-DAQ is more than adequate for the task as it stands and 12-14 year olds, when given good specific examples, are capable of using it.
  • edited October 2011 Posts: 0Vote Up0Vote Down
    As far as PLX-DAQ is concerned, the only interesting Stamp code is the SEROUT and SERIN (or DEBUG and DEBUGIN, which are largely the same thing) statements. Those statements send and receive data through a serial port - the one the PLX-DAQ macros have connected to. The Arduino language has commands for reading from and writing to a serial port: those are what you will use in place of the PBASIC commands.

    The macros look at input from the processor. As the Control Directives page of the help file says,
    PLX-DAQ analyzes incoming data strings from the controller for action. Strings begin with a directive informing PLX-DAQ of what action to take.

    So your Arduino will send a string out the serial port beginning with the control directive you want the macros in PLX-DAQ to run (DATA, LABEL, CLEARDATA, RESETTIMER, SET, GET, etc.), followed by the parameters and variables that go with those directives (for example, the DATA directive wants the data, separated by commas). Finally, each string you send must end in a CR. I believe that one of the Arduino serial output commands automatically appends CR/LF, so that should work (perhaps "println()"? "writeln()"?).

    The overall syntax for Arduino is different from that for Stamp, in that you declare (and name) a serial port, and then explicitly open it, and then use that name in all your serial reads and writes, whereas in PBASIC you identify the serial port, baud rate, format etc. each time you do a SEROUT or SERIN. Read the Arduino examples on the Arduino site to get their syntax down pat.

    As long as your Arduino sends the same directives, parameters, and data we're sending from Stamps, the PLX-DAQ macros won't know the difference.
  • edited October 2011 Posts: 5Vote Up0Vote Down
    Thanks all of you for thinking with me.
    Problem is solved. It was only change the Arduino sketch and the Excel-sheet, as Sylvie said.

  • edited October 2011 Posts: 0Vote Up0Vote Down
    Excellent. Good luck with your project.
Sign In or Register to comment.