Diferencia entre revisiones de «HIGH / LOW»
De ArduWiki
m (Un poco más de información) |
(→Ejemplo) |
||
Línea 23: | Línea 23: | ||
== Ejemplo == | == Ejemplo == | ||
+ | Parpadeo de LED a bordo. | ||
+ | |||
<pre> | <pre> | ||
+ | unsigned long hora=0; | ||
+ | void setup(){ | ||
+ | pinMode(LED_BUILTIN); | ||
+ | } | ||
+ | void loop(){ | ||
+ | if (millis() - hora > 500) | ||
+ | hora = millis(); | ||
+ | if (digitalRead(LED_BUILTIN)){ | ||
+ | digitalWrite(LED_BUILTIN, LOW); | ||
+ | }else{ | ||
+ | digitalWrite(LED_BUILTIN, HIGH); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</pre> | </pre> | ||
Revisión del 17:53 2 jul 2018
Contenido
Descripción
Son palabras reservadas en el lenguaje Arduino. Usualmente son utilizados para expresar (en código fuente) un estado digital en un pin, aunque funcionalmente son iguales a true / false.
Sintaxis
digitalWrite(pin, estado);
Parámetros
- pin
- numero del pin digital (0~13 + 14~19).
- estado
- puedes usar HIGH o LOW, aunque también equivalen a 1 y 0 respectivamente.
Advertencia
- El significado de HIGH (en referencia a un pin) es algo diferente según se trate de si un pin se configura como INPUT (entrada) o como OUTPUT (salida).
- Cuando un pin se configura como INPUT con pinMode() y se lee con digitalRead() HIGH si:
- Una tensión mayor de 3 voltios está presente en el pin (placas de 5 V)
- Una tensión mayor de 2 voltios está presente en el pin (placas de 3,3 V)
- Un pin se puede configurar como INPUT con pinMode() y en consecuencia, ponerse a nivel HIGH con digitalWrite(). Esto habilitará las resistencias pullup internas de 20K, que provocará que el pin de entrada se ponga a nivel HIGH a menos que se lleve a nivel LOW por la circuitería externa. Así es como trabaja INPUT_PULLUP descrito más adelante con más detalle.
- Cuando un pin se configura como OUTPUT con pinMode() y se activa a nivel HIGH con digitalWrite() el pin está a:
- 5 voltios (en placas alimentadas a 5 V);
- 3V3 voltios (en placas alimentadas a 3V3V);
- En este estado el pin actúa como fuente (source) de corriente, por ejemplo, encender un LED conectado a masa por medio de una resistencia limitadora.
Ejemplo
Parpadeo de LED a bordo.
unsigned long hora=0; void setup(){ pinMode(LED_BUILTIN); } void loop(){ if (millis() - hora > 500) hora = millis(); if (digitalRead(LED_BUILTIN)){ digitalWrite(LED_BUILTIN, LOW); }else{ digitalWrite(LED_BUILTIN, HIGH); } } }