Lập trình Arduino không cần viết code - Phần 12: Tạo hàm điều khiển motor

Đây là phần 12 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 11 tại đây

Ở phần 9 mình đã hướng dẫn cách điều khiển motor với module L298, đồng thời ở phần trước mình cũng đã hướng dẫn cách tạo một hàm riêng. Hôm nay mình sẽ hướng dẫn các bạn tạo hàm điều khiển motor cho module L298. Vào luôn!

Cách làm

Chúng ta sẽ tạo một hàm gồm 3 thông số thuộc kiểu số là: in1, in2 và action. Trong đó, in1 và in2 là 2 chân điều khiển motor nối với arduino, action là trạng thái motor gồm đứng yên (0), quay theo chiều thứ nhất (1), quay theo chiều thứ hai (2).

Thực hành

Chuẩn bị

  • Arduino mình dùng con Uno
  • Module điều khiển động cơ motor L298
  • 1 con motor hoặc 2 nếu muốn

Nối mạch như sau, Vs là chân 12V, senA, senB được nối chung với GND ở module thực nên khi nhìn module thiệt đừng hỏi sao không thấy nó:

Lập trình với mBlock

Trước tiên tạo một hàm mới gồm 3 thông số như hình

Lập trình cho hàm theo sơ đồ

Lập trình chính cho arduino 

mBlock bị lỗi ở pinMode nên cần chỉnh code một tí tẹo

Ở hàm setup, chỉnh in1 thành 7 và in2 thành 8, nếu muốn điều khiển thêm 1 motor nữa thì lập trình tương tự như trên, sau đó chỉnh lại in1, in2 và thêm 2 dòng pinMode nữa cho motor 2.

Ok, úp luôn đi.

Lập trình với Arduino

Phần cứng y như đúc, phần code thì thế này nè:

#define inA1 7
#define inA2 8
void setup()
{
  pinMode(inA1,OUTPUT);
  pinMode(inA2,OUTPUT);
}
void loop()
{
  motorMove(inA1,inA2,1);
  delay(3000);
  motorMove(inA1,inA2,0);
  delay(3000);
  motorMove(inA1,inA2,2);
  delay(3000);
}
void motorMove(int in1,int in2, byte action)
{
  switch(action)
  {
    case 0: //Dung
    digitalWrite(in1,0);
    digitalWrite(in2,0);
    break;
    case 1: //Chieu thu 1
    digitalWrite(in1,1);
    digitalWrite(in2,0);
    break;
    case 2: //Chieu thu 2
    digitalWrite(in1,0);
    digitalWrite(in2,1);
    break;
  }
}

Kết luận

Như vậy là ta vừa tìm hiểu xong cách tạo hàm điều khiển motor với module L298. Vậy lí do gì mà mình lại giới thiệu về hàm này thì các bạn sẽ biết ở phần sau. Xin cảm ơn đã theo dõi. Chúc các bạn thành công.

lên
9 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

Cách sử dụng trình biên soạn Vi / VIM - Trình sửa file cho máy tính nhúng dành cho pro

Vim là một trong những trình biên soạn dòng lệnh mạnh và phổ biến nhất. Nó chỉ sẵn có trên nền của Linux và Unix, những sau đó nó cũng xuất hiện cả trên Windows. Giao diện của nó thì gọn gàng và đơn giản, và bạn có thể kết hợp các phím để thực hiện các công việc như copy-paste, tìm kiếm và thay thế, xóa một số dòng, và nhiều chức năng khác nữa. Hôm nay, chúng ta sẽ cùng nhau học cách dùng vim trên Raspberry Pi.

lên
3 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ả

Giới thiệu board Romeo BLE

Xin chào mọi người! Sau đây mình xin giới thiệu với các bạn một board cực kì bá đạo cho các dự án xe robot. Đó là board Romeo BLE. Nó bá đạo về mọi mặt từ phần cấu hình đến phần lập trình và tất nhiên là cả giá @@.

lên
8 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 17: Nháy nhiều led song song nhau không dùng timer

Đây là phần 17 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 16 tại đây

Xin chào mọi người! Ở phần 15 mình đã hướng dẫn mội người làm nháy các led song song với nhau dùng timer. Và hôm nay chúng ta sẽ cùng nhau làm nháy nhiều led song song nhau theo các chu kì nháy khác nhau không dùng timer, mà ta sẽ dùng phương thức lập trình sự kiện (Lập trình thời gian thực).

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