No existe otra herramienta disponible que ayude a crear prototipos fácilmente como Arduino. Cualquier placa basada en un microcontrolador AVR que siga el esquema estándar de Arduino y esté actualizada con el gestor de arranque Arduino puede denominarse placa Arduino. Arduino se puede utilizar como una placa independiente, cuyas salidas o entradas se pueden tomar de las placas o alimentar a la placa mediante conectores convenientes. Las entradas y salidas digitales y analógicas están disponibles en todas las placas Arduino. Cuando se trata de programar la placa Arduino, cualquiera que tenga conocimientos básicos de programación en C puede comenzar a utilizar rápidamente el IDE de Arduino.
Dado que la placa Arduino puede actuar como un sistema independiente, debe tener capacidades para recibir entradas, procesarlas y luego generar la salida correspondiente. Es a través de estas entradas y salidas que Arduino como sistema puede comunicarse con el entorno. Las placas Arduino pueden comunicarse con otros dispositivos utilizando puertos de comunicación de entrada/salida digitales estándar como USART, IIC y USB, etc. Este artículo explica cómo utilizar la entrada y salida digital de la placa Arduino con la ayuda de un simple botón como dispositivo de entrada digital y un LED como dispositivo de salida digital.
Se supone que el lector ha leído el proyecto Introducción a Arduino. e hice todas las cosas que en él se comentan.
Fig. 2: Placa típica Arduino Pro-Mini
Este proyecto también utiliza la placa Arduino Pro-Mini y la misma versión de Arduino IDE 1.0.3.
Fig. 3: Ventana del software Arduino IDE
El dispositivo de salida digital en este proyecto en particular es un LED que está conectado al pin número 5 de la placa Arduino a través de una resistencia limitadora de corriente de 1K. Se conecta un botón al pin número 13 mediante una resistencia desplegable. El código lee continuamente el estado del pin número 13 que ha sido configurado como salida digital. Debido a la presencia de la resistencia desplegable, el valor predeterminado será cero (el valor cuando no se presiona la tecla). Cuando se presiona la tecla, el valor en el pin 13 de repente se vuelve lógico alto y el código detecta el cambio e ilumina el LED conectado al pin número 5.
CÓDIGO
botón const intPin = 13; // el número pin del botón
constante int ledPin = 5; // el número de pin del LED
// las variables cambiarán:
int estado del botón = 0; //variable para leer el estado del botón
configuración nula
{
// inicializa el pin LED como salida:
pinMode(ledPin, SALIDA);
// inicializa el pin del botón como entrada:
pinMode(botónPin, ENTRADA);
}
bucle vacío
{
// lee el estado del valor del botón:
Estado del botón = lectura digital (Pin del botón);
// comprueba si el botón está presionado.
// si es así, el estado del botón es ALTO:
si (estado del botón == ALTO)
{
//encender el LED:
escritura digital (ledPin, ALTA);
retraso(100);
}
otro
{
//apaga el LED:
escritura digital (ledPin, BAJO);
}
}
Todo el código Arduino tiene dos funciones básicas, a saber, configuración y bucle, que se explican en Primeros pasos con el proyecto Arduino . Además de estas funciones, hay otras cuatro funciones de biblioteca utilizadas en este proyecto, a saber, pinMode, digitalRead, digitalWrite y delay.
modo pin
La función pinMode es una función incorporada que se utiliza para definir un pin específico como entrada o salida. El primer parámetro es el número de pin y el segundo parámetro sugiere si el pin debe ser entrada o salida.
Por ejemplo, para hacer que el pin número 5 sea salida
pinMode (5, SALIDA);
Para hacer el pin número 6 como entrada
pinMode(6, ENTRADA);
escritura digital
digitalWrite es otra función que se puede usar para escribir un valor digital (0 lógico o lógico alto) en un determinado pin que ya se ha emitido usando la función pinMode.
Por ejemplo, para hacer que el pin número 5 sea lógico alto
escritura digital (5, ALTA);
Y dejar el mismo pin lógico bajo
escritura digital(5, ABAJO);
lectura digital
digitalRead es una función que se usa para leer el valor (logic0 o logic1) en un pin que ya se ha insertado usando la función pinMode. Supongamos que si el pin número 13 es un pin de entrada, entonces se puede usar la función pinMode para almacenar el valor del pin número 13 en una variable 'var' como se muestra en el siguiente ejemplo;
var = lectura digital(13);
La función devuelve el valor 0 o 1 según el voltaje en el pin número 13 de la variable 'var', que puede ser un número entero o un carácter.
demora
La función de retraso es una función muy útil para casi todos los proyectos y puede generar un retraso de milisegundos entre pasos de código.
Por ejemplo, para generar un retraso de 5 segundos,
retraso(5000);
Una vez que se complete la codificación, verifique el código y cárguelo en la placa Arduino como se menciona en el proyecto Cómo comenzar con arduino .
Código fuente del proyecto
###
/*================================= EG LABS ============= ============== ===========================
Enciende y apaga un diodo emisor de luz (LED) conectado a un dispositivo digital.
pin 5, al presionar un botón adjunto al pin 13.
El circuito:
* LED conectado desde el pin 5 a tierra a través de una resistencia de 1K
* pulsador conectado al pin 13 desde +5V
* Resistencia de 10K conectada al pin 13 desde tierra
//================================= EG LABS ============= ============== ===========================*/
// las constantes no cambiarán. Están acostumbrados aquí a
// establecer números de pin:
botón const intPin = 13; // el número del pin del pulsador
constante int ledPin = 5; // el número del pin del LED
// las variables cambiarán:
int estado del botón = 0; //variable para leer el estado del pulsador
configuración vacía
{
// inicializa el pin LED como salida:
pinMode(ledPin, SALIDA);
// inicializa el pin del pulsador como entrada:
pinMode(botónPin, ENTRADA);
}
bucle vacío
{
// lee el estado del valor del botón:
Estado del botón = lectura digital (Pin del botón);
// comprueba si el pulsador está presionado.
// si es así, el estado del botón es ALTO:
si (estado del botón == ALTO)
{
// enciende el LED:
escritura digital (ledPin, ALTA);
retraso(100);
}
demás
{
// apaga el LED:
escritura digital (ledPin, BAJO);
}
}
###
Diagramas de circuito
Diagrama de circuito usando entrada digital-salida digital-Arduino |
|
Componentes del proyecto
- Arduino ProMini
- CONDUJO
- Resistor
Vídeo del proyecto