Điều khiển động cơ Servo SG90 bằng App Blynk sử dụng NodeMCU ESP8266

Điều khiển động cơ Servo SG90 bằng App Blynk sử dụng NodeMCU ESP8266

Các bạn chắc đã từng nghe tới động cơ Servo SG90 và trong ứng dụng ngày hôm nay mình sẽ demo cho các bạn cách sử dụng NodeMCU ESP8266 để thay đổi góc của servo trên App Blynk.

Để hiểu hơn về cấu tạo và cách hoạt động của Servo SG90 các bạn có thể tìm đọc bài viết trong khóa học lập trình Arduino miễn phí dành cho người mới nhập môn.

Cấu hình các thông số Servo SG90 trên App Blynk

Để hiển thị thanh điều khiển servo chúng ta vào Widget Box (+) > Click vào Slider hình thanh điều khiển sẽ hiện ra.

Nếu bạn chưa biết cách làm sao để tải App và tạo một Project trên Blynk các bạn xem bài viết bên dưới nhé.

Cài đặt thông số Servo

Ở mục Slider: Đặt tên cho dự án ở đây mình đặt là “Arduinokit.vn” tùy bạn thích đặt tên gì cũng được.

  • “INPUT”: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V1 (0~1023) đổi lại (0~180) góc từ 0 độ đến 180 độ.
  • “SEND VALUES ON RELEASE ON LY”: Để mặc định là ON.
  • “SHOW VALUE”: Để mặc định là ON.

Tiếp tục vào Widget Box (+) > Click vào nút Button để hiển thị sự thay đổi góc xoay của Servo.

Cài đặt thông số Button 1

  • Ở mục Button: Đặt tên ở đây mình đặt là “O độ” tùy bạn thích đặt tên gì cũng được.
  • OUTPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V2 để mặc định là (0~1).
  • MODE: Để trạng thái PUSH.

Cài đặt thông số Button 2

  • Ở mục Button: Đặt tên ở đây mình đặt là “O độ” tùy bạn thích đặt tên gì cũng được.
  • OUTPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V3 để mặc định là (0~1).
  • MODE: Để trạng thái PUSH.

Như vậy là đã xong phần cài đặt, bước tiếp theo ta tiến hành upload chương trình và xem kết quả nhé.

Sơ đồ đấu nối

NodeMCU ESP8266 SERVO SG90
3V3 Dây màu đỏ
GND Dây màu đen
D8 Dây màu vàng

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
NodeMCU ESP8266 1 Mua ngay
Động cơ Servo SG90 1 Mua ngay

Code

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>

Servo servo;
char auth[] = "90e6fc3ed332435587af6799fb58de88";
char ssid[] = "CAFE GALAXY_2.4G";
char pass[] = "xinchaoban";

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  servo.attach(15); // NodeMCU D8 pin
 }
  
void loop()
{ 
  Blynk.run(); 
}
BLYNK_WRITE(V1)
{
   servo.write(param.asInt());
}

BLYNK_WRITE(V2)
{
  servo.write(0);
}

BLYNK_WRITE(V3)
{
  servo.write(90);
}

Thư viện

  • Download thư viện “SimpleTimer.h”: Tải ngay
  • Download thư viện “BlynkSimpleEsp8266.h”: Tải ngay

Bài viết liên quan

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Huyhung

Em muốn điều khiển 2 servo dùng blynk thì nên đổi code như thế nào ạ. Em cảm ơn