Hi
nice pictures
a few ideas:
-
take out the 1K resistor on the 386 input, as it is not doing much except preventing signal getting to the 386. This should help you to get better readings. If you want amplitude control of the mic input, then replace the input pot, which is the proper voltage-divider configuration. You might also want to remove the gain cap between pins 1 and 8 if the readings are too high.
-
check the conversion time for the A/d converters in the Atmega datasheet. You might not be catching things quickly enough
-
consider using some kind of resistor and capacitor 'averaging circuit' on the amplifier output, to well, get the average value of the signal!
-
the motor driver chip has a voltage drop and minimum operating voltages as well- check the datasheet. I have a feeling that 5V may be too low.
-
you need REALLY good bypassing if you use the same supply for the motor as the Arduino. Typically the Arduino 5V supply should not be used for anything but the tiniest of motors. This is because motor noise and loading can interfere with the stability of the logic supply. You will need something like a 330Uf and a .1UF capacitor minimum on the 5V supply to counter noise generated by the motor. Generally it is a bad design idea ot use the 5v logic supply for noisy things like motors and solenoids.
hope this helps
D