Diferencia entre revisiones de «HIGH / LOW»

De ArduWiki
Saltar a: navegación, buscar
(Referencias externas)
(Referencias externas)
 
(No se muestran 13 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Son palabras reservadas en el lenguaje Arduino.
+
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 ==
 
== Sintaxis ==
 
<pre>
 
<pre>
digitalWrite(pin, tipo);
+
digitalWrite(pin, estado);
 
</pre>
 
</pre>
  
 
== Parámetros ==
 
== Parámetros ==
;pin: numero del pin digital (0~13 + 14~19).
+
;pin: numero del pin digital (0~13 + 14~19). Arduino [[UNO]].
;tipo: puedes usar HIGH o LOW, aunque sus equivalente tambien vales 1 y 0.
+
;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 3,3 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.
 
* 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 3V3V);
+
** 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 ==
<pre>
+
Parpadeo de LED a bordo.
</pre>
+
 
 +
<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, LOW);  //Apaga LED
 +
      }else{
 +
        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 33: Línea 69:
  
 
== Referencias externas ==
 
== Referencias externas ==
 +
* [https://www.arduino.cc/reference/es/language/variables/constants/constants/ Niveles logicos en Arduino]
  
[[Category:Variables]]
+
[[Category:Palabras reservadas]]

Revisión actual del 14:49 6 may 2019

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));   
      }
   }
}

Vea también

Referencias externas