Diferencia entre revisiones de «digitalRead()»
De ArduWiki
(→Ejemplo) |
(→Ejemplo) |
||
Línea 19: | Línea 19: | ||
== Ejemplo == | == Ejemplo == | ||
− | Cuando | + | Cuando presionamos el pulsador el LED a bordo se prende, soltamos y se apaga. Poner un pulsador entre pin digital 3 y GND. |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> |
Revisión del 00:22 27 jun 2018
Contenido
Descripción
Lee el valor del puerto digital dando un resultado. Los valores pueden ser HIGH o LOW.
Sintaxis
digitalRead(pin);
Parámetros
Devoluciones
Devuelve el valor del pin: LOW o HIGH.
Advertencias
En muchos ejemplo 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
Cuando presionamos el pulsador el LED a bordo se prende, soltamos y se apaga. Poner un pulsador entre pin digital 3 y GND.
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
pinMode(3, INPUT_PULLUP);
}
void loop(){
if (digitalRead(3) == LOW){
digitalWrite(LED_BUILTIN, HIGH); //Prende LED
}else{
digitalWrite(LED_BUILTIN, LOW); //Apaga LED
}
}