Giới Thiệu Về Board UNO WIFI - WeMos D1 - Khá Tiện Lợi Cho IOT

Xin chào các bạn! Hôm nay. mình sẽ review về một board arduino khá thú vị và tiện lợi cho các dự án IOT không cần quá nhiều tính năng. Đó là board Arduino UNO WiFi hay còn gọi là WeMos D1 R2.

I. Thông Số Kĩ Thuật

WEMOS D1 R2 là kit phát triển phiên bản mới nhất từ WeMos, kit được thiết kế với hình dáng tương tự Arduino Uno nhưng trung tâm lại là module wifi Soc ESP8266EX được build lại firmware để có thể chạy với chương trình Arduino.  Kit thích hợp và dễ dàng thực hiện các ứng dụng thu thập dữ liệu và điều khiển qua Wifi.

Vi điều khiển ESP8266EX
Điện áp hoạt động 3V3
I/O Digital Pin 11
Analog Pin 1 (Max input=3V2)
Xung clock 80MHz/160MHz
Flash 4Mb
Khối lượng 25g
Kích thước 68.6mmX53.4mm

Sơ đồ pin digital

Wemos ESP8266
D0 GPIO16
D1 GPIO5
D2 GPIO4
D3,D15 GPIO0
D4,D14 GPIO2
D5,D13 GPIO14
D6,D12 GPIO12
D7,D11 GPIO13
D8 GPIO15
D9 GPIO3
D10 GPIO1

Lí do mình viết bảng này là để dễ dàng trong việc viết code. Bởi khi viết code bạn muốn xuất tín hiệu HIGH cho pin số 3 trên kit thì ko thể viết "digiatlWrite(3,HIGH);" mà phải viết là "digitalWrite(0,HIGH);" (Theo trên bảng thì chân D3 trên kit là chân 0 của ESP). Hay nói cách khác là bạn điều khiển chân trên ESP8266. Và khi bạn code xuất chân D3 mức HIGH thì chân D15 cũng được xuất HIGH, lí do là vì: các chân từ D11=>D15 là các chân "giả" để kit trông giống arduino hơn (ESP chỉ có 11 pin digital .-.), vì vậy các pin D11=>D15 được nối lần lượt với D7=>D3.

II. Lập trình thử kit

Ở bài viết này, mình sẽ lập trình cho con wemos quét các điểm phát wifi xung quanh và hiển thị lên LCD1602 với module i2c

Phần Cứng

Chuẩn bị:

Trước hết các bạn hàn module i2c với lcd1602 như hình:

Sau đó nối dây module I2C với Wemos như hình dưới:

Lập Trình

Trước hết các bạn cần cài đặt board cho Arduino IDE.

Và kéo xuống mục Tiến Hành để xem hướng dẫn cài đặt board nạp.

Sau khi các bạn cài đặt board xong, các bạn vào mục Tools => Board => Kéo xuống chọn board "Wemos D1 R2 & Mini"

Sau khi chọn board Wemos D1 R2, trong mục Examples sẽ tự động xuất hiện mục code mẫu cho board này, bạn tha hồ mà test

Còn bây giờ, hãy xem qua code của ví dụ mà mình đã nhác tới ở đầu mục II.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "ESP8266WiFi.h"
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
  lcd.init();
  lcd.backlight();
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  lcd.println("Setup done");
  delay(1000);
  lcd.clear();
}

void loop() {
  lcd.println("scan start");

  // WiFi.scanNetworks will return the number of networks found
  int n = WiFi.scanNetworks();
  delay(500);
  lcd.clear();
  lcd.println("scan done");
  delay(2000);
  lcd.clear();
  if (n == 0)
    lcd.println("not found");
  else
  {
    lcd.print(n);
    lcd.println(" networks");
    delay(2000);
    lcd.clear();
    for (int i = 0; i < n; ++i)
    {
      // Print SSID and RSSI for each network found
      lcd.print(i + 1);
      lcd.print(": ");
      lcd.print(WiFi.SSID(i));
      delay(2000);
      lcd.clear();
    }
  }
  lcd.clear();

  // Wait a bit before scanning again
  delay(3000);
}

Đây là video thực tế mình đã chạy code:

III. Kết Luận

Cảm ơn các bạn đã theo dõi. Lần sau mình sẽ viết bài về việc sử dụng con Wemos này trong mô hình Socket với file server được chạy trên 1 VPS <3.

lên
36 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

State Machine Với Arduino

   Xin chào các bạn! Hôm nay mình sẽ giới thiệu với các bạn một cách lập trình, quản lý code khá thú vị và mới lạ, đó chính là State Machine hay trạng thái máy. Đây là một cách thức lập trình cũng được sử dụng khá nhiều cho các hệ thống, phần mềm, máy móc trong thực tế. Dưới đây, mình chỉ viết những gì mình biết và tìm hiểu được nên có gì sai sót, mong các bạn đã biết về state machine hãy góp ý cho mình bên dưới phần comment để bài viết hoàn thiện hơn. Bắt đầu thôi!

lên
10 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino không cần viết code - Phần 13: Tạo hàm điều khiển bộ phận di chuyển sử dụng L298

Đây là phần 13 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 12 tại đây

Ở phần trước, mình đã hướng dẫn các bạn tạo một hàm giúp điều khiển motor dễ dàng hơn, và mục đích của phần đó chính là tạo hàm của phần này. Hôm nay mình sẽ hướng dẫn các bạn tạo hàm điều khiển bộ phận di chuyển sử dụng module L298. Với hàm này bạn có thể ứng dụng nó làm các dự án xe hay robot di chuyển bằng bánh xe sử dụng module L298 để điều khiển.

lên
12 thành viên đã đánh giá bài viết này hữu ích.