Está en la página 1de 12

Referencia idiomática.

El lenguaje de programació n Arduino se puede dividir en tres partes principales: funciones, valores (variables
y constantes) y estructura.

Funciones.

Para controlar la placa arduino y realizar cá lculos.

Entradas y salidas digitales.

digitalRead ()

[e/s digital]

Descripción.

Lee el valor de un pin digital especificado, ya sea high(alto) o low(bajo).

Sintasix.

digitalRead(pin)

parámetros.

Pin: el numero de pin del arduino que desea leer.

Código ejemplo:

Establece el pin 13 al mismo valor que el pin 7, declarado como entrada.

int ledPin = 13; // LED connected to digital pin 13


int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value

void setup() {
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input
}

void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's value
}

Notas y advertencias.

Si el pin no está conectado a nada, digitalRead() puede regresar HIGH o LOW (y esto puede cambiar
al azar).

Los pines de entrada analó gica se pueden usar como pines digitales, denominados A0, A1, etc. La excepci ó n
son los pines A6 y A7 de Arduino Nano, Pro Mini y Mini, que solo se pueden usar como entradas anal ó gicas.
Pines digitales.

Los pines del Arduino se pueden configurar como entradas o salidas.  Este documento explica el
funcionamiento de los pines en esos modos. Si bien el título de este documento se refiere a los pines digitales,
es importante tener en cuenta que la gran mayoría de los pines analó gicos de Arduino (Atmega) se pueden
configurar y utilizar exactamente de la misma manera que los pines digitales.

Propiedades de los pines configurados como ENTRADA.

Los pines de Arduino (Atmega) son entradas predeterminadas, por lo que no es necesario declararlas
explícitamente como entradas con pinMode () cuando las usa como entradas. Se dice que los pines
configurados de esta manera está n en un estado de alta impedancia. Los pines de entrada hacen demandas
extremadamente pequeñ as en el circuito que está n muestreando, equivalente a una resistencia en serie de 100
megaohmios delante del pin. Esto significa que se necesita muy poca corriente para mover el pin de entrada
de un estado a otro, y puede hacer que los pines sean ú tiles para tareas tales como implementar un sensor
tá ctil capacitivo  , leer un LED como un fotodiodo o leer un sensor analó gico con un esquema.
como RCTime.

Sin embargo, esto también significa que los pines configurados como pinMode (pin, INPUT) sin nada
conectado a ellos, o con cables conectados a ellos que no está n conectados a otros circuitos, informará n
cambios aparentemente aleatorios en el estado del pin, captando ruido el éctrico del entorno, o acoplar
capacitivamente el estado de un pin cercano.

Resistencias pullup con pines configurados como ENTRADA.

A menudo es ú til dirigir un pin de entrada a un estado conocido si no hay ninguna entrada presente.  Esto se
puede hacer agregando una resistencia pullup (a + 5V) o una resistencia pulldown (resistencia a tierra) en la
entrada. Una resistencia de 10K es un buen valor para una resistencia pullup o pulldown.

Propiedades de los pines configurados como INPUT_PULLUP.

Hay resistencias pullup de 20K integradas en el chip Atmega a las que se puede acceder desde el software.  Se
accede a estas resistencias pullup incorporadas configurando pinMode () como INPUT_PULLUP.  Esto
efectivamente invierte el comportamiento del modo ENTRADA, donde ALTO significa que el sensor est á
apagado y BAJO significa que el sensor está encendido.

El valor de este pullup depende del microcontrolador utilizado.  En la mayoría de las placas basadas en AVR,
se garantiza que el valor estará entre 20 kΩ y 50 kΩ. En Arduino Due, está entre 50kΩ y 150kΩ. Para conocer
el valor exacto, consulte la hoja de datos del microcontrolador en su placa.

Al conectar un sensor a un pin configurado con INPUT_PULLUP, el otro extremo debe estar conectado a
tierra. En el caso de un interruptor simple, esto hace que el pin lea ALTO cuando el interruptor está abierto y
BAJO cuando se presiona el interruptor.

Las resistencias pullup proporcionan suficiente corriente para iluminar débilmente un LED conectado a un
pin que se ha configurado como entrada. Si los LED de un proyecto parecen estar funcionando, pero muy
débilmente, es probable que esto sea lo que está sucediendo.
Las resistencias pullup está n controladas por los mismos registros (ubicaciones de memoria de chip interno)
que controlan si un pin es ALTO o BAJO. En consecuencia, un pin que está configurado para tener
resistencias pullup encendidas cuando el pin es una ENTRADA, tendrá el pin configurado como ALTO si el
pin luego se cambia a una SALIDA con pinMode (). Esto también funciona en la otra direcció n, y un pin de
salida que se deja en un estado ALTO tendrá las resistencias pullup configuradas si se cambia a una entrada
con pinMode ().

Antes de Arduino 1.0.1, era posible configurar los pull-ups internos de la siguiente manera:

NOTA: La clavija digital 13 es má s difícil de usar como entrada digital que las otras clavijas digitales porque
tiene un LED y una resistencia conectados que está n soldados a la placa en la mayoría de las placas. Si
habilita su resistencia pull-up interna de 20k, colgará alrededor de 1.7V en lugar de los 5V esperados porque
el LED integrado y la resistencia en serie bajan el nivel de voltaje, lo que significa que siempre regresa
BAJO. Si debe usar el pin 13 como entrada digital, establezca su pinMode () en INPUT y use una resistencia
de extracció n externa.

Propiedades de los pines configurados como SALIDA.

Se dice que los pines configurados como SALIDA con pinMode() 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 positiva) o disipar (proporcionar
corriente negativa) hasta 40 mA (miliamperios) de corriente a otros dispositivos / circuitos.  Esta es suficiente
corriente para iluminar brillantemente un LED (no olvide la resistencia en serie), o hacer funcionar muchos
sensores, por ejemplo, pero no suficiente corriente para hacer funcionar la mayor ía de los relés, solenoides o
motores.

Los cortocircuitos en los pines de Arduino, o intentar ejecutar dispositivos de alta corriente desde ellos,
pueden dañ ar o destruir los transistores de salida en el pin, o dañ ar todo el chip Atmega. A menudo, esto dará
como resultado un pin "muerto" en el microcontrolador, pero el chip restante seguir á funcionando
adecuadamente. Por esta razó n, es una buena idea conectar los pines de SALIDA a otros dispositivos con
resistencias de 470 Ω o 1k, a menos que se requiera un consumo má ximo de corriente de los pines para una
aplicació n en particular.

digitalWrite ()
[E/S digital].
Descripción.

Escriba un valor HIGHo LOW en un pin digital.

Si el pin se ha configurado como OUTPUT con pinMode(), su voltaje se establecerá en el valor


correspondiente: 5V (o 3.3V en placas de 3.3V) para HIGH, 0V (tierra) para LOW.

Si el pin está configurado como un INPUT, digitalWrite() habilitará (HIGH) o deshabilitará (LOW)


el pullup interno en el pin de entrada. Se recomienda configurar pinMode()a INPUT_PULLUP para
habilitar la resistencia pull-up interna. Consulte el tutorial de Pines digitales  para obtener má s informació n.

Si no configura el pinMode() a OUTPUT y no conecta un LED a un pin, al llamar digitalWrite(HIGH), el


LED puede aparecer atenuado. Sin un ajuste explícito pinMode(), digitalWrite()habrá habilitado la
resistencia de pull-up interna, que actú a como una gran resistencia limitadora de corriente.

Sintaxis.

digitalWrite(pin, value).

Parámetros.

pin: el nú mero de pin de Arduino.


value: HIGHo LOW.

Devoluciones.

Nada

Código de ejemplo.

El có digo hace que el pin digital 13 sea como una  OUTPUT y lo alterna entre HIGH y  LOW a un tiempo
de un segundo.

void setup() {
pinMode(13, OUTPUT); // sets the digital pin 13 as output
}

void loop() {
digitalWrite(13, HIGH); // sets the digital pin 13 on
delay(1000); // waits for a second
digitalWrite(13, LOW); // sets the digital pin 13 off
delay(1000); // waits for a second
}

Notas y advertencias.

Los pines de entrada analó gica se pueden usar como pines digitales, denominados A0, A1, etc. La excepci ó n
son los pines A6 y A7 de Arduino Nano, Pro Mini y Mini, que solo se pueden usar como entradas anal ó gicas.

Pines digitales.
Los pines del Arduino se pueden configurar como entradas o salidas.  Este documento explica el
funcionamiento de los pines en esos modos. Si bien el título de este documento se refiere a los pines digitales,
es importante tener en cuenta que la gran mayoría de los pines analó gicos de Arduino (Atmega) se pueden
configurar y utilizar exactamente de la misma manera que los pines digitales.

Propiedades de los pines configurados como ENTRADA.

Los pines de Arduino (Atmega) son entradas predeterminadas, por lo que no es necesario declararlas
explícitamente como entradas con pinMode () cuando las usa como entradas. Se dice que los pines
configurados de esta manera está n en un estado de alta impedancia . Los pines de entrada hacen demandas
extremadamente pequeñ as en el circuito que está n muestreando, equivalente a una resistencia en serie de 100
megaohmios delante del pin. Esto significa que se necesita muy poca corriente para mover el pin de entrada
de un estado a otro, y puede hacer que los pines sean ú tiles para tareas tales como implementar un sensor
tá ctil capacitivo  , leer un LED como un fotodiodo o leer un sensor analó gico con un esquema.
como RCTime.

Sin embargo, esto también significa que los pines configurados como pinMode (pin, INPUT) sin nada
conectado a ellos, o con cables conectados a ellos que no está n conectados a otros circuitos, informará n
cambios aparentemente aleatorios en el estado del pin, captando ruido el éctrico del entorno, o acoplar
capacitivamente el estado de un pin cercano.

Resistencias pullup con pines configurados como ENTRADA.

A menudo es ú til dirigir un pin de entrada a un estado conocido si no hay ninguna entrada presente.  Esto se
puede hacer agregando una resistencia pullup (a + 5V) o una resistencia pulldown (resistencia a tierra) en la
entrada. Una resistencia de 10K es un buen valor para una resistencia pullup o pulldown.

Propiedades de los pines configurados como INPUT_PULLUP.

Hay resistencias pullup de 20K integradas en el chip Atmega a las que se puede acceder desde el software.  Se
accede a estas resistencias pullup incorporadas configurando pinMode () como INPUT_PULLUP.  Esto
efectivamente invierte el comportamiento del modo ENTRADA, donde ALTO significa que el sensor est á
apagado y BAJO significa que el sensor está encendido.

El valor de este pullup depende del microcontrolador utilizado.  En la mayoría de las placas basadas en AVR,
se garantiza que el valor estará entre 20 kΩ y 50 kΩ. En Arduino Due, está entre 50kΩ y 150kΩ. Para conocer
el valor exacto, consulte la hoja de datos del microcontrolador en su placa.

Al conectar un sensor a un pin configurado con INPUT_PULLUP, el otro extremo debe estar conectado a
tierra. En el caso de un interruptor simple, esto hace que el pin lea ALTO cuando el interruptor está abierto y
BAJO cuando se presiona el interruptor.

Las resistencias pullup proporcionan suficiente corriente para iluminar débilmente un LED conectado a un
pin que se ha configurado como entrada. Si los LED de un proyecto parecen estar funcionando, pero muy
débilmente, es probable que esto sea lo que está sucediendo.

Las resistencias pullup está n controladas por los mismos registros (ubicaciones de memoria de chip interno)
que controlan si un pin es ALTO o BAJO. En consecuencia, un pin que está configurado para tener
resistencias pullup encendidas cuando el pin es una ENTRADA, tendrá el pin configurado como ALTO si el
pin luego se cambia a una SALIDA con pinMode (). Esto también funciona en la otra direcció n, y un pin de
salida que se deja en un estado ALTO tendrá las resistencias pullup configuradas si se cambia a una entrada
con pinMode ().

Antes de Arduino 1.0.1, era posible configurar los pull-ups internos de la siguiente manera:

pinMode(pin, INPUT); // set pin to input


digitalWrite(pin, HIGH); // turn on pullup resistors

NOTA: La clavija digital 13 es má s difícil de usar como entrada digital que las otras clavijas digitales porque
tiene un LED y una resistencia conectados que está n soldados a la placa en la mayoría de las placas. Si
habilita su resistencia pull-up interna de 20k, colgará alrededor de 1.7V en lugar de los 5V esperados porque
el LED integrado y la resistencia en serie bajan el nivel de voltaje, lo que significa que siempre regresa
BAJO. Si debe usar el pin 13 como entrada digital, establezca su pinMode () en INPUT y use una resistencia
de extracció n externa.

Propiedades de los pines configurados como SALIDA.

Se dice que los pines configurados como SALIDA con pinMode () 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 positiva) o disipar (proporcionar
corriente negativa) hasta 40 mA (miliamperios) de corriente a otros dispositivos / circuitos.  Esta es suficiente
corriente para iluminar brillantemente un LED (no olvide la resistencia en serie), o hacer funcionar muchos
sensores, por ejemplo, pero no suficiente corriente para hacer funcionar la mayor ía de los relés, solenoides o
motores.

Los cortocircuitos en los pines de Arduino, o intentar ejecutar dispositivos de alta corriente desde ellos,
pueden dañ ar o destruir los transistores de salida en el pin, o dañ ar todo el chip Atmega. A menudo, esto dará
como resultado un pin "muerto" en el microcontrolador, pero el chip restante seguir á funcionando
adecuadamente. Por esta razó n, es una buena idea conectar los pines de SALIDA a otros dispositivos con
resistencias de 470 Ω o 1k, a menos que se requiera un consumo má ximo de corriente de los pines para una
aplicació n en particular.

También podría gustarte