by slomobile » 17 Jul 2023, 08:09
Don't worry about the weight of adding a small camera or RC receiver on top. A DSLR might be a bit much, but in general moving the center of gravity higher is a good thing. A longer pendulum is slower, so it falls slower. Same reason it is easier to balance a broom than a pencil.
RC can be added to an Arduino, but it requires modifying the firmware. Depending on access to existing code, how well the existing code is written, and how fast the processor, the additional time spent processing RC pulses can mess with the balance timing loops. The Arduino Nano isn't super fast. It is probably approaching the limit of its capability in this application. However, because it is socketed and each sensor is on individual breakout boards, this kit should be easy to upgrade.
What you want can be done. The hardware is easy, the software is advanced beginner. Maybe 3 months away from beginner doing it completely on your own. Lots of help is available.
Adding RC is a good way to learn about programming interrupts. I think its a good project.
The cheapness of the kit will continue to frustrate a little. It will need to be chased around a lot and set back up. It will suddenly just not work because it runs out of memory without giving any indication of what was wrong. Then work fine after a power cycle. That is par for the course with complex Arduino projects. A similar kit with more powerful processing, battery, and motors can alleviate that frustration, but will also have less community help available because it is more expensive.
If you get this kit, buy an additional Arduino Nano or 2 to play around with. You can have one running the bot while you program others and quickly swap to the one with the program you want. I'd keep one stock, one be your work in progress for getting everything working together, and one be for unit tests. Just small bits at a time for proof of concept stuff.
This is probably what I would do, there are lots of other ways:
Keep Nano 1 stock so you can always plug it in and verify hardware works in case you run into problems during development.
Get RC to work on Nano 2. Have it just read a RC receiver and output a single servo channel as a proof of your code.
Then add in the bluetooth processing code from the existing project onto Nano 2.
On Nano 3, load the same code as nano 1, but strip the bluetooth processing code out of it and insert code to receive commands from Nano 2. Also add a way to select between RC mode and other modes. Perhaps an encoder knob on Nano 2.
The bluetooth module and RC receiver will plug into Nano 2. Nano 2 will process those and relay the messages to Nano 3 which runs all the other bot functions.