La tarjeta de desarrollo Arduino UNO es la plataforma ideal para empezar a realizar las pruebas necesarias para el curso. Recordemos que antes de empezar a trabajar con cualquier plataforma de desarrollo es necesario conocer como mínimo el mapa de pines de esta. A continuación, se muestra el mapa de pines para la tarjeta Arduino UNO (link)
Pin Out Arduino UNO
La siguiente tabla resume la información del mapa de pines para el Arduino UNO:
Tipo
Digital/GPIO
Notación pines (placa)
D0, D1, D2, ~D3, D4, ~D5, ~D6,
D7, D8, ~D9
Tipo
Analog in
Notación pines (placa)
A0, A1, A2, A3, A4, A5
Tipo
PWM
Notación pines (placa)
~D3, ~D5, ~D6, ~D9, ~D10, ~D11
Tipo
Serial (UART)
Notación pines (placa)
Tx->, Rx<-
Tipo
I2C
Notación pines (placa)
A4/SDA, A5/SCL
Tipo
Digital SPI
Notación pines (placa)
~D10/SS, ~D11/MOSI, D12/MISO, D13/SCK
Tipo
Interrupt
Notación pines (placa)
D1/INT0, D3/INT1
Funciones principales del API
Es importante notar, que los pines son multifuncionales, es decir, pueden ser empleados para diferentes funciones. La determinación de la función que puede llevar un pin se hace por programación. Para analizar los ejemplos se recomienda que tenga a la mano el documento Arduino Cheat Sheet (adjunto a continuación). Este contiene un resumen de algunas de las principales funciones que se usan para programar plataformas Arduino. Para mas información sobre estas puede consultar la sección Language Reference.
Ademas de las funciones, propias del API de Arduino, es posible hacer uso de librerias para agregar funcionalidad extra (tal y como sucede con el software). Una de las mayores fortalezas de la plataforma Arduino se encuentra en que esta posee una gran numero de librerias. En la sección Libraries se encuentra toda la información relacionada con diferentes librerias existentes, hardware soportado y, adicionalmente, se muestra como realizar una libreria. Hay tres cosas fundamentales para trabajar con librerias:
Cuando se tienen unas nociones basicas de programación, la mejor manera para aprender consiste en leer, ejecutar y comprender código a traves del desarrollo de ejemplos sencillos. Luego, y luego, aplicando lo ya aprendido realizar la adaptación del código al caso particular. Para hacer esto, nuestra recomendación es que tenga a la mano los siguientes materiales:
Este ejemplo es tomado de Fading. En este ejemplo se modifica el brillo de un led de manera automatica.
Código
Esquemático
Conexiones
Ejemplo 4
Este ejemplo es tomado de Analog Read Serial. Aqui, se lee un potenciometro y se imprime su estado a traves del monitor serial.
Código
Esquemático
Conexiones
Ejemplo 5
Este ejemplo es tomado de Analog In, Out Serial. Aqui, se usa un potenciometro para controlar el brillo de un led; adicionalmente, se imprime su estado a traves del monitor serial.
Código
Esquemático
Conexiones
Actividad
El proceso de trabajo a lo largo de esta sesión de trabajo será:
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}