Let's Make Robots!

[FIXED] Serial write from command prompt and Gambas

Hello

I'm new to this forum and I'm also new to robotics in general, I do have some programming background which is very helpfull. I've got an Arduino Uno and I'm testing alot of it's features while I'm waiting for my robot-parts to arrive.

But now I'm stuck with this problem: I want to write a "message" via the Serial port using a GUI, so I found this open source program which is very similair to VisualBasic.NET (called Gambas), I made my simple GUI for testing purposes BUT it only works when the "Serial Monitor" of the standard Arduino IDE is opened. So I though "OK, it's maybe because there is a setting wrong in Gambas" but when I tried to sent a message via the serial port using the linux terminal (yes I'm a linux-user) with the following code: "echo 'test' > /dev/ttyACM0" I have the same problem.

This is the arduino code (but I don't think it has something to do with this problem):

#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,10,5,4,3,2);
char tekst;

void setup(){
lcd.begin(16,2);
Serial.begin(9600);
}

void loop(){
  if (Serial.available() > 0){
  tekst = Serial.read();
  lcd.print(tekst);
  }
}

It's probably a stupid thing I didn't think of, I hope someone can help me with this :). Thanks in advance!

Regards Florian

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Have you considered Python and Tkinter? I have thrown a fairly basic GUI together with very little effort on my part.

I know it doesn't answer your original question, but, it offers an option to Gambas.

Thanks for the information but I'm not thinking of learning a total new language, I just need something simple (that's why I thought of Gambas).

I just installed a python IDE (The eric python ide), and it doesn't look that easy but maybe when I've got a lot of time it's worth learning :). It would be nice to fix the problem with gambas, just for short term then...

I did some searching. I will post the links here and let you see if they help you.

Actual search:
gambas serial connection linux - Google Search http://tinyurl.com/c2vdn7v

Links I followed:
http://cobecoballes-gambas.blogspot.com/2011/05/serial-comm-port-interface-using.html
http://www.awce.com/gp3-gambas.html
http://www.linuxbasic.net/programming/problem-openning-and-closing-serial-port-connection/

Hopefully, something above will help.

Actually, having seen mention of ownership on two of those links, I bet your issue might be that you need to add yourself to the uucp group to have constant access to the COM port.

Thanks everyone for the help, but I've found the (stupid) problem.

I opened the port in the button_click()  sub and for some reason that doesn't work. When I open the port in the Form_Open() sub everything works :D

Regards from Belgium

The problem is that the arduino resets itself when you connect to it (the first time) and when you connect to it from the button click event you send data too early, before it has finished rebooting:

When the Uno is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.

More info here, in the Automatic (Software) Reset section.

Thanks, interesting!