4- M贸dulos, sensores e Interfaces para Arduino.

La esencia y el prop贸sito general de Arduino es desarrollar dispositivos electr贸nicos r谩pida y eficazmente.聽 Arduino es un controlador universal sobre la base del cual puede hacer un dispositivo completo de prop贸sito absolutamente arbitrario, desde 煤til (reloj de alarma, rel茅 de tiempo con un mont贸n de configuraciones y pantalla, automatizaci贸n de invernadero, hogar inteligente…) a in煤til, pero divertido o interesante (un ventilador, un coche controlado por radio con una pistola, un robot con muchas funciones, etc).聽Para lograr estos objetivos, varios dispositivos externos y sensores est谩n conectados a Arduino, con los que puede interactuar.

Empecemos por el mundo digital, en el que los dispositivos se comunican entre s铆 mediante se帽ales digitales, las llamadas l贸gicas, es decir, que tienen dos estados m谩s simples: verdadero y falso, s铆 y no, 1 y 0. En la mayor铆a de los dispositivos digitales, estos dos estados se transmiten por voltaje 0 y 5 voltios, pero tambi茅n hay 0 y 3.3 voltios.聽Por lo tanto, el microcontrolador puede esencialmente medir una se帽al digital (lo que se suministra al pin, 0 o 5 voltios), o emitir 0 y 5 voltios en su pin, respectivamente.聽La se帽al digital codificada se parece a esto: saltos de 0 y 5 (o 3,3) voltios con diferentes duraciones.

Fornas de se帽al Bus SPI
Formas de se帽al del Bus SPI

El conjunto de reglas y longitudes de las secciones de 5 y 0 voltios puede denominarse protocolo de comunicaci贸n, o聽interfaz, bus.


Pinout Arduino Nano.

Pinout del Arduino Nano.
Pinout del Arduino Nano.
  • GPIO聽es el puerto de E / S b谩sico.聽Puede leer y emitir se帽ales digitales (solo 0 y 5 voltios).
  • PWM: puede generar una se帽al PWM de hardware. (Anchura de pulso modulada).
  • ANAL脫GICO: pin de ADC, convertidor de anal贸gico a digital.聽Puede medir voltaje variable.
  • UART: pines UART de hardware para conectar m贸dulos con la misma interfaz de comunicaci贸n serie.
  • I2C: pines del bus I2C de hardware para conectar m贸dulos con la misma interfaz.
  • SPI: pines del bus SPI de hardware para conectar m贸dulos con la misma interfaz.


Sensores digitales simples para Arduino.

Cualquier sensor que tenga un pin con una salida l贸gica puede atribuirse al tipo digital, es decir, el voltaje en este pin solo puede ser de 0 o 5 voltios, dependiendo de la lectura del sensor.聽Ejemplo, detector de movimiento por infrarrojos, un bot贸n, un sensor de l铆nea, el codificador, as铆 como pr谩cticamente todos los dem谩s sensores con pines de alimentaci贸n y de salida marcados como聽聽DO,聽聽OUT聽聽o聽聽S.

Dichos m贸dulos est谩n conectados a cualquier聽聽聽pines聽GPIO.

Sensores digitales para arduino
Sensores digitales para arduino


Interfaces.

Algunos sensores tienen una salida digital, pero no solo dan 0 y 5 V, sino que transmiten datos a trav茅s de una聽聽interfaz de comunicaci贸n digital mediante su correspondiente protocolo.聽Los pines de la se帽al de dichos sensores pueden ser聽etiquetados聽como聽聽SCK,聽聽SDA,聽聽SCL,聽聽MISO,聽聽MOSI,聽聽SS聽y otras abreviaturas.聽Para trabajar con dichos sensores, aseg煤rese de consultar ejemplos o documentaci贸n.聽De hecho, cualquier sensor de este tipo se puede conectar a cualquier pin GPIO y emular mediante programaci贸n la interfaz de comunicaci贸n deseada, lo cual es dif铆cil y le quitar谩 tiempo extra al procesador.聽El Arduino Nano admite m煤ltiples interfaces en聽聽hardware, lo que significa que puede trabajar con ellas de manera muy r谩pida y eficiente sin apenas programaci贸n.

Peque帽os sensores de protocolo
Peque帽os sensores con protocolo de comunicaci贸n.

UART.

UART: pines D0 (聽RX聽) y D1 (聽TX聽).聽La mayor铆a de las veces, los m贸dulos Bluetooth, GPS y GSM est谩n conectados a trav茅s de 茅l.聽En general, solo se puede conectar un m贸dulo.聽Los pines del m贸dulo generalmente se denominan聽聽RX聽聽y聽聽TX.聽La conexi贸n al m贸dulo se realiza 鈥渁 la inversa鈥 – RX-> TX y TX-> RX, ya que RX recibe se帽ales (Receptor) y TX – transmite (Transmisor) esto hist贸ricamente sol铆a llamarse 芦null modem禄.聽Para conectar varios m贸dulos UART o para operar simult谩neamente un m贸dulo y un 鈥渕onitor de puerto鈥, se utiliza un software UART utilizando la biblioteca SoftwareSerial incorporada.

  • RX < TX
  • TX < RX

Bus I2C.

I2C: pines A4 ( SDA ) y A5 ( SCL ). Esta interfaz es un bus, es decir, se pueden conectar en paralelo varios dispositivos (hasta 128) con direcciones 煤nicas.

Opciones de marcado y conexi贸n a hardware I2C:

  • A4 <聽聽SDA聽聽(D) – l铆nea de datos, datos de serie en ambos sentidos.
  • A5 <聽SCL聽聽(C, SCK) – l铆nea de reloj de sincronizaci贸n, serial CLock.

Bus i2c y arduino
Bus i2c y arduino

Transmisi贸n SPI de Arduino.

SPI: pines D11 (聽MOSI聽), D12 (聽MISO聽) y D13 (聽SCLK聽), a veces se agrega D10 (聽SS聽).聽Esta interfaz tambi茅n es un bus,聽聽con una alta velocidad, y admite la conexi贸n de un n煤mero esencialmente ilimitado de m贸dulos: el m贸dulo tiene un pin CS (Chip Select), que es llevado por el microcontrolador a GND para seleccionar este m贸dulo como un dispositivo para recibir y transmitir datos en ese momento.聽SPI es una interfaz muy com煤n y simple, muy a menudo los sensores y m贸dulos est谩n conectados a cualquier pin GPIO y usan software para enviar y recibir datos a trav茅s de las funciones incorporadas shiftIn () y shiftOut ().聽Los sensores 芦complejos禄 y los sensores con un gran volumen y una alta tasa de transferencia de datos (tarjeta de memoria, m贸dulo NFC) deben conectarse al bus SPI de hardware del microcontrolador.

Opciones de etiquetado y conexi贸n a hardware SPI:

  • D11 <  MOSI  (SDI, DI, DIN, SI) – l铆nea de datos de Arduino al m贸dulo
  • D12 < MISO  (SDO, DO, DON, SO) – l铆nea de datos del m贸dulo a Arduino
  • D13 < SCLK  (SCK, CLK, SPC) – l铆nea de sincronizaci贸n
  • D10 <  SS  (SCK, CLK, SPC): se usa en los casos en que Arduino es un 芦sensor禄
  • GPIO < CS  (SS, RCK): seleccione el m贸dulo actual presionando este pin a GND
Bus Spi de los Arduino
Bus Spi de los Arduino

Se帽al anal贸gica.

El segundo tipo de comunicaci贸n es anal贸gica, solo funciona 芦para recepci贸n禄. El microcontrolador puede medir la tensi贸n que se le suministra al ADC (convertidor anal贸gico a digital), el rango de medida est谩 limitado hasta la tensi贸n de referencia o la tensi贸n de alimentaci贸n del microcontrolador, es decir, el m谩ximo valor que el microcontrolador puede muestrear, sin componentes adicionales, es de 0 a 5 voltios, o de 0 a 3,3 voltios para los modelos de 3,3 voltios. Vamos a volver a esto m谩s adelante.

Debido a la presencia de un ADC (lectura de una se帽al anal贸gica), arduino puede leer las lecturas de cualquier sensor anal贸gico: termistores, termopares, fotorresistores, potenci贸metros, voltaje de derivaci贸n, etc. del mundo de la electr贸nica anal贸gica.聽De hecho, puede conectar cualquier cosa sin habilidades especiales, cada posible deseo seguro tiene una biblioteca terminada.聽

Los m贸dulos anal贸gicos y los sensores est谩n relacionados, la se帽al de la cual sale en forma de voltaje de 0 a 5 voltios, pero cambia 芦suave y linealmente禄 seg煤n las lecturas del sensor.聽Estos son, por ejemplo, un micr贸fono de audio, termistor, fotorresistor, sensor de humedad, potenci贸metro, etc.聽Muchos medidores anal贸gicos tienen pines etiquetados de la misma manera que los digitales.聽驴C贸mo distinguir un sensor digital de uno anal贸gico?聽Ya sea de acuerdo con la descripci贸n o mirando la documentaci贸n del sensor.聽Algunos m贸dulos tienen una salida digital y anal贸gica al mismo tiempo (sensores de sonido, l铆neas y algunos otros), sus pines suelen estar聽聽etiquetados como DO– salida digital y聽聽AO– salida anal贸gica.聽Adem谩s, la salida anal贸gica puede ser etiquetado como聽OUT聽o聽S.

Dichos m贸dulos se conectan a cualquier聽pin聽ANAL脫GICO.

Sensores anal贸gicos para arduino
Sensores anal贸gicos para arduino

Otros.

Adem谩s de estas interfaces populares, existen otras (聽CAN,聽1-wire y as铆 sucesivamente), pero como tenemos el poder de un microcontrolador, podemos emular casi cualquier protocolo e interfaz de comunicaci贸n, el llamado software <nombre de interfaz> (softwareSerial, softwareI2C…) son bibliotecas que emulan dicho protocolo.聽Y aqu铆 viene al rescate la comunidad arduino, que ya ha escrito bibliotecas para todo lo que es posible, y puede comunicarse f谩cilmente con casi cualquier pieza de hardware que admita cualquier protocolo de comunicaci贸n popular.聽En el mismo bus CAN, puede conectarse al cerebro de su autom贸vil y hacer cualquier cosa con 茅l.聽Un mont贸n de microcircuitos para varios prop贸sitos se conectan a arduino sin ning煤n problema y le permiten controlarse a s铆 mismo.聽Todo tipo de amplificadores, controladores, registros de desplazamiento, DAC, ADC, multiplexores, resistencias digitales y cientos de otras piezas interesantes.


Resumiendo.

Como ya sabes hay muchos sensores, puedes medir todo lo medible.聽Electr贸nica: voltaje, corriente, resistencia, funcionamiento en CA, campos.聽Par谩metros del microclima: temperatura, humedad, presi贸n, contenido de gas, velocidad del viento, iluminaci贸n, lo que sea.聽Tambi茅n hay una gran cantidad de m贸dulos interesantes: Bluetooth, comunicaciones celulares, GPS, pantallas de varios tipos y tama帽os, detectores de presencia, tanto de infrarrojos como de microondas, m贸dulos para comunicaci贸n inal谩mbrica de arduino y mucho m谩s.

Puede controlar absolutamente cualquier pieza de hardware que realice su funci贸n simplemente cuando se aplica alimentaci贸n: una bombilla, tira de LED, calentador el茅ctrico, motor o cualquier accionamiento el茅ctrico, electroim谩n, empujador de solenoide, y todo esto con cualquier voltaje de suministro.聽Pero aqu铆 hay que entender algo: Arduino (m谩s precisamente, un microcontrolador) es un dispositivo l贸gico, es decir, de manera amistosa, solo debe dar comandos a otros dispositivos, o recibirlos de ellos.聽Pero el m谩ximo suministro de energ铆a es para un LED.聽Con este entendimiento, vamos m谩s all谩.聽Para que un arduino encienda o apague (suministre energ铆a) a otro dispositivo, necesita un dispositivo intermediario, como un rel茅 o transistor.聽Arduino controla el rel茅, y el rel茅, a su vez, enciende cualquier carga deseada con cualquier voltaje de suministro y todo eso, hablaremos m谩s sobre esto por separado.

Como esencia de todo lo escrito anteriormente, las posibilidades de Arduino para conectar y controlar varias piezas de hardware son casi ilimitadas, puedes plasmar cualquier idea, incluso la m谩s loca.聽Los sensores miden algo, los dispositivos ejecutivos controlan algo, al mismo tiempo, los datos se env铆an a alg煤n lugar, algo se muestra en la pantalla y se controla mediante botones.聽隆Maravilloso!


Deja un comentario