there are 4 digital pins for the 2 motors, 1 digital pin for the servo, and 1 analog pin for the Sharp IR sensor. That should leave 11 digital pins and 3 or 4 analog pins. This is all just from memory. Your only concern will be if you try to draw too much current from your board.
You’ll only have a problem with stuff frying if you raise the voltage going to your circuit.
Adding more batteries in parallel instead of series will increase the current available to your circuit, allowing you to add more parts.
Depending on the parts you’re adding, you’ll sometimes get a maximum current rating. If you add up the ratings for all your parts you’ll know how much current the batteries have to deliver. If one set of batteries is not enough, you can keep adding more in parallel until you’ve got more current available than your parts require.
Easiest option - add a part and see if your robot still works normally. If it becomes sluggish or the microcontroller keeps resetting itself, you’re probably trying to draw more current than the batteries can deliver.
Yep, it works like this: voltage is ‘given’ and current is ‘taken’.
By this I mean that whatever voltage the battery (or whatever power source you’re using) puts out, that is the voltage that the circuit will be exposed to. Voltage is ‘given’ to the circuit by the battery, and the circuit will get that voltage whether it likes it or not.
Current on the other hand is drawn from the battery according to the parts themselves. As long as the battery can supply enough current, the circuit will only ‘take’ as much current as is needed. If the battery cannot supply enough current, then the circuit will be somewhat starved of current and may not work properly. You can never have a battery with ‘too much’ current available, the circuit will still draw the same amount.