Experiencia usando Arduino D1 R2

힘센캥거루
2025년 6월 11일(수정됨)
66
arduino

Podría haberlo hecho simplemente con un Arduino Uno, pero decidí probar el Wemos D1 R2 con WiFi integrado y terminé teniendo bastantes problemas.

Este artículo es para aquellos que usan un Arduino con mapeo de pines diferente, como el D1 R2.

1. Configuración del IDE

Hay muchos tipos de Arduino, por lo que también necesitas instalar el paquete de placa correspondiente.

En el IDE de Arduino, ve a Archivo (file)-Preferencias (Preferences).

Experiencia usando Arduino D1 R2-1

Luego, agrega la siguiente URL en el gestor de placas adicional.

https://arduino.esp8266.com/stable/package_esp8266com_index.json
Experiencia usando Arduino D1 R2-2

Luego busca e instala el D1 R2 desde el paquete de placas a la izquierda.

Experiencia usando Arduino D1 R2-3

Finalmente, simplemente iguala el puerto USB y el tipo de placa y habrás terminado.

Experiencia usando Arduino D1 R2-4

2. ¿Qué son los pines como D1, D2?

Lo más confuso al conectar el WeMos D1 R2 fue el número de pines.

En placas como el Arduino Uno, la estructura es bastante sencilla, por lo que los números de pines de la placa coinciden con los del IDE de Arduino.

Por ejemplo, si quieres configurar el pin 4 de Arduino como salida y el pin 5 como entrada, puedes hacer lo siguiente.

int outputPin = 4;
int inputPin = 5;

void setup(){
    pinMode(outputPin, OUTPUT);
    pinMode(inputPin, INPUT);
}

Pero si aplicas esto directamente al Wemos D1 R2, no funcionará.

Esto se debe a que el sistema de numeración de pines es diferente.

Esto es porque los nombres de los pines D1, D2 en la placa WeMos están mapeados de manera diferente a los números en el IDE.

#define outputPin D4
#define inputPin D5

void setup(){
    pinMode(outputPin, OUTPUT);
    pinMode(inputPin, INPUT);
}

¿Por qué tiene esta estructura este Arduino?

3. Pines GPIO y mapeo de pines de Arduino

Cuando miras un Arduino Uno, hay un gran chipset incrustado.

Puedes pensar en esto como la unidad de procesamiento, similar al CPU de una computadora.

Los pines en el borde del Arduino están asignados a cada pata del chipset del Arduino.

Experiencia usando Arduino D1 R2-5

Al observar la imagen a continuación, puedes ver cómo cada pin está asignado a una pata del chipset.

Los pines que permiten la entrada y salida de señales digitales se llaman pines GPIO.

GPIO significa General Purpose Input/Output (Entrada/Salida de Propósito General).

Experiencia usando Arduino D1 R2-6

En el caso del Arduino Uno, puedes ver que los pines GPIO coinciden casi completamente con los números de pines de la placa.

Por lo tanto, simplemente anotando los números de pines en el IDE, puedes ejecutar el código sin problemas.

4. Mapeo de pines del Wemos D1 R2

La placa D1 R2 tiene un módulo WiFi junto con el chipset básico.

Algunos de los pines del chipset se utilizan para comunicarse con el módulo WiFi, lo que limita el número de pines disponibles para entrada y salida.

Al ubicar los pines restantes en la placa de Arduino, surge un problema donde los números GPIO se asignan de manera no secuencial.

Experiencia usando Arduino D1 R2-7

Por esta razón, el fabricante de la placa reasignó números lógicos como D0, D1, D2 a cada pin para evitar confusiones entre los usuarios, haciéndolos utilizables en el IDE de Arduino.

Como se muestra en la imagen de mapeo de pines arriba, los números como D1, D2 son diferentes de los números GPIO reales, así que asegúrate de consultar este mapa al usar pines.

5. ¿Cómo debe usarse entonces?

El paquete de placas que instalaste en el IDE de Arduino incluye definiciones que mapean los nombres de pines lógicos como D5, D6 a los números GPIO reales.

Por lo tanto, si defines algo como #define myPin D5 al principio, dentro del paquete de placas habrá #define D5 14, haciendo que myPin finalmente apunte al pin GPIO14.

Experiencia usando Arduino D1 R2-8
#define myPin D5

void setup(){
    pinMode(myPin, OUTPUT);
}

Luego, simplemente úsalo como cualquier pin normal.

Sin embargo, ten cuidado ya que algunos pines están relacionados con el boot o flashing.

Pin de la placa (Dn)

Número GPIO real

Nota

D0

GPIO16

D1

GPIO5

I2C SCL

D2

GPIO4

I2C SDA

D3

GPIO0

Relacionado con boot, precaución

D4

GPIO2

LED incorporado

D5

GPIO14

SPI SCK

D6

GPIO12

SPI MISO

D7

GPIO13

SPI MOSI

D8

GPIO15

Relacionado con boot, precaución

RX

GPIO3

Recepción serial

TX

GPIO1

Transmisión serial

6. Conclusión

Experiencia usando Arduino D1 R2-9

La última vez que usé el D1 R2, simplemente conecté un sensor de temperatura y humedad, por lo que no fue un gran desafío.

Esta vez, al conectar más pines, aprendí algunas cosas nuevas.

Quizás el próximo año debería intentar dirigir un club de makers.

댓글을 불러오는 중...