Tư vấn: 0979.466.469 / 0938.128.290

MENU

Gạt mưa cảm biến sử dụng Arduino và Servo Motor

Nhận mua hàng nước ngoài

Gạt mưa tự động cảm biến mưa sử dụng Arduino Mục tiêu của Dự án Chương trình / Mã

Gạt mưa cảm biến sử dụng Arduino và Servo Motor

Gạt mưa tự động cảm biến mưa sử dụng Arduino

 

 Dự án này được thiết kế để chế tạo cần gạt nước ô tô tự động phát hiện cường độ mưa và điều chỉnh tần suất hoạt động của cần gạt nước. Nó được xây dựng, sử dụng bảng Arduino UNO. Mô-đun cảm biến mưa được sử dụng để đo cường độ mưa. Và một động cơ servo được sử dụng để điều khiển chuyển động gạt nước. Một mô-đun LCD cũng được gắn vào bộ điều khiển để hiển thị cường độ mưa. Bằng cách đo lượng mưa, bộ điều khiển sẽ điều chỉnh tốc độ của động cơ servo. Servo được điều khiển bằng cách tạo ra tín hiệu PWM tại đường tín hiệu của nó.

Mục tiêu của Dự án

 

  • Đo lượng mưa.
  • Hiển thị cường độ mưa trong mô-đun LCD.
  • Điều khiển tốc độ động cơ servo theo đầu ra từ mô-đun cảm biến.
  • Lắp ráp mạch như trong sơ đồ! Các kết nối quan trọng được giải thích bên dưới.

    Máy dò mưa MH-RD là mô-đun cảm biến mà chúng tôi đang sử dụng ở đây. Mô-đun có 4 chân: Vcc, A0, D0 và Gnd. Vcc và Gnd được kết nối với các chân cung cấp của Arduino. A0 và D0 lần lượt là chân đầu ra tương tự và kỹ thuật số của mô-đun. Vì chúng ta cần lượng mưa thay đổi liên tục, chúng ta sẽ sử dụng chốt A0 thay vì D0. Đầu ra tương tự từ senor sau đó được kết nối với một chân đầu vào tương tự của Arduino.

     

    Như đã đề cập trước đó, một động cơ servo được sử dụng ở đây cho các chuyển động gạt nước. Động cơ servo là một loại động cơ một chiều mô-men xoắn cao đặc biệt có trục có thể được điều chỉnh đến vị trí mong muốn bằng cách tạo ra tín hiệu PWM thích hợp tại đường tín hiệu của nó. Ở đây chúng tôi kết nối đường tín hiệu của servo với một trong các chân PWM của Arduino (tức là chân số 9). Tiếp theo là mô-đun LCD, dùng để hiển thị cường độ mưa. Giao diện của Arduino với màn hình LCD 16 × 2 khá đơn giản. JHD162A là mô-đun LCD được sử dụng ở đây. JHD162A là một mô-đun LCD 16 × 2 dựa trên trình điều khiển HD44780 của Hitachi. JHD162A có 16 chân và có thể hoạt động ở chế độ 4 bit (chỉ sử dụng 4 đường dữ liệu) hoặc chế độ 8 bit (sử dụng tất cả 8 đường dữ liệu). Ở đây chúng tôi đang sử dụng mô-đun LCD ở chế độ 4-bit. Để tạo điều kiện giao tiếp giữa Arduino và mô-đun LCD, chúng tôi sử dụng thư viện tích hợp sẵn trong Arduino - được viết cho các mô-đun LCD sử dụng chipset Hitachi HD44780 (hoặc một chipset tương thích). Chân điều khiển RS, RW và En được kết nối trực tiếp với chân 13 của arduino, GND và 10. Và chân dữ liệu D4-D7 được kết nối với 7,6,5 và 4 của Arduino.

    Khi thiết bị được BẬT, mô tơ servo sẽ chuyển cần gạt nước về vị trí 0 độ. Sau đó bộ điều khiển sẽ liên tục kiểm tra tín hiệu từ mô-đun cảm biến mưa. Nếu tín hiệu từ mô-đun vượt quá giá trị nhỏ nhất, động cơ servo bắt đầu hoạt động. Tốc độ hoạt động của servo sẽ thay đổi tùy theo cường độ của tín hiệu. Và cường độ của lượng mưa sẽ được hiển thị trên màn hình LCD theo cường độ tín hiệu.

    Chương trình / Mã   

     

    #include

    #include

     

    LiquidCrystal lcd(11,10,7,6,5,4);

    Servo myservo; 

     

    int pos = 0; 

    int sensorValue = 0;

     

    void setup() {

      Serial.begin(9600);

      lcd.begin(16,2);

      myservo.attach(9);

      lcd.clear();

      lcd.setCursor(0,0);

      lcd.print("Intelligent Rain"); 

      lcd.setCursor(0,1);

      lcd.print("Sensing CarViper");

      delay(3000); 

      lcd.clear();

      lcd.setCursor(5,0);

      lcd.print("Rainfall");

      lcd.setCursor(0,1);

      lcd.print("Intensity-");

    }

    Quảng cáo đặt hàng nhập

     

     

     

    void wipe(int Speed)

    {

     

      if(Speed>400){Speed=5000;lcd.print("  LOW ");}

      if(Speed>350&&Speed<=400){Speed=3000;lcd.print("MEDIUM");}

      if(Speed<=350){Speed=500;lcd.print(" HIGH ");}

      for (pos = 180; pos >= 0; pos--) {

        myservo.write(pos);            

        delay(3);                    

      }

      for (pos = 0; pos <= 180; pos++) { 

        myservo.write(pos);             

        delay(3);                       

      }

      delay(Speed);

    }

     

     

     

     

    void loop() 

    {

    lcd.setCursor(10,1);

    sensorValue = analogRead(A0);

    Serial.println(sensorValue);

    if(sensorValue>600){myservo.write(180);lcd.print(" NIL  ");delay(1000);}

    if(sensorValue<=600){lcd.setCursor(10,1);wipe(sensorValue);}

    }

  • Khi bắt đầu, chương trình sẽ liên tục kiểm tra số đọc từ cảm biến mưa. Một thư viện có tên “Servo.h” được sử dụng ở đây cho các hoạt động của servo. Bằng cách gọi hàm có sẵn “myservo.write (angle)”, chúng ta có thể xoay trục servo đến góc mong muốn. Một thư viện nữa có tên là “LiguidCrystal.h” được sử dụng để tạo điều kiện giao tiếp giữa Arduino và mô-đun LCD. Tại phần giao diện, thư viện LiquidCrystal đầu tiên được khởi tạo và sau đó các chân được xác định bằng lệnh “LiquidCrystal lcd (RS, E, D4, D5, D6, D7)”.

     

    Vị trí của servo sẽ ở 0 độ lúc đầu. Arduino đọc đầu ra cảm biến thông qua các chân đầu vào tương tự bằng cách sử dụng chức năng “analogRead (pin_number)” được tích hợp sẵn. Ví dụ: “analogRead (sensorPin);” biến đổi điện áp (trong khoảng 0 đến 5V) tại chân A0 thành một số nguyên trong khoảng 0 đến 1023. Bằng cách này, điện áp tại A0 được so sánh với một số cố định để xác định cường độ mưa hiện tại. Nếu giá trị thu được từ cảm biến vượt quá một giới hạn cụ thể, bộ điều khiển sẽ kích hoạt servo hoạt động. Và tốc độ hoạt động sẽ thay đổi tùy theo đầu ra cảm biến. Một chức năng do người dùng xác định được gọi là “lau (tốc độ)” được sử dụng để điều khiển tốc độ servo. Trong khi đó cường độ của lượng mưa sẽ được hiển thị trên mô-đun LCD sử dụng chức năng “lcd.print (“ thấp / trung bình / cao ”).

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
9000 /Sợi
/ Sợi

Code: M-7006-052 Còn hàng

Lưu xem sau
Sale 0%
253000 /Cái
/ Cái

Code: M-7006-030 Còn hàng

Lưu xem sau
Sale 0%
40000 /Cái
/ Cái

Code: 7006-031 Còn hàng

Lưu xem sau
Sale 0%
70000 /Cái
/ Cái

Code: M-7006-056 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0979 466 469
Bạn cần linh kiện mẫu ? 7-11 ngày