Apuntes de Arduino
11.2. digitalWrite(pin, valor)
Escribe un valor HIGH o LOW en el pin digital especificado. No devuelve nada.
Si el pin se ha configurado como OUTPUT (salida) con pinMode(), su tensión se establece en 5V
para HIGH y a 0V (tierra) para LOW.
Nota: el pin digital 13 es más difícil de usar como entrada digital porque tiene un LED y una
resistencia fija incorporados a la placa. Para evitar errores es mejor utilizarlo sólo como salida.
Ejemplo
El mismo que el de la función pinMode() vista antes.
Nota Los pines de entrada analógica se puede utilizar como pines digitales, conocidos como A0,
A1, etc. Ver nota y ejemplo en la función pinMode().
11.3. digitalRead(pin)
Lee el valor del pin digital especificado. Devuelve o HIGH o LOW .
Ejemplo
int ledPin = 13; // LED conectado al pin digital 13
int inPin = 7;
// pulsador conectado al pin digital 7
int val = 0;
// variable para almacenar el valor leído
void setup()
{
pinMode (ledPin, OUTPUT); // establece el pin digital 13 como salida
pinMode (inPin, INPUT);
}
void loop()
{
val = digitalRead (inPin); // lee el pin de entrada
digitalWrite (ledPin, val); // establece el LED al valor dado por el pulsador conectado al pin 7
}
Nota: Si el pin no está conectado a nada, digitalRead() puede devolver o HIGH o LOW de forma
aleatoria, lo que puede dar lugar a errores. Conviene que las entradas estén conectadas a algo,
como, por ejemplo, a tierra a través de una resistencia, para garantizar el valor LOW cuando no
haya conectado nada.
12. FUNCIONES DE ENTRADA/SALIDA ANALÓGICA
12.1. analogRead(pin)
Lee el valor de tensión en el pin analógico especificado (0 a 5). La placa dispone de un convertidor
analógico-digital que asignará a voltajes de entrada de entre 0 y 5 V valores enteros entre 0 y
1023. Por tanto, esta función devuelve un valor entero entre 0 y 1023.
Apuntes de Arduino. Tecnología
// establece el pin digital 7 como entrada
18