Diferencia entre revisiones de «HIGH / LOW»
De ArduWiki
(→Parámetros) |
(→Referencias externas) |
||
(No se muestran 8 ediciones intermedias del mismo usuario) | |||
Línea 8: | Línea 8: | ||
== Parámetros == | == Parámetros == | ||
− | ;pin: numero del pin digital (0~13 + 14~19). Arduino [UNO] | + | ;pin: numero del pin digital (0~13 + 14~19). Arduino [[UNO]]. |
;estado: puedes usar LOW o HIGH, aunque también equivalen a 0 o diferente de cero respectivamente. | ;estado: puedes usar LOW o HIGH, aunque también equivalen a 0 o diferente de cero respectivamente. | ||
== Advertencia == | == Advertencia == | ||
+ | * Nota que HIGH y LOW se deben escribir en mayusculas. | ||
* 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). | * 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: | * 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 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 | + | ** Una tensión mayor de 2 voltios está presente en el pin (placas de 3V3) |
* 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. | * 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: | * 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); | ** 5 voltios (en placas alimentadas a 5 V); | ||
− | ** 3V3 voltios (en placas alimentadas a | + | ** 3V3 voltios (en placas alimentadas a 3V3); |
* 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. | * 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 == | + | == Ejemplo 1 == |
Parpadeo de LED a bordo. | Parpadeo de LED a bordo. | ||
− | < | + | <syntaxhighlight lang="c++"> |
unsigned long hora=0; | unsigned long hora=0; | ||
void setup(){ | void setup(){ | ||
Línea 34: | Línea 35: | ||
hora = millis(); | hora = millis(); | ||
if (digitalRead(LED_BUILTIN)){ | if (digitalRead(LED_BUILTIN)){ | ||
− | digitalWrite(LED_BUILTIN, LOW); | + | digitalWrite(LED_BUILTIN, LOW); //Apaga LED |
}else{ | }else{ | ||
− | digitalWrite(LED_BUILTIN, HIGH); | + | digitalWrite(LED_BUILTIN, HIGH); //Prende LED |
} | } | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | == Ejemplo 2 == | ||
+ | Parpadeo de LED a bordo. | ||
+ | |||
+ | <syntaxhighlight lang="c++"> | ||
+ | unsigned long hora=0; | ||
+ | void setup(){ | ||
+ | pinMode(LED_BUILTIN, OUTPUT); | ||
+ | } | ||
+ | void loop(){ | ||
+ | if (millis() - hora > 500){ | ||
+ | hora = millis(); | ||
+ | if (digitalRead(LED_BUILTIN)){ | ||
+ | digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
== Vea también == | == Vea también == | ||
+ | * [[Palabras reservadas]] | ||
* [[true / false]] | * [[true / false]] | ||
* [[INPUT / OUTPUT / INPUT_PULLUP]] | * [[INPUT / OUTPUT / INPUT_PULLUP]] | ||
Línea 49: | Línea 69: | ||
== Referencias externas == | == Referencias externas == | ||
+ | * [https://www.arduino.cc/reference/es/language/variables/constants/constants/ Niveles logicos en Arduino] | ||
− | [[Category: | + | [[Category:Palabras reservadas]] |
Revisión actual del 18:49 6 may 2019
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). Arduino UNO.
- estado
- puedes usar LOW o HIGH, aunque también equivalen a 0 o diferente de cero respectivamente.
Advertencia
- Nota que HIGH y LOW se deben escribir en mayusculas.
- 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 3V3)
- 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 3V3);
- 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 1
Parpadeo de LED a bordo.
unsigned long hora=0;
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
if (millis() - hora > 500){
hora = millis();
if (digitalRead(LED_BUILTIN)){
digitalWrite(LED_BUILTIN, LOW); //Apaga LED
}else{
digitalWrite(LED_BUILTIN, HIGH); //Prende LED
}
}
}
Ejemplo 2
Parpadeo de LED a bordo.
unsigned long hora=0;
void setup(){
pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
if (millis() - hora > 500){
hora = millis();
if (digitalRead(LED_BUILTIN)){
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
}
}