What limits the current of the digital outputs if there arent any resistors present? Does the IC L293D have somekind of internal resistor for limiting the input current from the arduino? I would really like to understand this so that i wount have any fear that i will destroy my arduino.
The L293D does not draw very much current from the Arduino. The Arduino does not drive the motors directly. That's why the L293D is needed: it draws very little current from the Arduino, yet it can supply "large" currents to the motors.
In your diagram I think there are some things missing. The Battery 12V is not connected to anything, and the L293D needs to have 5V connected to pin 16 (from the Arduino). The Battery 12V should go to the L293D pin 8 if you want to drive your motors with 12V. You can also connect this 12V to the Vin pin of your Arduino to power it.
Finally, you will also need to connect pins 1 and 9 of the L293D to control outputs from your Arduino. These can either be used to turn the motors on and off fully (high/low) or using analogWrite() you can use PWM to control motor speed/power.
--
The
Rugged Motor Driver: two H-bridges, more power than an L298, fully protected