Constantes en arduino

Descripción

En programación, una constante es un valor que no puede ser alterado o modificado durante la ejecución de un programa[1], únicamente puede ser leído. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.

Descripción de niveles lógicos

Para arduino y los demás lenguajes de programación existen dos constantes para representar la verdad y falsedad.

FALSE

Falso se define como 0 (cero).

TRUE

True se define como 1, lo cual es correcto para arduino y muchos lenguajes de programación; pero un estado verdadero también puede ser un entero que sea diferente de 0, así, 2, 5, -10, -1 también se definen como verdadero en un sentido booleano.

Definición de pin ALTO y BAJO

Al leer o escribir en un pin digital solo hay dos valores posibles que un pin puede tomar o ser configurados HIGH o LOW[2].

HIGH

El significado de HIGH es algo diferente dependiendo de si un pin está configurado en un INPUT o OUTPUT. Cuando un pin se configura como INPUT con un pinMode() y se lee con digitalRead(), el Arduino informará un estado HIGH si:

  • Una tensión superior a 3.0V está presente en el pin (tableros de 5V).
  • Hay un voltaje mayor que 2.0V voltios en el pin (tableros de 3.3V).

Un pin también puede configurarse como una INPUT con pinMode(), y posteriormente hacerse HIGH con digitalWrite(). Esto habilitará las resistencias pullup internas de 20K, que elevarán el pin de entrada a una lectura HIGH a menos que sea tirado por LOW un circuito externo. Esto se puede hacer alternativamente pasando un INPUT_PULLUP argumento a la función pinMode(), como se explica con más detalle en la sección "Definición de los modos de pines digitales: ENTRADA, ENTRADA_PULTA Y SALIDA" más adelante.

Cuando un pin se configura en SALIDA con pinMode(), y se establece en HIGH cuando digitalWrite(), el pin está en:

  • 5 voltios (tableros 5V).
  • 3.3 voltios (tableros 3.3V).

En este estado, puede generar corriente, por ejemplo, encender un LED que está conectado a tierra a través de una resistencia en serie.

LOW

LOW también tiene un significado diferente dependiendo de si un pin está configurado en INPUT o OUTPUT. Cuando un pin se configura como INPUT con pinMode() y se lee con digitalRead(), el Arduino informará LOW si:

  • Una tensión inferior a 1.5V está presente en el pin (tableros de 5V).
  • Hay un voltaje inferior a 1.0V (Aprox.) en el pin (placas de 3.3V).

Cuando un pin se configura en OUTPUT con pinMode(), y se configura en LOW con digitalWrite(), el pin está a 0 voltios (ambos tableros de 5V y 3.3V). En este estado, puede sumir la corriente, por ejemplo, encender un LED que está conectado a través de una resistencia en serie a +5 voltios (o +3.3 voltios).

Definición de los modos de pines digitales: INPUT, INPUT_PULLUP y OUTPUT

Pines digitales pueden utilizarse como INPUT, INPUT_PULLUP o OUTPUT. Cambiar un pin con pinMode() cambia el comportamiento eléctrico del pin.

INPUT

Los pines Arduino configurados como INPUT con pinMode() se dice que están en un estado de alta impedancia. Los pines configurados INPUT hacen que el circuito muestre exigencias extremadamente pequeñas, lo que equivale a una resistencia en serie de 100 megohmios frente al pin. Esto los hace útiles para leer un sensor.

Si tiene su pin configurado como un INPUT interruptor y está leyendo un interruptor, cuando el interruptor está en el estado abierto, el pin de entrada estará "flotando", lo que dará como resultado resultados impredecibles. Para asegurar una lectura correcta cuando el interruptor está abierto, se debe usar una resistencia de levantamiento o de bajada. El propósito de esta resistencia es llevar el pin a un estado conocido cuando el interruptor está abierto. Generalmente se elige una resistencia de 10K ohmios, ya que es un valor suficientemente bajo para evitar de manera confiable una entrada flotante y, al mismo tiempo, un valor lo suficientemente alto como para no consumir demasiada corriente cuando el interruptor está cerrado. Consulte el tutorial de lectura digital en serie para obtener más información.

Si se usa una resistencia desplegable, el pin de entrada estará LOW cuando el interruptor esté abierto y HIGH cuando el interruptor esté cerrado.

Si se usa una resistencia de pull-up, el pin de entrada estará HIGH cuando el interruptor esté abierto y LOW cuando el interruptor esté cerrado.

INPUT_PULLUP

El Arduino tiene resistencias de pull-up internas (resistencias que se conectan a la alimentación interna) a las que puede acceder. Si prefiere usar estas resistencias de pull-up en lugar de las externas, puede usar el INPUT_PULLUP argumento en pinMode().

Los pines configurados como entradas con INPUT o INPUT_PULLUP pueden dañarse o destruirse si están conectados a voltajes bajo tierra (voltajes negativos) o por encima del riel de alimentación positiva (5V o 3V).

OUTPUT

Los pines configurados como OUTPUT con pinMode() se dice que están en un estado de baja impedancia. Esto significa que pueden proporcionar una cantidad sustancial de corriente a otros circuitos. Los pines ATmega pueden generar (proporcionar corriente) o hundir (absorber corriente) hasta 40 mA (miliamperios) de corriente a otros dispositivos / circuitos. Esto los hace útiles para alimentar los LED porque los LED normalmente usan menos de 40 mA. Las cargas superiores a 40 mA (por ejemplo, motores) requerirán un transistor u otro circuito de interfaz.

Los pines configurados como salidas pueden dañarse o destruirse si se conectan a tierra o a los rieles de alimentación positiva.

Referencias

[1] wikipedia constante, https://es.wikipedia.org/wiki/Constante_(inform%C3%A1tica) Consultado marzo 2019

[2] arduino https://www.arduino.cc/reference/en/language/variables/constants/constants/, Consultado marzo 2019

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

arduuino-constantes
Generic placeholder image
Oscar Fernandez Alzate

05, Noviembre 2018

643
Categorías
ARDUINO