Go Down

Topic: Wake Up Roomba 615 (Read 102 times) previous topic - next topic

tobi

Hi all,

I am working with my Roomba 615, to make it a little bit more flexible.
E.g. let it run via remote command.

To do this, I use an Arduino Nano.
In general, it works fine.
I can start the robot and make it run.
Even get sensor data.

But, I cant wake it up from sleep.
This should be the easiest part, but for me, it is not :-)

The general specification (and all of the hundreds of forum and google posts..) say, that one has to send a digital LOW signal (500 ms) to Roomba Pin #5 (Device Detect Pin or Baud Rate Pin).

This code should do the job:

  pinMode(ddPin, OUTPUT); 

  digitalWrite(ddPin, HIGH);
  delay(100);
  digitalWrite(ddPin, LOW);
  delay(500);
  digitalWrite(ddPin, HIGH);
  delay(2000);

Where ddPin is my Digital Pin on the Arduino Nano Board (currently pin #1, but I tried also others).
This pin is direcly connected with Pin #5 on the Roomba Interface.

Then: GND of Arduino is connected with GND of the Roomba.

But, it does not work.

Any help or ideas?

Greets, Torben

makersecrets

Hi Tobi,

Try to put a delay just after  pinMode(ddPin, OUTPUT); 

So your code will become:

 pinMode(ddPin, OUTPUT); 
 delay(2000);

 digitalWrite(ddPin, HIGH);
 delay(100);
 digitalWrite(ddPin, LOW);
 delay(500);
 digitalWrite(ddPin, HIGH);
 delay(2000);

Your pin might not be switched to an output straight away.

And also maybe try to play with the delay of 500ms increase/decrease.

tobi

#2
Jun 15, 2018, 10:06 pm Last Edit: Jun 16, 2018, 08:48 am by tobi
Hi makersecrets,

Thanks for your ideas.
Unfortunately, it does still not work :-/

Any other ideas?
I am quite confused, because everything else works :-)

EDIT: is there a way to check the pinmode, or the mode of the pin?
E.g. something like

If (pinmode(ddpin) == OUTPUT) { ... }
?

Greetz!

Go Up