constantes

[Constantes]

Descripcion

Las Constantes son expresiones predefinidas en el lenguaje Arduino. Se usan para hacer los programas mas faciles de leer. Clasificamos las constantes en grupos:

Para definir Niveles Logicos: verdadero y false (Constantes Booleanas)

Hay dos constantes para representar verdad o falsedad en el lenguaje Arduino: true, y false.

false

false (falso) es el mas facil de definir de los dos. false se define como 0 (cero).

true

true (verdadero) comunmente se define como 1, lo cual es correcto, pero true tiene una definicion mas amplia. Cual quier entero que no es cero es true, en el sentido Booleano. Asi que -1, 2 y -200 son todos definidos como true, tambien, en un sentido Booleano.

Toma nota de que las constantes true y false se escriben con minusculas al contrario que HIGH, LOW, INPUT, y OUTPUT.

Definiendo el nivel del Pin: HIGH y LOW

Cuando leemos o escribimos en un pin digital solo hay dos posibles valores que el pin puede tomar: HIGH o LOW.

HIGH

El significado de HIGH (en referencia a un pin) es un poco diferente dependiendo si el pin esta configurado como INPUT(de entrada) o OUTPUT(de salida). Cuando un pin esta configurado como INPUT con pinMode(), y leido con digitalRead(), el Arduino (ATmega) reportara HIGH si:

  • un voltaje mayor a 3 voltios esta presente en el pin (tarjetas de 5V)

  • un voltaje mayor a 2 voltios esta presente en el pin (tarjetas de 3.3V)

Un pin tambien puede ser configurado como INPUT con pinMode(), y subsecuentemente puesto a HIGH con digitalWrite(). Esto habilitara los resistores internos de acoplamineto a positivo de 20K, que pondran el pin de entrada a HIGH a menos que sea bajado a LOW por el circuito externo. Asi es como el INPUT_PULLUP funciona y se describe en detalle mas abajo.

Cuando un pin esta configurado como OUTPUT con pinMode(), y puesto a HIGH con digitalWrite(), el pin esta a:

  • 5 voltios (tarjetas de 5V)

  • 3.3 voltios (tarjetas de 3.3V)

En este estado puede ser fuente de corriente, por ejemplo, encender un LED que esta conectado a tierra mediante una resistencia en serie.

LOW

El significado de LOW tambien tiene puede ser diferente dependiendo si el pin esta puesto a INPUT o OUTPUT. cuando un pin es configurado como INPUT con pinMode(), y leido con digitalRead(), el Arduino (ATmega) reportara LOW si:

  • un voltaje menor que 3 voltios esta presente en el pin (tarjetas de 5V)

  • un voltaje menor que 2 voltios esta presente en el pin (tarjetas de 3.3V)

Cuando un pin esta configurado como OUTPUT con pinMode(), y puesto a LOW con digitalWrite(), el pin esta a 0 voltios (tarjetas de 5V o de 3.3V). En este estado puede drenar corriente, por ejemplo, encender un LED que esta conectado a +5 voltios (o +3.3 voltios) mediante un resistor en serie.

Definiendo el modo de los Pines Digitales: INPUT, INPUT_PULLUP, y OUTPUT

Los pines digitales pueden ser usados como INPUT, INPUT_PULLUP, o OUTPUT. Al cambiar un pin con pinMode() cambiamos el comportamiento electrico del mismo.

Pins Configurados como INPUT (entrada)

Los pines del Arduino (ATmega) configurados como INPUT con pinMode() se dice que estan en un estado de alta-impedancia . Pines configurados como INPUT hacen muy poca demanda en el circuito en el que se usan, equivalente a una resistencia en serie de 100 Megohms en frente del pin. Esto los hace utiles para leer un sensor.

Si tienes tu pin configurado como tipo INPUT, y estas leyendo un switch, cuando el switch este en el estado abierto el pin de entrada estara "flotando", con resultados impredecibles. Para asegurarse que la elctura sea correcta cuando el switch esta abierto, se debe usar una resistencia de acoplamiento a positivo o a tierra. El proposito de esta resistencia es la de jalar al pin a un estado conocido cuando el switch esta abierto. Una resistencia de 10 K ohm es generalmente escogida, ya que es lo suficientemente baja para prevenir una entrada flotante, y al mismo tiempo lo suficientemente alta para no usar demasiada corriente cuando el switch este cerrado. Puedes ver el tutotial Digital Read Serial para mas informacion.

Si se usa una resistencia con acoplamiento a tierra, el pin de entrada sera LOW cuando el switch esta abierto y HIGH cuando el switch este cerrado.

Si se usa una resitencia con acoplamiento a positivo, el pin de entrada sera HIGH cuando el switch este abierto y LOW cuando el switch este cerrado.

Pines Configurados comos INPUT_PULLUP (entrada con acoplamiento a positivo)

El microcontrolador ATmega microcontroller en el Arduino tiene resistencia acopladas a positivo internamente (resistencias que se conectan al poder internamente) que puedes usar. Si deseas usar estos en vez de resistencias externas, puedes usar el argumento INPUT_PULLUP en pinMode().

Ve el tutorial Input Pullup Serial para un ejemplode este uso.

Los pines configurados como INPUT o INPUT_PULLUP se pueden dañar o destruir si son conectados a voltajes bajo tierra ( negativos) o sobre el positivo (5V or 3V).

Pines Configurados como OUTPUT (salida)

Pines configurados como OUTPUT con pinMode() se dice que estan en un estado de baja-impedancia. Esto significa que pueden proveer una substancial cantidad de corriente a otros circuitos.Los pins del ATmega pueden originar (proveer corriente) o consumir (absorver corriente) hasta 40 mA (milliamps) de corriente hacia otros dispositivos/circuitos. Esto los hace utiles para dar enegia a LEDs porque los LEDs tipicamente usan menos de 40 mA. Cargas mayores a 40 mA (por ejem. motores) necesitaran un transistor u otro circuito de interfaz.

Los pines configurados como salidas se pueden dañar o destruir si son conectados a tierra o el canal positivo de energia.

Definiendo incorporados: LED_BUILTIN

La mayoria de las tarjetas Arduino tienen un pin conectado a un LED incorporado en serie con una resitencia. La constante LED_BUILTIN es el numero del pin en el cual esta conectado el LED incorporado. Generalmente este LED esta coenctado al pin digital 13.

See also