EnglishThis website is also available in English

WEMOS D1 Esp-Wroom-02 dan Arduino IDE

“WEMOS D1 Esp-Wroom-02” yang saya dapatkan dari VNG Systems adalah papan pengembangan mikrokontroler lain dengan chip WiFi ESP8266. Papan ini juga memiliki layar OLED, sirkuit pengisian baterai 18650, dan tombol arah bawaan. Ini menjadikan board pilihan yang sangat baik untuk aplikasi seluler. Dan seperti semua papan berbasis ESP8266 lainnya, yang satu ini dapat diprogram dengan IDE Arduino familar.

Wemos D1 ESP-Wroom-02 dan Arduino IDE: VNG sistem unboxing
Wemos D1 ESP-Wroom-02 dan Arduino IDE: VNG sistem unboxing

Fitur WEMOS D1 Esp-Wroom-02

Pertama, mari kita perhatikan papan itu sendiri. Papan sirkuit hitam dilengkapi dengan header 10 pin yang dapat Anda solder, jika perlu. Bagian belakang papan memiliki tempat baterai yang mendukung baterai 18650 atas datar. Karakteristik lain dari dewan adalah:

  • Ukuran papan: 102x30x20mm
  • Rentang Input Tegangan: 5V-12V
  • Koneksi micro USB
  • Mengisi Sekarang: 500 mA
  • Sirkuit perlindungan pengisian berlebih dan pengisian berlebih baterai

Saya menemukan bahwa informasi tentang papan yang diterbitkan secara online biasanya tidak benar. Misalnya, nama papan tersebut menyiratkan bahwa papan tersebut dilengkapi dengan chip WiFi ESP-WROOM-02. Sebagai gantinya, ia memiliki modul ESP-12E/F. Juga, sebagian besar situs menyebutkan perpustakaan OLED yang salah dan pinouts GPIO. Jadi di bawah ini saya akan menulis tentang temuan dan pengalaman saya sendiri.

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
Tested and recommended by OneGuyOneBlog.com:

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
VNGsystems.nl

Wemos D1 Esp-Wroom-02 Masukan dan keluaran

Di papan tulis ada input dan output berikut yang tersedia:

  • 1 input analog AD (A0)
  • 5 Input / output digital dengan interupsi / PWM / I2C / dukungan satu kawat D3 (GPIO0), D4 (GPIO2), D8 (GPIO15), D9 (GPIO3), D10 (GPIO1)

LED bawaan

Deskripsi menyatakan bahwa papan memiliki satu LED yang dapat diprogram, pada pin D0. Tetapi saya menemukan bahwa papan memiliki 2 LED yang dapat diprogram. Salah satunya adalah LED biru pada modul ESP8266, yang lainnya adalah led hijau tambahan di papan breakout.

  • LED biru yang dapat diprogram pada GPIO2 (LED_BUILTIN)
  • LED hijau yang dapat diprogram pada GPIO16

Layar OLED

Layar OLED bawaan memiliki spesifikasi sebagai berikut:

  • Pengendali: SSD1306
  • Resolusi: 128 x 64 piksel, ukuran: 0,96 Inch, Warna: Putih
  • I2C (GPIO5: SDA; GPIO4: SCL)
  • Alamat: 0x3C

Ini dapat digunakan dengan perpustakaan ThingPulse ESP8266 OLED SSD1306.

Tombol arah

Papan memiliki tombol arah bawaan yang mendukung 5 fungsi:

Atas (GPIO13), Bawah (GPIO12)
Kiri (RESET), Kanan (GPIO0)
Push (GPIO14)

Sayangnya, kontak tombol arah kiri bawaan ke pin RESET dari ESP8266, jadi ini tidak dapat diubah tanpa memodifikasi papan.

Ringkasan GPIO

Meringkas, saya menemukan GPIO ESP ditransfer sebagai berikut:

GPIO Function
0 D3 / Button right
1 D10
2 D4 / LED blue (LED_BUILTIN)
3 D9
4 OLED SCL
5 OLED SDA
12 Button down
13 Button up
14 Button push
15 D8
16 LED green
A0 AD (ADC)

Tempat baterai 18650

Dudukan baterai mendukung sel 18650 rata atas tunggal. Sirkuit pengisian daya akan melindungi baterai Anda dari pengisian berlebih dan juga pengisian berlebih. Peringatan: sirkuit tidak memiliki perlindungan polaritas terbalik. Jadi berhati-hatilah untuk memasukkan baterai dengan cara yang benar. Jika Anda memasukkannya terbalik, maka papan Anda akan rusak. Polaritas ditunjukkan dengan tanda + dan – dicetak di papan tulis. Sirkuit pengisian daya memiliki dua indikator LED: LED hijau menunjukkan pengisian daya, LED merah (“standby”) menyala bila ada daya tetapi baterai tidak mengisi. Saat Anda mengunggah sketsa ke ESP-Wroom-02, Anda harus menghapus battry terlebih dahulu, dan mengatur sakelar daya ke posisi “ON”.

Menggunakan WEMOS Esp-Wroom-02 dengan Arduino IDE

Pertama, Anda harus menginstal IDE Arduino di komputer Anda. Untuk pengguna Windows 10, lihat posting blog “Arduino IDE: Menginstal di Windows 10” tentang cara melakukan itu. Pengguna Linux harus melihat posting blog “Arduino IDE: Instal atau tingkatkan di Linux“.

Kedua, Anda perlu menginstal “Arduino core for ESP8266 WiFi chip” di IDE Arduino Anda. Lihat bagian “Installing the ESP8266 Arduino core” di posting blog “ESP8266 NodeMcu and Arduino IDE on Linux“. Prosedur ini sama untuk Windows dan Linux.

Ketiga, pilih papan berbasis ESP8266 yang sesuai di de Arduino IDE. Bagi saya, pilihan “WeMos D1 R1” bekerja dengan baik. Lihat gambar di bawah untuk pengaturan yang saya gunakan.

Wemos D1 ESP-Wroom-02 dan Arduino IDE: Pengaturan papan
Wemos D1 ESP-Wroom-02 dan Arduino IDE: Pengaturan papan

Keempat, Anda perlu menginstal perpustakaan OLED. Anda dapat mengunduh perpustakaan ThingPulse ESP8266 OLED SSD1306 langsung dari GitHub atau menginstalnya menggunakan manajer perpustakaan IDE Arduino. Lihat gambar di bawah.

Wemos D1 ESP-Wroom-02 dan Arduino IDE: OLED library
Wemos D1 ESP-Wroom-02 dan Arduino IDE: OLED library

Terakhir, Anda harus menginstal Perpustakaan Brzo I2C Library (https://github.com/pasko-zh/brzo_i2c) dengan cara yang sama: buka Sketsa > Gunakan Perpustakaan > Kelola Perpustakaan> Cari “Brzo I2C” dan pilih “instal” .

Sekarang, Anda dapat menguji papan Esp-Wroom-02 Anda dengan sketsa demo di bawah ini. Saat tombol ditekan, layar OLED akan menunjukkan arah tombol. Ini juga menampilkan nilai input analog, Ini akan berubah ketika Anda menyentuhnya dengan jari Anda.

/**

     GPIO  0 - Button right / D3
     GPIO  1 - D10
     GPIO  2 - LED blue (LED_BUILTIN) / D4
     GPIO  3 - D9
     GPIO  4 - OLED SCL
     GPIO  5 - OLED SDA
     GPIO 12 - Button down
     GPIO 13 - Button up
     GPIO 14 - Button push
     GPIO 15 - D8
     GPIO 16 - LED green
     GPIO A0 - ADC

**/

#include "SSD1306Brzo.h"            // Include OLED Library

SSD1306Brzo  display(0x3c, 5, 4);   // Initialize OLED display

int blueLed = LED_BUILTIN;          // Blue LED is on GPIO 2 (LED_BUILTIN)
int greenLed = 16;                  // Green LED is on GPIO 16

int analogPin = A0;                 // Analog input is A0
int analogValue = 0;

volatile byte state = LOW;
String button = "Waiting...";

void setup() {
  display.init();   // Initialise the display

  pinMode(blueLed, OUTPUT);   // Initialize digital pin LED_BUILTIN as an output.
  pinMode(greenLed, OUTPUT);  // initialize digital pin 16 as an output.

  pinMode(0, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(0), interrupt0, HIGH);    // Right
  pinMode(12, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(12), interrupt12, HIGH);  // Down
  pinMode(13, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(13), interrupt13, HIGH);  // Up
  pinMode(14, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(14), interrupt14, HIGH);  // Push
}

void drawText() { // Fuction to draw the text
  display.setTextAlignment(TEXT_ALIGN_LEFT);

  display.setFont(ArialMT_Plain_16);
  display.drawString(0, 0, "Button:");
  display.setFont(ArialMT_Plain_24);
  display.drawString(0, 16, button);                          // Print button press

  display.setFont(ArialMT_Plain_16);
  analogValue = analogRead(analogPin);
  display.drawString(0, 48, "ADC: " + String(analogValue));   // Print value of analog input
}

void interrupt0() // Right
{
  button = "Right";
  blink();
}

void interrupt12() // Down
{
  button = "Down";
  blink();
}

void interrupt13() // Up
{
  button = "Up";
  blink();
}

void interrupt14() // Push
{
  button = "Push";
  blink();
}

void blink() {
  state = !state;   // Reverse LED state
}

void loop() {
  display.clear();      // Clear OLED display
  drawText();           // Draw the text
  display.display();    // Write the buffer to the display

  digitalWrite(blueLed, state);      // Turn the blue LED on/off
  digitalWrite(greenLed, !state);    // Turn the green LED on/off
}

VNG Systems

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
Tested and recommended by OneGuyOneBlog.com:

ESP-Wroom-02 ESP8266+0,96inch OLED+18650 Batterijhouder
VNGsystems.nl

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *