We are making an interactive map of our school as a student navigation system for a school project. We are basing the movement mechanism on a Kinetic Sand table (almost like a 3D printer gantry). We are also going to use a keypad to have a direct input (type in the room number and the navigation character will move to that from a specific route). When setting up the Arduino(s), should we have the keypad system on its own Arduino and the CNC Shield, stepper motors, drivers, etc on two separate Unos or would it be better to just use a Mega?
We aren't sure from a coding standpoint which would be easier and your help would be greatly appreciated!
If you have two boards, then you need extra software for the communication between the boards. If you update the sketch of one board, then you probably need to update the other board as well.
If you use Serial communication between the boards, then perhaps a Software Serial port is needed on the Uno board, but that takes over the complete Uno board.
Don't even think about I2C between the boards, because then your project will fail.
A Mega has twice as many serial connections as two Uno's, more than twice as many pins, and more than twice as much memory. It would also require about half the code. There is nothing you have said that even faintly suggests that two Uno's might be a good idea.
There is a connector for the I2C bus. That will not work on a Mega board. I think the rest should work.
You need also something for the keypad. If you have a prototype circuit board and a few rows of pin and perhaps double rows of pins, than you can add your own add-on board next to the CNC add-on board.