Mô hình máy thổi bong bóng

Mô hình máy thổi bong bóng

Trong bài hướng dẫn này chúng ta sẽ áp dụng phương pháp điều khiển động cơ RC servo và động cơ DC để thiết kế một máy thổi bong bóng đơn giản.

Các linh kiện cần chuẩn bị

  • 1 board UnoX.
  • 1 động cơ RC servo.
  • 1 động cơ DC gắn cánh quạt.
  • Pin vuông 9V.
  • 1 diode 1N4007.
  • 1 điện trở 10k.
  • 1 transitor C1815.
  • Một vài dây header kết nối.
  • Một hộp giấy cao khoảng 10cm.

Giới thiệu động cơ RC servo

Động cơ RC servo là loại động cơ nhỏ, có thể khiển chính xác góc quay bằng phương pháp điều rộng xung PWM (chân có dấu ~ trên UnoX). Tuy nhiên, nó chỉ có thể quay được góc từ 0-180 độ.

Giới thiệu động cơ DC

Động cơ DC là loại động cơ khi được cấp nguồn trong giới hạn của nó thì động cơ sẽ chuyển động liên tục theo 1 chiều nhất đinh. Trường hợp đổi chiều điện áp thì động cơ sẽ quay theo chiều ngược lại.

Chúng ta có thể điều khiển tốc độ của động cơ bằng phương pháp PWM khi kết nối động cơ với các chân có kí hiệu ~ trên UnoX

Kết nối động cơ servo với UnoX

Bảng kết nối:

RC servoBoard UnoX
Dây nâuChân GND
Dây đỏChân 5V
Dây camChân 3

Kết nối động cơ DC với UnoX

  • Do dòng điện và điện áp của UnoX không đủ để đáp ứng cho động cơ DC. Nên ở đây ta sử dụng thêm một mạch điện đơn giản sử dụng diode, điện trở, transitor và nguồn 9V (pin vuông).
  • Ta thực hiện kế nối mạch như hình bên.
  • Ở đây, ta có thể sử dụng chân PWM (chân có dấu ~) để điều khiển tốc độ động cơ, hay đơn giản ta cũng có thể sử dụng những chân IO bình thường để bật tắt động cơ đơn giản. Trong bài hướng dẫn này, ta sử dụng chân PWM số 6.

Lưu ý: Nếu sử dụng transitor khác C1815 cần chú ý chân kết nối

Kết nối các linh kiện với UnoX

Mô hình tổng quan cho kết nối tất cả các linh kiện với UnoX như hình bên

Làm mô hình của ứng dụng.

  • Bước 1: Dán đũa thổi bong bóng vào RC servo.
  • Bước 2: Gắn động cơ DC lên trên đỉnh của hộp và chọn vị trí của RC servo sao cho khi RC servo chuyển động sẽ không chạm vào cánh quạt và đầu đũa thổi bong bóng nằm trước cánh quạt khi RC servo chuyển động đến vị trí thổi bong bóng.

Ý tưởng xây dựng chương trình

  • Sử dụng RC servo điều khiển đũa thổi bong bóng nhúng vào lọ chứa xà phòng.
  • Sau đó đưa đũa thổi bong bóng lên trước động cơ.
  • Bật động cơ để thổi bong bóng.
  • Sau 3-5s tắt động cơ và quay lại bước đầu.

Source code

Thư viện:

  • Điều khiển động cơ: Điều khiển IO hoặc PWM.
  • Điều khiển RC servo: dùng thư viện Servo.h.

Chương trình

// Thư viện điều khiển RC servo
#include <Servo.h>

#define servoPin  3 // Chân kết nối với servo motor
#define motorPin  6 // Chân kết nối với DC motor

Servo MyServo;

void setup()
{
  pinMode(motorPin, OUTPUT);

  MyServo.attach(servoPin);   // Cài đặt chân sử dụng servo
  analogWrite(motorPin, 255); // Dừng động cơ DC
}

void loop()
{
  /* Di chuyển đi đũa thổi vào nước xà phòng */
  for (int i = 0; i < 2; i++) {
    MyServo.write(150); // Di chuyển servo đến góc 150.
    delay(500);
    MyServo.write(125);
    delay(500);
  }
  MyServo.write(150);
  delay(500);
  /* Di chuyển đũa thổi đến trước quạt */
  MyServo.write(45);
  delay(1000);
  analogWrite(motorPin, 0);   // Cho quạt chạy 5s
  delay(5000);
  analogWrite(motorPin, 255); // Dừng quạt
}

Kết quả

Động cơ servo sẽ nhúng vào nước xà phòng và di chuyển đến quạt, quạt sẽ thổi và tạo ra các bong bóng xà phòng nhiều màu sắc. Các hành động này sẽ được lặp lại liên tục.