Thứ Tư, Tháng Mười 27, 2021
Trang chủ DIY IoT with Blynk – Bài 5 : Điều Khiển Động Cơ DC...

IoT with Blynk – Bài 5 : Điều Khiển Động Cơ DC với L298

Giới Thiệu

Chào các bạn! Ở bài viết trước mình đã hướng dẫn các bạn cách điều khiển động cơ RC Servo thông qua app Blynk . Ở bài viết này chúng ta sẽ nghiên cứu về cách điều khiển động cơ DC qua Blynk sử dụng L298 và NodeMCU ESP8266 m  

Nếu bạn chưa biết Blynk là gì thì hãy tham khảo bài viết: IoT with Blynk – Hướng Dẫn Cài Đặt để hiểu về cài đặt thư viện cho Arduino, Blynk App và cách tạo tài khoản phù hợp với hướng dẫn của mình!

Chúng ta cùng bắt đầu nào !

Chuẩn Bị

1. Phần cứng

2. Phần mềm

Hướng Dẫn 

1. Phần cứng 

Các bạn kết nối hình như Sơ đồ sau: 

Lưu ý : các bạn cần nạp chương trình cho NodeMCU trước khi kết nối dây dẫn như hình. Chương trình mình để ở phần dưới , bạn hãy xem hết hướng dẫn này và nạp chương trình trước khi cắm dây!

 

2. Phần mềm

📱  Blynk App

Chúng ta sẽ tạo vẫn sử dụng project cũ  và giữ nguyên mã AuthTokens . Nếu bạn là người mới hãy tham khảo bài viết:
IoT with Blynk – Hướng Dẫn Cài Đặt trước khi thực hiện tiếp các bước sau.

Trong hướng dẫn này chúng ta sẽ có :

  • Một nút nhấn có tác dụng bật tắt động cơ – Các bạn sử dụng chân Virtual – V0 làm nút nhấn
  • Một nút nhấn có tác dụng đảo chiều động cơ – Các bạn sử dụng chân Virtual – V2 làm nút nhán
  • Một Slider để điều khiển tốc độ động cơ – Các bạn sử dụng chân Virtual – V1 làm Slider

IoT with Blynk – Bài 5  Điều Khiển Động Cơ DC với L298

💻 Arduino

Nếu bạn là người mới hãy tham khảo trước bài viết:
IoT with Blynk – Hướng Dẫn Cài Đặt để biết cách cài đặt Arduino cho phù hợp với bài hướng dẫn này!

Source Code

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define IN1 D1
#define IN2 D2


char auth[] = “YourAuthToken”; // Nhập AuthToken của bạn 
char ssid[] = “YourNetworkName”; // 
Nhập tên WiFi char pass[] = “YourPassword”; // Nhập password WiFi

int speeds;
boolean directions;
boolean enable;

BLYNK_CONNECTED() {
  Blynk.syncAll();
}

BLYNK_WRITE(V0)
{
  enable = param.asInt();
}

BLYNK_WRITE(V1)
{
  speeds = param.asInt() * 10.23;
}



BLYNK_WRITE(V2)
{
  directions  = param.asInt();

}

void setup() {
  Serial.begin(115200);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  Blynk.begin(auth, ssid, pass, "makerblynk.ddns.net", 8080);
}

void loop() {
  Blynk.run();
  Serial.println("Enable = " + String(enable));
  if(enable == 1){
    Serial.println("Direction = " + String(directions));
    if(directions == 0){
      backward();
    }else if(directions == 1){
      forward();
    }
  }else{
    stops();
  }
}

void forward()
{
  analogWrite(IN1, speeds);
  analogWrite(IN2, 0);
}

void stops() {
  analogWrite(IN1, 0);
  analogWrite(IN2, 0);
}

void backward()
{
  analogWrite(IN1, 0);
  analogWrite(IN2, speeds);
}

Sau khi đã thêm thư viện thành công các bạn cần chỉnh sửa thêm một số phần trong Source Code 

char auth[] = “YourAuthToken”; // Nhập AuthToken của bạn
char ssid[] = “YourNetworkName”; // Nhập tên WiFi
char pass[] = “YourPassword”; // Nhập password WiFi

Và kết quả đạt được

Tổng Kết 

Trong bài này chúng ta đã học được

  • Điều khiển động cơ DC với L298 và NodeMCU
  • Điều khiển ON/OFF động cơ  từ xa qua Blynk App
  • Đảo chiều động cơ từ xa qua Blynk App 
  • Điều khiển tốc độ động cơ bằng Slider trên Blynk App

 Chúc các bạn thành công với dự án của mình !

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Most Popular

Tìm hiểu CRC

🤔 Có bạn nào thắc mắc là các thiết bị điện tử ngoài việc chúng có thể giao tiếp trao đổi thông tin với...

Tìm hiểu Giao thức I2C

Có bạn nào thắc mắc làm sao giữa các thiết bị điện tử chúng có thể giao tiếp trao đổi data qua lại lẫn...

Tìm hiểu cách sử dụng các cảm biến Nhiệt độ & Độ ẩm DHT

Chắc nhiều bạn sinh viên cũng quá quen mấy con này rồi nhỉ. Nói không sai, DHT có thể xem như cảm biến quốc...

Tìm hiểu về Nhiệt độ biểu kiến cũng như Cách ta cảm nhận nhiệt độ

Có bạn nào từng thắc mắc rằng, tại sao đôi khi nhiệt độ ngoài trời không cao lắm, nhưng ta lại thấy nóng nực...

Recent Comments

0
Would love your thoughts, please comment.x
()
x