Constantes en arduino

Las constantes son expresiones predefinidas en el lenguaje Arduino[1]. Se utilizan para facilitar la lectura de los programas.

Definición

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

Clasificación de las constantes

Definición de los niveles lógicos

Hay dos constantes utilizadas para representar la verdad y falsedad en el lenguaje Arduino las cuales son:

True

Se dice que True se define como verdadero o 1 (uno), lo cual es correcto, pero verdadero tiene una definición más amplia. Cualquier entero que no sea cero es verdadero, en un sentido booleano. Entonces, -1, 2 y -200 también se definen como verdaderos, en un sentido booleano.

False

False se define como falso o 0 (cero).

Definición de nivel de pin

Al leer o escribir en un pin digital, solo hay dos valores posibles que un pin puede tomar o ser configurado: ALTO y BAJO.

HIGH

El significado de ALTO (en referencia a un pin) es algo diferente dependiendo de si un pin está configurado en una entrada o salida. Cuando un pin se configura como entrada con pinMode() y se lee con digitalRead(), el Arduino(ATmega) informará ALTO si:
  • Una tensión superior a 3.0V está presente en el pin (alimentación de voltaje de 5V)
  • Hay un voltaje superior a 2.0V voltios en el pin (alimentación de voltaje de 3.3V)
Un pin también se puede configurar como entrada con pinMode(), y posteriormente se hace alto con digitalWrite(). Esto habilitará las resistencias pullup internas de 20K, que elevarán el pin de entrada a una lectura alta a menos que el circuito externo lo tire hacia baja. Así es como funciona INPUT_PULLUP y se describe a continuación con más detalle.
Cuando un pin se configura en salida con pinMode(), y se establece en alto con digitalWrite(), el pin está en:
  • 5 voltios (alimentación de voltaje de 5V)
  • 3.3 voltios (alimentación de voltaje de 3.3V)

LOW

El significado de bajo también tiene un significado diferente dependiendo de si un pin está configurado en entrada o salida. Cuando un pin se configura como una entreda con pinMode() y se lee con digitalRead(), el Arduino(ATmega) informará LOW si:
  • Una tensión inferior a 1,5 V está presente en el pin (alimentación de voltaje de 5 V)
  • Hay un voltaje menor a 1.0V (Aprox.) presente en el pin (alimentación de voltaje de 3.3V)
Cuando un pin se configura en salida con pinMode(), y se establece en LOW con digitalWrite(), el pin está a 0 voltios (para alimentacion de 5V y 3.3V). En este estado puede acumular corriente, por ejemplo. encienda un LED que se conecta a través de una resistencia en serie a +5 voltios (o +3.3 voltios).

Definición de modo del pin

INPUT

Los pines Arduino(ATmega) configurados como INPUT con pinMode() se dice que están en un estado de alta impedancia. Los pines configurados como entrada hacen que el circuito muestree exigencias extremadamente pequeñas, lo que equivale a una resistencia en serie de 100 megohms frente al pin. Esto los hace útiles para leer un sensor.
Si tiene su pin configurado como una entrada, y está leyendo un interruptor, cuando el interruptor está en el estado abierto, el pin de entrada estará "flotando", lo que dará como resultado valores impredecibles. Para asegurar una lectura correcta cuando el interruptor está abierto, se debe usar una resistencia de vajo la configuración pull-down. 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.
Si se usa una resistencia desplegable, el pin de entrada estará bajo cuando el interruptor esté abierto y alto cuando el interruptor esté cerrado.
Si se usa una resistencia de pull-up, el pin de entrada estará alto cuando el interruptor esté abierto y bajo cuando el interruptor esté cerrado.

INPUT_PULLUP

El microcontrolador ATmega en 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 estos resistores de pull-up en lugar de los externos, puede usar el argumento INPUT_PULLUP 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 salida 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 generalmente usan menos de 40mA. Las cargas superiores a 40mA (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 los rieles de tierra o positivos.

Referencias

[1] Arduino constantes https://www.arduino.cc/reference/en/language/variables/constants/constants/, Consultado noviembre 2018

[2] wikipedia constantes, https://es.wikipedia.org/wiki/Constante_(inform%C3%A1tica) Consultado Consultado noviembre 2018

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

292
Categorías
ARDUINO