Buenos días....llevo varios proyectos funcionando con Arduino pero hay una cosa que no tengo del todo claro y leo documentación pero veo que cada uno lo hace de una manera y a mi a veces me crea dudas.
El tema es el siguiente, supuestamente TODOS los pines (analogicos y digitales) están definidos por defecto como INPUTS.....
por lo tanto ¿por qué a veces ponemos pinMode (xxx, INPUT); para declarar una entrada (boton por ejemplo)?
En ejemplo secillo, tenemos un pulsador en el pin 2 analogico, y un led en el pin 2 digital...¿qué ocurre si los declaramos?
byte pulsador=2;
byte led=2;
pinMode (pulsador, INPUT);
pinMode (led, OUTPUT);
Es esto correcto? cómo diferencia arduino si nos referimos al pin2 digital o analogico?
Por otro lado en los ejemplos que vienen con el soft arduino Analoginput , hace referencia como A0 , y al compilarlo esto da error....
Bueno chicos, espeor que alguien pueda aclararme esto, se que no es algo complicado pero me estoy rayando!!!!!!!!
Funciona, en este momento, no se con detalle el motivo por el que permite este tipo de código que, lleva a la confusión.
Sin embargo te aconsejo que cuando hagas una declaración de pines, seas más concreto, lo que evitará que te confundas y posteriormente no te líes al revisar tu propio código.
Es algo en lo que siempre haré hincapié, se debe documentar los códigos, esto nos toma un poco más de tiempo, cierto, pero a la larga nos tendrá informados de porqué hicimos dicha rutina.
Siempre es bienvenido un código claro y conciso, para todos, sobre todo para los que empiezan.
Yo en el codigo completo si hago descripciones, realmente no creo que alguien lo fuer a utilizar, pero a mi me sirve mucho ya que cuando hay errores o similar los comentarios son claves como dices.
Pero en este caso como ya explicaba anteriormente el ejemplo no lo puse, pero vamos esta claro, pulsador Pin2 analogico, led pin2 digital, ese es el lio...¿cómo se declara el pinMode , es necesario en los 2?
En tu caso, el pin 2 hace referencia en ambas ocasiones (en el led y en el pulsador) al pin digital 2, para referirte al analógico deberás poner el prefijo 'A'.
Yo por ejemplo, suelo poner los pines a input en el código para saber que pines estoy usando, aunque no sirva para nada en ese momento.
Para lo que si sirve es para volver a poner un pin como entrada tras haberlo puesto como salida.
En cuanto al ejemplo de AnalogInput a mi si que me compila correctamente.