Làm thế nào để tạo một thùng rác thông minh bằng Arduino?

Thế giới đang chuyển động nhanh chóng, và công nghệ cũng chuyển động theo nó trong lĩnh vực điện tử. Mọi thứ trong thời kỳ hiện đại này đang trở nên thông minh hơn. Tại sao chúng ta không làm cho các thùng rác thông minh? Đó là một vấn đề phổ biến được thấy trong môi trường xung quanh chúng ta là hầu hết các thùng rác được che từ trên xuống. Mọi người cảm thấy không thoải mái khi chạm vào nắp và mở nó ra để ném phát ban vào trong đó. Chúng tôi có thể giải quyết vấn đề này của một số người bằng cách tự động hóa nắp thùng rác.

Arduino và một cảm biến siêu âm cùng với động cơ servo có thể được tích hợp để tạo thành một thùng rác thông minh. Nếu thùng phát hiện có thùng rác ở phía trước, thùng sẽ tự động mở nắp và nắp sẽ đóng lại sau một vài giây.

Làm thế nào để tự động mở và đóng nắp thùng rác bằng Arduino?

Bây giờ khi chúng ta biết phần tóm tắt của dự án, chúng ta hãy tiếp tục và bắt đầu thu thập thêm thông tin về các thành phần, hoạt động và sơ đồ mạch để ngay lập tức bắt đầu làm việc với dự án.

Bước 1: Thu thập các thành phần

Nếu bạn muốn tránh bất kỳ sự bất tiện nào khi ở giữa bất kỳ dự án nào, cách tốt nhất là lập một danh sách đầy đủ tất cả các thành phần mà chúng ta sẽ sử dụng. Bước thứ hai, trước khi bắt đầu chế tạo mạch, bạn phải tìm hiểu sơ qua về tất cả các thành phần này. Dưới đây là danh sách tất cả các thành phần mà chúng tôi cần trong dự án này.

Bước 2: Nghiên cứu các thành phần

Bây giờ, khi chúng ta có một danh sách đầy đủ của tất cả các thành phần, chúng ta hãy tiến lên một bước và đi qua một nghiên cứu ngắn gọn về hoạt động của mọi thành phần.

Arduino Nano là một bảng vi điều khiển thân thiện với breadboard được sử dụng để điều khiển hoặc thực hiện các tác vụ khác nhau trong một mạch. Chúng tôi đốt cháy một Mã C trên Arduino Nano để cho bảng vi điều khiển biết cách thức và những thao tác cần thực hiện. Arduino Nano có chức năng chính xác như Arduino Uno nhưng với kích thước khá nhỏ. Bộ vi điều khiển trên bảng Arduino Nano là ATmega328p.nếu bạn không có Arduino Nano, bạn cũng có thể sử dụng Arduino Uno hoặc Arduino Maga.

Bảng HC-SR04 là một cảm biến siêu âm được sử dụng để xác định khoảng cách giữa hai đối tượng. Nó bao gồm một máy phát và một máy thu. Bộ phát chuyển đổi tín hiệu điện thành tín hiệu siêu âm và bộ thu chuyển đổi tín hiệu siêu âm trở lại tín hiệu điện. Khi máy phát gửi một sóng siêu âm, nó sẽ phản xạ lại sau khi va chạm với một vật thể nhất định. Khoảng cách được tính bằng cách sử dụng thời gian, tín hiệu siêu âm đó đi từ máy phát và quay trở lại máy thu.

A Động cơ Servolà một bộ truyền động quay hoặc một bộ truyền động tuyến tính có thể được điều khiển và di chuyển theo từng bước chính xác. Những động cơ này khác với động cơ DC. Những động cơ này cho phép điều khiển chính xác chuyển động góc hoặc chuyển động quay. Động cơ này được kết hợp với một cảm biến đang gửi phản hồi về chuyển động của nó.

Bước 3: Tìm hiểu hoạt động

Chúng tôi đang chế tạo một thùng rác có nắp sẽ tự động đóng mở và không cần phải chạm vào nó. Chúng ta sẽ chỉ phải lấy thùng rác trước thùng rác. Cảm biến siêu âm sẽ tự động phát hiện thùng rác và sẽ mở nắp với sự trợ giúp của động cơ servo. Khi nắp mở, chúng ta sẽ ném rác vào thùng và khi chúng ta làm xong, nắp sẽ tự động đóng lại sau một khoảng thời gian trễ vài giây. Đây là nguyên tắc làm việc đơn giản đằng sau dự án này.

Bước 4: Lắp ráp các thành phần

  1. Gắn một bảng mạch vào bên cạnh thùng. Chèn một bảng Arduino Nano vào đó.
  2. Gắn cảm biến siêu âm ở phía trước thùng. cảm biến phải hướng lên trên một chút với góc nâng một chút.
  3. Lấy mô tơ servo và cố định một cánh tay servo trong đó. Gắn mô tơ servo vào khớp nối của thùng và nắp với sự trợ giúp của keo nóng.
  4. Bây giờ thực hiện tất cả các kết nối thông qua các dây kết nối. Kết nối Vin và mặt đất của động cơ và cảm biến siêu âm với nguồn 5V và mặt đất của Arduino. Kết nối chân kích hoạt của cảm biến với chân2 và chân echo với chân3 của Arduino. Kết nối chân PWM của động cơ servo với chân 5 của Arduino.
  5. Bây giờ khi tất cả các kết nối của mạch đã được thực hiện, nó sẽ trông như thế này:

Bước 5: Bắt đầu với Arduino

Nếu bạn chưa quen với Arduino IDE, đừng lo lắng vì quy trình từng bước để thiết lập và sử dụng Arduino IDE với bảng vi điều khiển được giải thích dưới đây.

  1. Tải xuống phiên bản Arduino IDE mới nhất từ ​​Arduino.
  2. Kết nối bảng Arduino Nano với máy tính xách tay của bạn và mở bảng điều khiển. trong bảng điều khiển, nhấp vàoPhần cứng và Âm thanh. Bây giờ bấm vàoCác thiết bị và máy in.Tại đây, hãy tìm cổng mà bảng vi điều khiển của bạn được kết nối. Trong trường hợp của tôi, nó là COM14nhưng nó khác nhau trên các máy tính khác nhau.
  3. Nhấp vào menu Công cụ. và đặt bảng thành Arduino Nano từ menu thả xuống.
  4. Trong cùng một menu Công cụ, hãy đặt cổng thành số cổng mà bạn đã quan sát trước đó trong Các thiết bị và máy in.
  5. Trong cùng một menu Công cụ, Đặt Bộ xử lý thành ATmega328P (Bộ nạp khởi động cũ).
  6. Để viết mã để vận hành động cơ servo, chúng ta cần một thư viện đặc biệt sẽ giúp chúng ta viết một số chức năng cho động cơ servo. Thư viện này được đính kèm cùng với mã, trong liên kết bên dưới. Để bao gồm thư viện, hãy nhấp vào Phác thảo> Bao gồm Thư viện> Thêm ZIP. Thư viện.
  7. Tải xuống mã được đính kèm bên dưới và dán nó vào IDE Arduino của bạn. Bấm vào tải lên để ghi mã trên bảng vi điều khiển của bạn.

Để tải xuống mã, bấm vào đây.

Bước 6: Tìm hiểu Quy tắc

Mã được nhận xét khá tốt nhưng vẫn được giải thích ngắn gọn bên dưới.

1. Khi bắt đầu, một thư viện được bao gồm để chúng ta có thể sử dụng các chức năng tích hợp để vận hành động cơ servo. Hai chân của bảng Arduino Nano cũng được khởi tạo để chúng có thể được sử dụng cho chân kích hoạt và tiếng vọng của cảm biến siêu âm. Một đối tượng cũng được tạo ra để nó có thể được sử dụng để đặt các giá trị cho động cơ servo. Hai biến cũng được khai báo để giá trị của khoảng cách và thời gian của tín hiệu siêu âm có thể được lưu và sau đó sử dụng trong công thức.

#include       // Bao gồm Thư viện cho Servo Motor Servo servo; // Khai báo một đối tượng cho động cơ servo int const trigPin = 2; // Kết nối pin2 của arduino với trig của cảm biến siêu âm int const echoPin = 3; // Kết nối pin3 của arduino với echo của cảm biến siêu âm int thời lượng, khoảng cách; // Khai báo các biến để lưu trữ khoảng cách và loại tín hiệu siêu âm

2. void setup ()là một chức năng trong đó chúng ta khởi tạo các chân của bảng Arduino để được sử dụng như INPUT hoặc OUTPUT. Chân kích hoạt sẽ được sử dụng làm đầu ra và một chân echo sẽ được sử dụng làm đầu vào. Chúng tôi đã sử dụng đối tượng servo, để kết nối động cơ với chân 5 của Arduino nano. Pin5 có thể được sử dụng để gửi tín hiệu PWM. Tốc độ truyền cũng được đặt trong chức năng này. Tốc độ truyền là tốc độ bit trên giây mà vi điều khiển giao tiếp với các thiết bị bên ngoài.

void setup () {Serial.begin (9600); // thiết lập tốc độ truyền của pinMode vi điều khiển (trigPin, OUTPUT); // chân trig sẽ được sử dụng làm mã pin đầu ra (echoPin, INPUT); // chân echo sẽ được sử dụng làm đầu vào servo.attach (5); // Kết nối động cơ servo với chân 5 của arduino}

3. void loop ()là một hàm chạy đi chạy lại trong một vòng lặp. Trong vòng lặp này, một sóng siêu âm được gửi đến xung quanh và nhận lại. Khoảng cách được bao phủ được đo bằng cách sử dụng thời gian tín hiệu rời khỏi cảm biến và quay lại cảm biến. Sau đó, điều kiện được áp dụng cho khoảng cách tương ứng.

void loop () {digitalWrite (trigPin, HIGH); // gửi tín hiệu siêu âm trong khoảng trễ xung quanh (1); digitalWrite (trigPin, LOW); // Đo đầu vào xung trong thời lượng chân echo = xungIn (echoPin, HIGH); // Khoảng cách là một nửa thời lượng được cung cấp bởi 29.1 (từ biểu dữ liệu) distance = (thời lượng / 2) / 29.1; // nếu khoảng cách nhỏ hơn 0,5 mét và lớn hơn 0 (0 trở xuống có nghĩa là vượt quá phạm vi) if (khoảng cách <= 50 && khoảng cách> = 0) {servo.write (50); chậm trễ (3000); } else {servo.write (160); }}

Bây giờ khi chúng ta biết tất cả các bước phải trải qua để thực hiện dự án tuyệt vời này, hãy nhanh tay và tận hưởng chế tạo thùng rác thông minh của bạn.

Facebook Twitter Google Plus Pinterest