Skip to main content

Capa de percepción - Sesión 2

Objetivos
  • Comprender los conceptos básicos para realizar prototipado.
  • Explorar algunos de los sensores disponibles en el laboratorio

Introducción

El uso de sensores y actuadores permiten que las cosas interactuen con el mundo real. En esta sesión vamos a explorar los principales conceptos relacionados con los sensores y actuadores analizando una serie de ejemplos que demuestren su uso básico. Antes de comenzar esta sesión se recomienda que revise el siguiente material para contextualizarse:

  1. Presentaciones Interact with the phisycal world (lección 3) del curso IoT for Beginners (link) de Microsoft.

  2. Material teorico del curso disponible en Poner enlace

Componentes del laboratorio

En el laboratorio hay un gran numero de elementos para prototipado. En la siguiente tabla describe los elementos de hardware que usaremos en este laboratorio:

Elementos a emplear

A continuación se describen los principales elementos que se usaran a lo largo del curso

Sistemas de desarrollo

ElementoDescripción
Arduino UnoPlaca de desarrollo Arduino Uno (link)
Tarjeta de desarrollo ESP8266 NodeMCU WiFi DevkitTarjeta de desarrollo basada en ESP8266 (poner link)
Tarjeta de desarrollo NodeMCU-32STarjeda de desarrollo basada en el ESP-32S (poner link)
Arduino Nano 33 BLE Sense LiteTarjeta de desarrollo Arduino Nano 33 BLE Sense Lite (link). Importante: Tenga en cuenta la información dada en el siguiente foro

Kit de sensores

ElementoDescripción
Grove - Starter Kit v3Kit de desarrollo para prototipado rapido (link)
37 sensor kit ElegooKit de sensores Elegoo para prototipado rapido (link)
AlphaBot2 robot building kit for Arduino/Pi/PiZeroKit para prototipado de robots AlphaBot2 (link)
Landzo 37 In 1 Sensors Kit For ArduinoKit de sensores Landzo para prototipado (link)
Tiny Machine Learning KitTiny Machine Learning Kit [Manual de usuario] [link1] [link2]

Mapa de pines (pinout)

Placas de desarrollo

A continuación se describen los principales elementos que se usaran a lo largo del curso

Arduino UNO

La placa Arduino UNO es una plataforma de código abierto basada en el microcontrolador ATmega328P cuya alimentación es a 5V (cuando la alimentación es por USB) o en un voltaje DC entre 7 - 12 V cuando la alimentación es a traves del conector jack.

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)

La siguiente tabla resume la información del mapa de pines para el Arduino UNO:

Para mayor información sobre la placa puede consultar el enlace Arduino Uno Board Anatomy (link) . La siguiente tabla resume la información sobre los pines para esta placa:

TipoNotación pines (placa)
Digital/GPIOD0, D1, D2, ~D3, D4, ~D5, ~D6, D7, D8, ~D9
Analog inA0, A1, A2, A3, A4, A5
PWM~D3, ~D5, ~D6, ~D9, ~D10, ~D11
Serial (UART)Tx->, Rx<-
I2CA4/SDA, A5/SCL
Digital SPI~D10/SS, ~D11/MOSI, D12/MISO, D13/SCK
InterruptD1/INT0, D3/INT1

ESP32

Un sistema de desarrollo ESP32 (por ejemplo el NodeMCU-32S) esta basado en el microcontrolador ESP32 el cual cuenta con funcionalidad Wi-Fi y Bluetooth. La tarjeta de desarrollo opera a 3.3 V y es alimentada a traves de una conexión micro-USB de 5 V o directamente a 3.3 V a traves del pin VIN. Cuando se usa esta tarjeta de desarrollo es importante tener en cuenta que los pines GPIO no son tolerantes a 5 V, y la maxima corriente que pueden suministrar es de 12 mA.

La siguiente figura muestra el diagrama de pines asociado a la tarjeta de desarrollo Nodemcu-32s WIFI MODULE (link)

Tal y como se muestra en la siguiente figura, el modulo Nodemcu-32s tiene un total de 38 puertos:

La siguiente tabla resume la función principal algunos de estos:

TipoNotación pines (placa)
Digital (Only input)P34 [GPIO34], P35 [GPIO35], SVP [GPIO36], SVN [GPIO39]
Analog inSVP [GPIO36], SVN [GPIO39], P35 [GPIO 35], P34 [GPIO34], P32 [GPIO32], P33 [GPIO 33], P25 [GPIO25], P26 [GPIO26], P27 [GPIO27], P14 [GPIO14], P12 [GPIO12], P13 [GPIO13], P15 [GPIO15], P2 [GPIO2], P0 [GPIO0], P4 [GPIO4]
PWMSVP [GPIO36], SVN [GPIO39], P35 [GPIO 35], P34 [GPIO 34], P32 [GPIO 32], P33 [GPIO 33], P25 [GPIO25], P26 [GPIO26], P27 [GPIO27], P14 [GPIO14], P12 [GPIO12], P13 [GPIO13], P15 [GPIO15], P2 [GPIO2], P0 [GPIO0], P4 [GPIO4]
Serial (UART)Tx [GPI1], Rx [GPI3], D8 [TXD2], D7 [RXD2]
I2CP22 [GPI22/SCL], P21 [GPI21/SDA]
Digital SPIP23 [MOSI], P19 [MISO], P18 [SCK], P5 [SS]
Flash SPICLK [GPIO6/FLASHCLK], SD0 [GPIO7/FLASHD0], SD1 [GPIO7/FLASHD1], CMD [GPIO7/FLASHCMD], SD2 [GPIO9/FLASHD2], SD3 [GPIO9/FLASHD3]
Capacitive touchP0 [GPIO4]/TOUCH1, P4 [GPIO0]/TOUCH0, P2 [GPIO2/TOUCH2], P15 [GPIO15/TOUCH3], P13 [GPIO13/TOUCH4], P12 [GPIO12/TOUCH5], P14 [GPIO14/TOUCH6], P27 [GPIO7/TOUCH7]

Arduino Nano 33 BLE Sense

En construcción... datasheet

La siguiente tabla resume la función principal algunos de los pines de la placa Arduino Nano 33 BLE Sense:

TipoNotación pines (placa)
Digital/GPIO~D2, ~D3, ~D4, ~D5, ~D6, ~D7, ~D8, ~D9, ~D10, ~D11, ~D12, ~D13
Analog inA0, A1, A2, A3, A4, A5, A6, A7
PWM~D2, ~D3, ~D4, ~D5, ~D6, ~D7, ~D8, ~D9, ~D10, ~D11, ~D12, ~D13
Serial (UART)Tx, Rx
I2CA4/SDA, A5/SCL
Digital SPI~D11/MOSI, D12/MISO
InterruptTodos los pines digitales

Prototipado básico usando fritzing

Fritzing es una plataforma para plataforma permitira prototipar hardware en su computador y verificar su funcionamiento antes de hacer el montaje en fisico. Esta puede ser descargada del siguiente link.

Para realizar prototipado empleando elementos (de diferentes fabricantes) disponibles en kits de desarrollo puede seguir cualquiera de los dos enlaces que se muestran a continuación:

  1. How to Add Components in Fritzing (link)
  2. Fritzing (link)

La siguiente tabla muestra enlaces de algunos fabricantes que poseen librerias en fritzing:

FabricanteInformaciónRepositorioLink descarga
Adafruit
  • Using the Adafruit Library with Fritzing (link)
  • https://github.com/adafruit/Fritzing-Librarydescarga
    Sparkfun
  • Make Your Own Fritzing Parts (link)
  • Fritzing! (link)
  • https://github.com/sparkfun/Fritzing_Parts
    Seeed Studiohttps://github.com/Seeed-Studio/fritzing_partsseeed_fritzing_parts.fzbz
    Elegoohttps://github.com/marcinwisniowski/ElegooFritzingBinElegoo-0.6.3.fzbz
    NodeMCU y otros componenteshttps://github.com/AchimPieters/Fritzing-Custom-Parts
    ESP32 NodeMCU
  • ESP32S-HiLetgo Dev Boad with Pinout Template (link)
  • ESP32S_HiLetgo.fzpz
    Arduino Nano
  • Arduino Nano 33 BLE Sense (link)
  • Arduino Nano 33 BLE Sense.fzpz

    Actividad de laboratorio

    A continuación, se muestra una lista de proyectos con sus respectivos enlaces:

    #ProyectoLinkEquipo
    1Ultrasonic Security Systemhttps://projecthub.arduino.cc/Krepak/ultrasonic-security-system-a6ea3a
    2Arduino Calculatorhttps://projecthub.arduino.cc/123samridhgarg/arduino-calculator-bce0df
    3Arduino Solar Trackerhttps://projecthub.arduino.cc/Aboubakr_Elhammoumi/arduino-solar-tracker-77347b
    4Line Following Robothttps://projecthub.arduino.cc/lightthedreams/line-following-robot-34b1d3

    Teniendo en cuenta lo anterior:

    1. Cada equipo debera elegir uno de los proyectos y actualizar la columna de tabla anterior con los nombres de los integrantes.
    2. Dentro de la carpeta asociada a cada equipo hay una plantilla (archivo README.md) la cual debera ser modificado por cada equipo teniendo en cuenta el proyecto elegido.
    3. Hacer el diagrama en fritzing y subirlo en la respectiva carpeta.
    4. Revisar los siguientes sitios y elegir minimo tres proyectos que le puedan servir como base para el desarrollo de su proyecto IoT.

    Para profundizar

    Para profundizar un poco mas en la teoria sobre algunos de los diferentes tipos de sensores, en la siguiente tabla se muestra una lista de compenentes electronicos importantes:

    ElementoTutorial
    ResistenciasResistors
    LedsLight-Emitting Diodes (LEDs)
    PotenciometrosVoltage Dividers
    CapacitoresCapacitors
    DiodosDiodes
    TransistoresTransistors
    MotoresMotors and Selecting the Right One
    Display LCDBasic Character LCD Hookup Guide
    AcelerometroAccelerometer Basics
    Led InfrarrojoIR Communication
    Sensor de humedadSoil Moisture Sensor Hookup Guide
    GiroscopoGyroscope
    JoystickThumb Joystick Hookup Guide
    CablesWorking with Wire
    FotoceldaPhotocell Hookup Guide
    ServomotoresHobby Servo Tutorial
    BateriasBattery Technologies
    Sensor de temperaturaDHT11, DHT22 and AM2302 Sensors
    Sensor de ultrasonidoUltrasonic Sonar Distance Sensors
    Sensor de proximidadPIR Motion Sensor

    Referencias