rodripelto:
[...] arduino cuando arranca pone todos los pines como entradas, con lo que en ningún pin debería de haber tensión.
Cierto. Cuando se configuran como entrada es como si no estuvieran conectados a nada y si esas "entrada" está conectada a otra "entrada" es como si ambas estuvieran sin conectar a nada. Dependiendo de cómo sean esas entradas, se pueden comportar como si estuvieran conectadas "por defecto" a un nivel alto, a masa o simplemente "indeterminado" y en este último caso puede fluctuar por sí solo entre nivel alto y bajo aleatoriamente. Para evitar esto último y obtener un valor "por defecto" en la entrada, si esta no está conectada a nada, es para lo que se utiliza la resistencia pull-up (si se quiere por defecto un nivel alto) o pull-down (si se quiere por defecto un nivel bajo). En este caso lo que se deseaba es que, hasta que se configure como salida el pin de Arduino, por defecto fuera un nivel bajo por lo que la solución es poner una resistencia pull-dow.
rodripelto:
[...] pero si pone una resistencia pull-down ¿ luego no actuara como divisor de tensión haciendo que funcione mal el motor? [...]
Efectivamente, se tendría un divisor de tensión, prácticamente todo se puede ver como divisores de tensión. La clave está en qué división se hace.
Digamos que los circuitos "de entrada" tienen un divisor de tensión con dos resistencias en serie con valores muy altos, con lo que si ponemos en paralelo con una de ellas una resistencia de un valor "relativamente bajo" hacemos que el divisor de tensión cambie "significativamente". Eso es lo que hacen los "divisores de tensión" de las "salidas" ya que las "supuestas resistencias" del divisor de tensión de la salida "simulan" dos resistencias en serie una con un valor muy pequeño y otra con un valor muy alto, para así hacer que la tensión del divisor se "aproxime" a la de alimentación o a masa según sea la "supuesta" resistencia más baja la que esté conectada a la alimentación o a masa.
Pero, como ya he dicho, si no hay "salida" conectada a las entrada, hay que poner poner una resistencia de un valor pequeño para "forzar" que el divisor de tensión de la entrada se decante por un nivel alto o bajo, según lo que queramos "por defecto". Claro está que esa resistencia va a estar fija y no se va a quitar cuando tengamos una "salida" conectada (cuando el Arduino configure por fin el pin como salida), así que para que no haga "interferencias" con el divisor de tensión de la salida del Ardunio, el valor de la resistencia no ha de ser muy bajo, pero tampoco ha de ser muy alto para que sea "significativo" el cambio que hace sobre el divisor de tensión de la entrada que queremos controlar. 4700 ohmios es un valor "aceptable" para ello, ni muy bajo ni muy alto.
¿Y si no hay "salida" conectada a pin de entrada, sino que directamente se conecta a la tensión de alimentación o masa a través de un interruptor/pulsador como en la imagen? ¿Se podría poner una resistencia más baja ya que no interfiere con ninguna "salida"? Pues no es necesario poner un valor muy bajo, ni tampoco es recomendable ya que esa resistencia limita la corriente que va a circular cuando se cierre el circuito. Con lo que a un valor más bajo el consumo será mayor e incluso si el valor es demasiado bajo (cero resistencia) produciría un corto y podría estropear la fuente de alimentación.
Obviamente, las salidas y entradas no son únicamente resistencias, pero el resultado de su comportamientos a nivel eléctrico se pueden "considerar como" resistencias.
No sé rodripelto si te lo he aclarado o si te he liado más aún la duda.