This past week brought a great deal of success for myself and Owen as we continue working towards our final goal for this project. Last week we obtained various pieces of hardware, but some of those such as the RFID reader and USB hub for the Raspberry Pi zero didn’t want to play nicely.
Coming into this week we had set a goal for ourselves to have all of the parts put together in an attempt to have our first working prototype by the end of next week. Hardware wise we were able to achieve that goal, but not without some frustrations. We started the week with an RFID reader, ICSH008A, based off of the popular Mifare RF522 card, but realized that we could only find documentation in Chinese and on lackluster Ebay pages. Lesson learned – buy the real thing! We ended up going with the Adafruit PN532 breakout board and had a huge breakthrough with our tags. Not only can it read any Mifare card, but it also spits out the UID on our 3mm tags mentioned last week without any additional code or having to write to it.
On top of getting our RFID to work, we also were able to get the Pi zero USB hub to work. This wasn’t a huge issue to fix, but once we hooked it up to the Pi we were worried that we might not be able to use a port on it for serial communication. On the Pi 3 we were using before there was a dedicated serial port, COM0, which we weren’t sure the USB hub had. However it did, and we were able to continue on with using the Pi zero.
After some preliminary testing with the new inductive charging, we were able to confirm that it does charge our LiPo battery at a much quicker rate, and more efficiently, than our last set of coils. As of today we’ve also done some testing with our IR and making turns with it, and have decided on a new process that will eliminate the use of RFID tags to turn the Roomba. We will strictly use the IR for movement, and RFID for data points and positioning. Our current IR has 6 sensors; we decided to keep the black line centered between sensors 3 and 4, rather than correcting to other sensors. From there, if the Roomba reaches an intersection and sensors 1, 2 and 3 are covered, it will make a 90 degree left turn. If sensors 4, 5 and 6 are covered, it will make a 90 degree right turn. If sensors 1-6 are covered, it will make a 180 degree turn and continue on path.
We take our success this week with a grain of salt, as we are now reaching the tedious testing and fine tuning phase which will likely take some time. We hope to have complete IR control as of next Friday, and can implement the RFID in the following weeks. Owen and I are proud of how far this project has come along and that we are near reaching a final product, stay tuned for next week’s post!