pinMode()
De ArduWiki
Contenido
Descripción
Esta función debe ser usada dentro de setup() y sirve para configurar los puertos digitales que serán usadas y el modo que puede ser INPUT (entrada) o OUTPUT (salida) o INPUT_PULLUP (entrada con resistencia pull-up interna).
Sintaxis
pinMode(pin, modo);
Parámetros
- pin
- es el numero del pin digital a usar (0~13 + 14~19). Puedes usar const byte para de definirla.
- modo
- por lo general se usa las palabras reservadas: INPUT / OUTPUT / INPUT_PULLUP.
Retorna
Nada.
Advertencias
En muchos ejemplos se ve que usa una variable de tipo int para definir el pin a usar. Esto es un grave error por dos motivos:
- Una variable sera almacenada en memoria RAM porque se espera que su valor cambie durante la ejecución del bosquejo, pero normalmente en los pines esto nunca ocurre, por lo que es preferible usar const que es almacenada en flash.
- El tipo int ocupa 2 byte. Es suficiente usar el tipo byte (0~255) que solo ocupa 1 byte.
Ejemplo 1
Aqui definimos los pines digitales 3, 4 y 5 como salidas.
void setup(){
for (byte n=3; n<=5; n++){
pinMode(n, OUTPUT);
}
}
void loop(){
//nada
}
Ejemplo 2
Usamos un pin analogico como digital.
void setup() {
pinMode(A0, OUTPUT); //Definimos pin analógico A0 como digital. También funciona con 14.
digitalWrite(A0, HIGH);
}
void loop() {
//Nada
}
Ejemplo 3
Parpadea el LED a bordo.
void setup() {
DDRB = DDRB | 32; //Configura el pin digital 13 como OUTPUT, no altera el resto. 32=B00100000;
}
void loop() {
PORTB = PORTB ^ 32; //Invertido estado del bit 5 (pin digital 13), no altera el resto.
delay(500);
}