Try   HackMD

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Experiencia Nº1: Onboarding IoT

<SIGLA> - <Nombre Asignatura>
<Semestre>
<Fecha>

Introducción

El término IoT (Internet of Things | Internet de las Cosas) debe su origen al británico Kevin Ashton quién por el año 1999 se encontraba desarrollando una propuesta de estudio relacionada a la incorporación de tecnología RFID (Radio Frequency Identification) a los servicios de paquetería. Tecnología que hoy se utiliza en servicios de tracking y delivery.

Dentro de sus preocupaciones se encontraba la necesidad de lograr un título de alto impacto que llame la atención a sus potenciales benefactores y los mantenga atentos durante su presentación. Para ello su intención era incluir la palabra internet debido a su auge y popularidad.

Teniendo en cuenta el área en estudio, nace de esta forma el concepto “internet of things” (Internet de las cosas), permitiendo incorporar a cualquier tipo de producto un sistema RFID.

En la actualidad IoT se ha convertido en un paradigma dentro de la industria informática, creando una nueva área que estudia la interacción de dispositivos con recursos limitados con la capacidad de interactuar entre sí utilizando internet, pasando del “Internet de las cosas” a “Internet para las cosas”.

Objetivos

1. Objetivo Principal:

Comprender el concepto de IoT a través de procedimientos empíricos pre-diseñados.

2. Objetivos Secundarios:

Introducir los conceptos básicos de IoT utilizando la placa de desarrollo Arduino nano 33 BLE Sense como fuente de sensores inalámbricos.

Programar, compilar y configurar placas de desarrollo vía Arduino IDE.

Interactuar con sensores inalámbricos de temperatura, humedad, gestos, color, proximidad y presión atmosférica.

Relacionar procedimientos empíricos con actividades del mundo real.

Materiales

  • 1 Placa Arduino nano 33 BLE Sense
  • 1 cable USB A - Micro USB
  • Soporte para placa o Protoboard

Plataformas

Marco Teórico

  1. Datasheet Arduino nano 33 BLE Sense

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Procedimiento empírico

I. Configurar placa de desarrollo en Arduino IDE

  • Abrir software Arduino IDE
  • Conectar la placa Arduino nano 33 BLE Sense al ordenador
  • Dentro del software ir a “Herramientas/Placa/Gestor de Tarjetas”
  • En la nueva ventana emergente buscar nano 33 ble sense
  • Instalar la última versión de “Arduino Mbed OS Nano Boards”
  • Cerrar la ventana y comprobar que en la ruta Herramientas/Placa se encuentre seleccionada la placa “Arduino Nano 33 BLE”
  • Si sigue la ruta “Herramientas/Obtener información de la placa” debe ver una ventana emergente parecida a la imágen inferior

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Entregue una captura de pantalla con la información de su placa.

II. Primeros Pasos: Blink

Blink es un script precargado en Arduino IDE diseñado como ejemplo inicial (“Hello World!”). Su principal función es controlar un LED incorporado en la placa de desarrollo y poder probar diversas configuraciones.

  • Con la placa configurada, siga la siguiente ruta en Arduino IDE: “Archivo/Ejemplos/Basic/Blink”
  • Se debe abrir una nueva ventana con el siguiente script pre-diseñado
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
  • Cargue el script en la placa de desarrollo presionando el ícono “⇨” de la esquina superior izquierda
  • Observe y explique lo sucedido en la caja de texto inferior
Modifique el script de Blink para que el LED parpadee tres veces a intervalos de 5 segundos.

III. Temperatura y Humedad: HTS221

  • Para medir la temperatura y humedad ambiental utilizando la placa de desarrollo nano 33 BLE sense instale la librería “Arduino_HTS221” en la ruta “Herramientas/Administrar Bibliotecas”
  • Abra el ejemplo “ReadSensors” de la librería instalada en el paso anterior
  • Cargue el script en la placa de desarrollo presionando el ícono “⇨” de la esquina superior izquierda
  • Abra el monitor serie presionando la lupa de la esquina superior derecha.
  • Registre el output de salida de al menos tres mediciones en la caja inferior.
Modifique el script de ReadSensors para parpadee un LED cada vez que la humedad registrada sea superior al 50%.

IV. Acelerómetro y Giroscopio: LSM9DS1

  • Para obtener datos relacionados a detección de movimiento (Acelerómetro y Giroscopio) utilizando la placa de desarrollo nano 33 BLE sense instale la librería “Arduino_LSM9DS1” en la ruta “Herramientas/Administrar Bibliotecas”
  • Abra el ejemplo “SimpleGyroscope” de la librería instalada en el paso anterior
  • Cargue el script en la placa de desarrollo presionando el ícono “⇨” de la esquina superior izquierda
  • Abra el monitor serie presionando la lupa de la esquina superior derecha.
  • Registre el output de salida de al menos tres mediciones en la caja inferior.
Modifique el script de SimpleGyroscope para que muestre un mensaje en el monitor serial cada vez que se detecte un giro horario y antihorario tomando como referencia el eje x (Eje longitudinal a la placa)

V. Proximidad y Detección de Gestos: APDS-9960

  • Para obtener datos relacionados a detección de movimiento (Acelerómetro y Giroscopio) utilizando la placa de desarrollo nano 33 BLE sense instale la librería “Arduino_APDS9960” en la ruta “Herramientas/Administrar Bibliotecas”
  • Abra el ejemplo “FullExample” de la librería instalada en el paso anterior
  • Cargue el script en la placa de desarrollo presionando el ícono “⇨” de la esquina superior izquierda
  • Abra el monitor serie presionando la lupa de la esquina superior derecha.
  • Realice movimientos entre 10 y 20 [cm] sobre la placa para modificar los valores del sensor de proximidad.
  • Registre el output de salida de al menos tres mediciones en la caja inferior.
Modifique el script de FullExample para que parpadee un led con mayor frecuencia a medida que un objeto se acerque a la placa (Entre 10 y 20 [cm]).

VI. Presión Barométrica: LPS22HB

  • Para obtener datos relacionados a detección de movimiento (Acelerómetro y Giroscopio) utilizando la placa de desarrollo nano 33 BLE sense instale la librería “Arduino_LPS22HB” en la ruta “Herramientas/Administrar Bibliotecas”
  • Abra el ejemplo “ReadPressure” de la librería instalada en el paso anterior
  • Cargue el script en la placa de desarrollo presionando el ícono “⇨” de la esquina superior izquierda
  • Abra el monitor serie presionando la lupa de la esquina superior derecha.
  • Registre el output de salida de al menos tres mediciones en la caja inferior.
Modifique el script de ReadPressure para que muestre un mensaje en el monitor serial correspondiente a los metros sobre el nivel del mar [m.s.n.m] de su actual posición dada una presión atmosférica en [kPa]

Hint:

int p_altitud(float P){
    int altitud;
    altitud=0;
    // kPa to mbar
    P = P*10;
     if (P>44 && P<1070){
         altitud = round((44330.7606715224)*(1-pow(P/1013.25,1/5.2559)));
    }
    return altitud;
}