Olimex Support Forum

DUINO => SHIELDS => Topic started by: TiltSwitch on June 17, 2013, 08:38:08 PM

Title: Serial Data from EMG Shield
Post by: TiltSwitch on June 17, 2013, 08:38:08 PM
I have the Demo sketch loaded to the OLIMEXINO-STM32 with one EMG shield on it. When I can get ElectricGuru to run it shows muscle activities, but when I monitor the serial port I get data that looks like this:

¥Z ÄË#+¥Z òÒ53PT¥Z
ÐÚôõ÷ñ¥Z´Ð   ÷ì¥ZÉÈ
ø¥Z÷Î;>_b¥ZæÛýçø¥Z³Ôó
é¥ZÀÍü õ¥ZäÍAEki¥ZëÙ   óþ¥ZµÓå
â¥Z½Ì ô ð¥ZÔÌ<<e_¥ZáØ ¥Z®ØýþÝ¥ZÈÍ
úë¥ZäÈ67WN¥ZúÕ"++¥Z½Ô÷ø

Can you offer me any advice as to settings I may have wrong or how to read this data? Thanks in advance.
Title: Re: Serial Data from EMG Shield
Post by: LubOlimex on June 18, 2013, 04:52:37 PM
Probably the baud rate isn't correct. What bauds have you tried?

Best regards,
Lub/OLIMEX
Title: Re: Serial Data from EMG Shield
Post by: TiltSwitch on June 19, 2013, 08:37:10 PM
Tried Several, currently set to 57600 baud. With current settings serial data looks like

¥Zþ,

¥Zžˆö-   ¥ZŸ ï!û î¥Z ù¥Z¡
þ2 ¥Z¢˜ÿ:¥Z£ñ&ýð¥Z¤ý*#   
÷¥Z¥ö¥Z¦¼    ¥Z§Œðøô¥Z¨ó$ô¥Z©

þ$¥ZªÞ&&¥Z«úüþ¥Z¬é$þ,¥Z­ý4   ¥Z®Ô- ¥Z¯qêü)¥Z°Çõ(ÿ¥Z±
û3¥Z²ø*,¥Z³‡ÿ!
¥Z´ªü"ùö¥Zµ

Any suggestions about what settings I should use? Thanks for your help.
Title: Re: Serial Data from EMG Shield
Post by: LubOlimex on June 20, 2013, 11:45:20 AM
Hey TilitSwitch,

Yes, 57600 is the correct baud but the data format is not the standard UART packet. That is why the data seems coded it follows http://openeeg.sourceforge.net/doc/modeeg/firmware/modeeg-p2.c (http://openeeg.sourceforge.net/doc/modeeg/firmware/modeeg-p2.c). You will need to write a packet decryptor and translator to receive meaningful characters.

There is such decryptor in every software suggested (ElecGuru, BrainBay, etc).

Best regards,
Lub/OLIMEX
Title: Re: Serial Data from EMG Shield
Post by: olimex on June 20, 2013, 03:58:34 PM
Quote from: TiltSwitch on June 19, 2013, 08:37:10 PM
Tried Several, currently set to 57600 baud. With current settings serial data looks like

¥Zþ,

¥Zžˆö-   ¥ZŸ ï!û î¥Z ù¥Z¡
þ2 ¥Z¢˜ÿ:¥Z£ñ&ýð¥Z¤ý*#   
÷¥Z¥ö¥Z¦¼    ¥Z§Œðøô¥Z¨ó$ô¥Z©

þ$¥ZªÞ&&¥Z«úüþ¥Z¬é$þ,¥Z­ý4   ¥Z®Ô- ¥Z¯qêü)¥Z°Çõ(ÿ¥Z±
û3¥Z²ø*,¥Z³‡ÿ!
¥Z´ªü"ùö¥Zµ

Any suggestions about what settings I should use? Thanks for your help.

you should not see ASCII symbols as these are ADC readings in 0-255 range
Title: Re: Serial Data from EMG Shield
Post by: TiltSwitch on June 21, 2013, 02:27:47 AM
I appreciate your responses, I think I am going at this the wrong way. What I really need is to monitor the analog data for two shields which would represent flexion and extension of the wrist. Can I simply read the values of the Analog pins (A0 and A1) and use a processing program to make decisions based on the data? I tried using

/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

This example code is in the public domain.
*/

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 57600 bits per second:
  Serial.begin(57600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1000);        // delay in between reads for stability
}

To read the Analog Pin and I get data but I get no change in the data when muscles are flexing under the electrodes.
Thank you for your help.
Title: Re: Serial Data from EMG Shield
Post by: olimex on June 21, 2013, 09:01:28 AM
the shields have jumpers which have to be selected correctly to may connect to different analog inputs
make sure you have connected your shields correctly