Modelo de programación
Existen...
API de Arduino
Para la programación de sistemas embebidos es necesario conocer la arquitectura del microcontrolador que se esta empleando. Debido a esto, para la programación de un sistema embebido no solo basta con tener clara la lógica que lo que desea que haga el programa que alli se ejecutará, sino aspectos de bajo nivel relacionados con el hardware (lo cual obliga a tener a la mano documentación adicional como un manual de programación dependiente del procesador, la documentación tecnica del microcontrolador, etc.) lo cual dificulta la tarea de programación.
Afortunadamente, a lo largo del curso no tendremos que preocuparnos por detalles de bajo ya que los sistemas que usaremos soportan el API de programación de Arduino.
El API de arduino espone un conjunto de funciónes y estructuras (constantes, variables, tipos de datos, objetos, etc) que permiten la interección con el hardware soportado sin necesitad de preocuparnos por aquellos detalles de bajo nivel lo cual facilita el desarrollo de aplicaciones pues gracias a la abstracción, el programador no se tiene que preocupar por los detalles de bajo nivel. La información del API se encuentra en la pagina Language Reference (link).
Funciones basicas del API de Arduino
Como usted habra notado en los ejemplos previamente analizados (link) se emplearon algunas funciones del API de arduino para controlar el funcionamiento de la placa de desarrollo. A continuación se exponen algunas de estas funciones. En el documento Arduino Programming Notebook (link) se encuentra una descripción muy completa de las principales funciones empleadas cuando se trabaja con arduino, sin embargo a continuación vamos a resumir algunas de las principalmente usadas.
Entrada y Salida digital
Las funciones de entrada y salida permiten básicamente dos cosas:
Configurar los puertos (pines) como entradas o salidas digitales
Permite leer o escribir dichos puertos de acuerdo a la forma como fueron configurados.
La siguiente tabla resume algunas de estas:
Función | Descripción |
---|---|
| Escribe un valor
|
| Lee el valor de un puerto determinado (link).
Sintaxis:
Valores retornados:
|
| Permite configurar un puerto como entrada o salida (link). Sintaxis:
Parámetros:
|
Entrada y Salida análoga
Permiten interactuar (leer o escribir) con puertos que funcionan como entradas o salidas análogas. La siguiente tabla muestra resume algunas de estas:
Función | Descripción |
---|---|
| Escribe un valor análogo (modificando el valor del ciclo de dureza de una onda PWM) a un puerto (link). Sintaxis:
Valores retornados:
|
| Escribe un valor análogo (modificando el valor del ciclo de dureza de una onda PWM) a un puerto (link)
Sintaxis:
|
Bases de tiempo
Son funciones empleadas para la crear retardos y generar marcas de tiempos en los programas, existen varias funciones para este fin como delay()
, delayMicroseconds()
, micros()
y millis()
. La siguiente tabla describe la función delay()
que fue la empleada en los ejemplos anteriores:
Función | Descripción |
---|---|
| Detiene el programa por una cantidad de tiempo (en milisegundos) especificada como parámetro (link). Sintaxis:
|
Manejo del puerto serial
A continuación se muestran algunas de las funciones empleadas para el manejo del puerto serial:
Función | Descripción |
---|---|
| Configura la velocidad de transmisión serial (bits por segundo = baud).
Sintaxis:
|
| Imprime los datos del puerto serial en formato ASCII. Sintaxis:
|
| Obtiene el número de bytes (caracteres) disponibles por leer en el puerto serial. Estos son datos que ya han llegado y han sido almacenados en el buffer de recepción serial (el cual almacena 64 bytes).
Sintaxis:
|
| Lee un dato que entra a través del serial.
Sintaxis:
|
Last updated