CONFIGURAR ENTRADAS/SALIDAS DIGITALES pinMode(pin, mode) Esta instrucción es utilizada en la parte de configuración setup () y sirve para configurar el modo de trabajo de un PIN pudiendo ser: ---------------------------------- INPUT (entrada) u OUTPUT (salida) ---------------------------------- pinMode(pin, OUTPUT); // configura ‘pin’ como salida pinMode(pin, INPUT); // configura el ‘pin’ como entrada Ej: //Variables int pin0=0; //Les damos nombres a algunos pines de entrada int pin1=1; //Les damos nombres a algunos pines de entrada int pin2=2; //Les damos nombres a algunos pines de entrada void setup() { // put your setup code here, to run once: // O sea el codigo que se ejecutara solo una vez pinMode(13, OUTPUT); // configura ‘pin’ como salida pinMode(12, OUTPUT); // configura ‘pin’ como salida pinMode(11, OUTPUT); // configura ‘pin’ como salida pinMode(10, OUTPUT); // configura ‘pin’ como salida pinMode(9, OUTPUT); // configura ‘pin’ como salida pinMode(pin0, INPUT); // configura el ‘pin’ como entrada usando nombre pinMode(pin1, INPUT); // configura el ‘pin’ como entrada usando nombre pinMode(pin2, INPUT); // configura el ‘pin’ como entrada usando nombre pinMode(3, INPUT); // configura el ‘pin’ como entrada pinMode(4, INPUT); // configura el ‘pin’ como entrada digitalWrite(13, LOW); //fija pin de salida a 0 digitalWrite(12, LOW); //fija pin de salida a 0 digitalWrite(11, LOW); //fija pin de salida a 0 digitalWrite(10, LOW); //fija pin de salida a 0 digitalWrite(9,LOW); //fija pin de salida a 0 } void loop() { // coloque su codigo principal aqui, se ejecutara repetidamente: //--------------------------- if (digitalRead(pin0)== HIGH) { digitalWrite(13, HIGH); } else { digitalWrite(13, LOW); } //---------------------------- if (digitalRead(pin1)== HIGH) { digitalWrite(12, HIGH); } else { digitalWrite(12, LOW); } //--------------------------- if (digitalRead(pin2)== HIGH) { digitalWrite(11, HIGH); } else { digitalWrite(11, LOW); } //------------------------- if (digitalRead(3)== HIGH) { digitalWrite(10, HIGH); } else { digitalWrite(10, LOW); } //------------------------- if (digitalRead(4)== HIGH) { digitalWrite(9, HIGH); } else { digitalWrite(9, LOW); } //------------------------- } ------------------------------------------------------------------ IMPORTANTE,SIGA LEYENDO. Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de vista eléctrico, como entradas en estado de alta impedancia. Estos pines tienen a nivel interno una resistencia de 20 K? a las que se puede acceder mediante software. Estas resistencias se accede de la siguiente manera: pinMode(pin, INPUT); // configura el ‘pin’ como entrada digitalWrite(pin, HIGH); // activa las resistencias internas Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior no se trata de convertir un pin en salida, es simplemente un método para activar las resistencias interiores. Los pins configurado como OUTPUT (salida) se dice que están en un estado de baja impedancia estado y pueden proporcionar 40 mA (miliamperios) de corriente a otros dispositivos y circuitos. Esta corriente es suficiente para alimentar un diodo LED (no olvidando poner una resistencia en serie), pero no es lo suficiente grande como para alimentar cargas de mayor consumo como relés, solenoides, o motores. Un cortocircuito en las patillas Arduino provocará una corriente elevada que puede dañar o destruir el chip Atmega. A menudo es una buena idea conectar en la OUTUPT (salida) una resistencia externa de 470 o de 1000.