
Testing the Roomba 595 using the EZB4 connected to D0 does not work very well. Sometimes the selection boxes for turning on the side brush, brush motor or vacuum will not turn on the selected motor. Or the motor will run but cannot be toggled off. Other times the port seems to hang and then the Roomba will reset.
When using the UARTWrite commands with the Roomba connected to UART 0, all motor commands work correctly.
I suspect a signal level issue, possibly lower than 3.3vdc vs 5vdc Roomba ttl. when using the digital D0 port.
Would it be possible to change the EZ-B GUI Roomba control from using D0 to UART0 ?
Code:
The drive commands never worked in earlier tests without the logic level board and now seem to almost work correctly. Forward button will run the Roomba forward but sometimes the Stop button will not work. If additional time of waiting about 5 seconds is done between commands then the drive controls seem to control the Roomba.
Final testing will resume tomorrow after double-checking the wiring just to make sure and then a final field test (Roomba actually running on the floor) will be attempted.
According to your tests of receiving data, it is sending back code.
I saw somewhere that someone said they received the letter Q. Well, the iRobot Roomba does not return a string of bytes to create an ascii human readable value - instead it (like most all ttl protocols) returns a single byte. That single byte value looks like the letter Q,
You want to use this function to turn the byte into a readable ASCII string..
As for the "locking up" - i do not have any suggestions other than to check your wiring.
I'm attempting to get an R3 Roomba, 5XX model to operate using the D0 port and the EZ-B Roomba movement GUI. This setup without the level shifter works great when connected to an R2 Roomba (Discovery, Dirt Dog, Create, 4XXX)
The issue only seems to effect the R3 models. I've tested using a 500, 700, and 800 model Roomba. None of them will operate like the earlier R2 models.