viernes, 29 de noviembre de 2019

Encendemos LEDs (I)

En esta entrada vamos a repetir el parpadeo del primer LED y lo ampliaremos para que lo hagan todos los LEDs de la segunda fila.


Vamos a utilizar las siguientes instrucciones del IDE Arduino:


pinMode(pin,modo)
Configura el pin indicado como entrada (INPUT) o como salida (OUTPUT).
digitalWrite(pin,valor)
Escribe en el pin correspondiente un valor alto (HIGH, próximo a 3v) o bajo (LOW, próximo a 0v).
delay(milisegundos)
Detiene el programa el tiempo indicado en milisegundos

Parpadeo de un solo LED:
/*
 * parpadeoLed.ino
 * Parpadeo del primer led de la matriz,
 * conectado a los pines 26 (fila) y 3 (columna).
 * Las instrucciones que pongamos en setup()
 * sólo se ejecutan una vez, al inicio.
 * Las instrucciones en loop() se repiten de 
 * manera permanente.
 */


void setup() {
 pinMode(26,OUTPUT);    //Programamos los pines
 pinMode(3,OUTPUT);     //como salidas.
 digitalWrite(26,HIGH); //Activamos la fila.
}

void loop() {
  digitalWrite(3,LOW);  //Encendemos el led
  delay(500);           //Esperamos medio segundo
  digitalWrite(3,HIGH); //Apagamos el led
  delay(500);           //Esperamos medio segundo
}

Ahora lo modificamos para que parpadeen los cinco LEDs de la segunda fila:
/*
 * parpadeoFila2.ino
 * Parpadeo de los cinco LEDs de la fila 2.
 * pin fila: 28
 * pines columnas: 25, 24, 23, 9 y 7
 */

void setup() {
  pinMode(28,OUTPUT);
  pinMode(25,OUTPUT);
  pinMode(24,OUTPUT);
  pinMode(23,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(7,OUTPUT);
  digitalWrite(28,HIGH); //activamos fila
}

void loop() {
  digitalWrite(25,LOW); //encendemos
  digitalWrite(24,LOW);
  digitalWrite(23,LOW);
  digitalWrite(9,LOW);
  digitalWrite(7,LOW);
  delay(500);
  digitalWrite(25,HIGH); //apagamos
  digitalWrite(24,HIGH);
  digitalWrite(23,HIGH);
  digitalWrite(9,HIGH);
  digitalWrite(7,HIGH);
  delay(500);
}





jueves, 28 de noviembre de 2019

La matriz de LEDs

Micro:bit dispone de una matriz de diodos LED dispuestos, externamente, en 5 filas por 5 columnas (5x5).

Sin embargo, internamente están conectados utilizando 3 filas por 9 columnas. En la imagen se muestra el esquema y el número de los pines.



Aquí se indican los pines correspondientes a cada uno de los LED:

Para encender un led hay que poner un nivel de voltaje alto (1 ó HIGH) en el pin correspondiente a la fila y un nivel bajo (0 ó LOW) en el pin de la columna.


Ahora bién, sólo podemos encender a la vez y de manera independiente los led de una misma fila. Por ejemplo, si quisiéramos encender los led iniciales de la primera y la última fila de la matriz de 5x5 (pines 26-3  y  28-10), también se encendería el último led de la primera fila y el tercer led de la última (pines 26-10  y  28-3).


Para poder trabajar independientemente con todos los led hay que recurrir al sistema de multiplexado. Se trata de encender/apagar en secuencia cada una de las filas a una velocidad suficientemente rápida (más de 50 veces por segundo)  para que nuestros ojos los vean todos encendidos.

De momento, en las próximas entradas, haremos algunos programas trabajando únicamente con los led que estén conectados a la misma fila, para evitar el multiplexado.


jueves, 7 de noviembre de 2019

Instalación del IDE Arduino

Paso 1.- Descargar el IDE Arduino del siguiente enlace con la página oficial:


Paso 2.- Instalar El IDE Arduino siguiendo las instrucciones y ejecutarlo:


Paso 3.- Abrir la ventana Preferencias, se encuentra en el menú Archivo. En "Gestor de URLs adicionales de tarjetas" copiar y pegar la siguiente dirección: 

https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json




Paso 4.- Seleccionar Herramientas---Placa---Gestor de tarjetas:


Instalar "Nordic Semiconductor nRF5 Board"


Paso 5.- Cambiar la placa Arduino por BBC microbit:



Paso 6.- En Softdevice seleccionar S110:

Paso 7.- En Programador elegir CMSIS-DAP:



Paso 8.- Conectar la tarjeta micro:bit al ordenador utilizando un cable USB y comprobar que el IDE Arduino ha detectado correctamente el puerto en el que se ha instalado:




Paso 9.- Por último, vamos a subir a micro:bit un pequeño programa que hace parpadear un LED. Copiar el texto adjunto, pegarlo en la pantalla del IDE Arduino y pinchar en Subir para cargar el programa en la tarjeta. El primer diodo LED debe encenderse y apagarse a intervalos de medio segundo.


void setup() {
 pinMode(26,OUTPUT);
 pinMode(3,OUTPUT);
 digitalWrite(26,HIGH);
}
void loop() {
  digitalWrite(3,LOW);
  delay(500);
  digitalWrite(3,HIGH);
  delay(500);
}














Micro:bit

Micro:bit es una pequeña tarjeta programable con la que podemos introducirnos en el mundo de la programación y la robótica. En su web oficial podéis encontrar toda la información sobre ella:






Para su programación proponen la utilización del editor MakeCode (utilizando bloques) o del lenguaje Phyton.

En este blog vamos a programarla con el entorno de desarrollo de la popular tarjeta Arduino. No es necesario tener conocimientos previos de programación, ya que partimos, prácticamente, desde cero.