Entradas y salidas digitales
m (Editor trasladó la página Usuario:Editor/Manual de programación Arduino/Entradas y salidas digitales a Manual de programación Arduino/Entradas y salidas digitales: Publicación) |
|||
(No se muestra una edición intermedia del mismo usuario) | |||
Línea 4: | Línea 4: | ||
Esta instrucción es utilizada en la parte de configuración ''setup ()'' y sirve para configurar el modo de trabajo de un '''PIN''' pudiendo ser '''INPUT''' (entrada) u '''OUTPUT''' (salida). | Esta instrucción es utilizada en la parte de configuración ''setup ()'' y sirve para configurar el modo de trabajo de un '''PIN''' pudiendo ser '''INPUT''' (entrada) u '''OUTPUT''' (salida). | ||
− | <code>pinMode(pin, OUTPUT); // configura ‘pin’ como salida</code> | + | <code>pinMode(pin, OUTPUT); ''// configura ‘pin’ como salida''</code> |
Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de vista eléctrico, como entradas en estado de alta impedancia. | Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de vista eléctrico, como entradas en estado de alta impedancia. | ||
Línea 10: | Línea 10: | ||
Estos pines tienen a nivel interno una resistencia de 20 KΩ a las que se puede acceder mediante software. Estas resistencias se accede de la siguiente manera: | Estos pines tienen a nivel interno una resistencia de 20 KΩ a las que se puede acceder mediante software. Estas resistencias se accede de la siguiente manera: | ||
− | <code>pinMode(pin, INPUT); // configura el ‘pin’ como entrada</code> | + | <code>pinMode(pin, INPUT); ''// configura el ‘pin’ como entrada''</code> |
− | <code>digitalWrite(pin, HIGH); // activa las resistencias internas</code> | + | <code>digitalWrite(pin, HIGH); ''// activa las resistencias internas''</code> |
Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior no se trata de convertir un pin en salida, es simplemente un método para activar las resistencias interiores. | Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior no se trata de convertir un pin en salida, es simplemente un método para activar las resistencias interiores. | ||
Línea 23: | Línea 23: | ||
Lee el valor de un pin (definido como digital) dando un resultado '''HIGH''' (alto) o '''LOW''' (bajo). El pin se puede especificar ya sea como una variable o una constante (0-13). | Lee el valor de un pin (definido como digital) dando un resultado '''HIGH''' (alto) o '''LOW''' (bajo). El pin se puede especificar ya sea como una variable o una constante (0-13). | ||
− | <code>valor = digitalRead(Pin); // hace que 'valor sea igual al estado leído en ‘Pin’</code> | + | <code>valor = digitalRead(Pin); ''// hace que 'valor sea igual al estado leído en ‘Pin’''</code> |
== digitalWrite(pin, value) == | == digitalWrite(pin, value) == | ||
Envía al ‘pin’ definido previamente como '''OUTPUT''' el valor '''HIGH''' o '''LOW''' (poniendo en 1 o 0 la salida). El pin se puede especificar ya sea como una variable o como una constante (0-13). | Envía al ‘pin’ definido previamente como '''OUTPUT''' el valor '''HIGH''' o '''LOW''' (poniendo en 1 o 0 la salida). El pin se puede especificar ya sea como una variable o como una constante (0-13). | ||
− | <code>digitalWrite(pin, HIGH); // deposita en el ‘pin’ un valor HIGH (alto o 1)</code> | + | <code>digitalWrite(pin, HIGH); ''// deposita en el ‘pin’ un valor HIGH (alto o 1)''</code> |
El siguiente ejemplo lee el estado de un pulsador conectado a una entrada digital y lo escribe en el ‘pin’ de salida LED: | El siguiente ejemplo lee el estado de un pulsador conectado a una entrada digital y lo escribe en el ‘pin’ de salida LED: | ||
− | <code>int led = 13; // asigna a LED el valor 13</code> | + | <code>int led = 13; ''// asigna a LED el valor 13''</code> |
− | <code>int boton = 7; // asigna a botón el valor 7</code> | + | <code>int boton = 7; ''// asigna a botón el valor 7''</code> |
− | <code>int valor = 0; // define el valor y le asigna el valor 0</code> | + | <code>int valor = 0; ''// define el valor y le asigna el valor 0''</code> |
<code>void setup()</code> | <code>void setup()</code> | ||
Línea 42: | Línea 42: | ||
<code>{</code> | <code>{</code> | ||
− | <code>pinMode(led, OUTPUT); // configura el led (pin13) como salida</code> | + | <code>pinMode(led, OUTPUT); ''// configura el led (pin13) como salida''</code> |
− | <code>pinMode(boton, INPUT); // configura botón (pin7) como entrada</code> | + | <code>pinMode(boton, INPUT); ''// configura botón (pin7) como entrada''</code> |
<code>}</code> | <code>}</code> | ||
Línea 52: | Línea 52: | ||
<code>{</code> | <code>{</code> | ||
− | <code>valor = digitalRead(boton); //lee el estado de la entrada botón</code> | + | <code>valor = digitalRead(boton); ''// lee el estado de la entrada botón''</code> |
− | <code>digitalWrite(led, valor); // envía a la salida ́led ́el valor leído</code> | + | <code>digitalWrite(led, valor); ''// envía a la salida ́led ́el valor leído''</code> |
<code>}</code> | <code>}</code> | ||
− | [[Categoría:Tecnología]] | + | [[Categoría:Tecnología]][[Category:Book:Manual_de_programación_Arduino]] |
Revisión actual del 14:07 3 jul 2019
pinMode(pin, mode)[editar | editar código]
Esta instrucción es utilizada en la parte de configuración setup () y sirve para configurar el modo de trabajo de un PIN pudiendo ser INPUT (entrada) u OUTPUT (salida).
pinMode(pin, OUTPUT); // configura ‘pin’ como salida
Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de vista eléctrico, como entradas en estado de alta impedancia.
Estos pines tienen a nivel interno una resistencia de 20 KΩ a las que se puede acceder mediante software. Estas resistencias se accede de la siguiente manera:
pinMode(pin, INPUT); // configura el ‘pin’ como entrada
digitalWrite(pin, HIGH); // activa las resistencias internas
Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior no se trata de convertir un pin en salida, es simplemente un método para activar las resistencias interiores.
Los pins configurado como OUTPUT (salida) se dice que están en un estado de baja impedancia estado y pueden proporcionar 40 mA (miliamperios) de corriente a otros dispositivos y circuitos. Esta corriente es suficiente para alimentar un diodo LED (no olvidando poner una resistencia en serie), pero no es lo suficiente grande como para alimentar cargas de mayor consumo como relés, solenoides, o motores.
Un cortocircuito en las patillas Arduino provocará una corriente elevada que puede dañar o destruir el chip Atmega. A menudo es una buena idea conectar en la OUTUPT (salida) una resistencia externa de 470 o de 1000 Ω.
digitalRead(pin)[editar | editar código]
Lee el valor de un pin (definido como digital) dando un resultado HIGH (alto) o LOW (bajo). El pin se puede especificar ya sea como una variable o una constante (0-13).
valor = digitalRead(Pin); // hace que 'valor sea igual al estado leído en ‘Pin’
digitalWrite(pin, value)[editar | editar código]
Envía al ‘pin’ definido previamente como OUTPUT el valor HIGH o LOW (poniendo en 1 o 0 la salida). El pin se puede especificar ya sea como una variable o como una constante (0-13).
digitalWrite(pin, HIGH); // deposita en el ‘pin’ un valor HIGH (alto o 1)
El siguiente ejemplo lee el estado de un pulsador conectado a una entrada digital y lo escribe en el ‘pin’ de salida LED:
int led = 13; // asigna a LED el valor 13
int boton = 7; // asigna a botón el valor 7
int valor = 0; // define el valor y le asigna el valor 0
void setup()
{
pinMode(led, OUTPUT); // configura el led (pin13) como salida
pinMode(boton, INPUT); // configura botón (pin7) como entrada
}
void loop()
{
valor = digitalRead(boton); // lee el estado de la entrada botón
digitalWrite(led, valor); // envía a la salida ́led ́el valor leído
}