Làm thế nào để tạo một máy đo ô nhiễm không khí kỹ thuật số bằng Arduino?
Mối nguy lớn có thể ảnh hưởng đến nhân loại những ngày này là sự ô nhiễm. Hôm nay chúng tôi sẽ thiết kế một máy đo Ô nhiễm không khí sẽ được sử dụng để theo dõi chất lượng không khí trên điện thoại thông minh của chúng tôi. Xương sống của dự án này là Bảng Arduino và Ứng dụng Blynk có thể dễ dàng tải xuống từ Cửa hang tro chơi.
Làm thế nào để giám sát ô nhiễm không khí trên thiết bị di động?
Bước 1: Thu thập các thành phần
Lập danh sách đầy đủ tất cả các thành phần trước khi bắt đầu thực hiện bất kỳ dự án nào luôn là một cách tiếp cận tuyệt vời. Nó không chỉ tiết kiệm rất nhiều thời gian mà còn giúp chúng tôi tránh bị mắc kẹt ở đâu đó giữa dự án bằng cách cho chúng tôi biết rằng các thành phần cầu cảng có sẵn dễ dàng và những thành phần nào sẽ được mua từ thị trường. Dưới đây là danh sách đầy đủ tất cả các thành phần mà chúng tôi sẽ sử dụng trong dự án của mình. Các thành phần này dễ dàng có sẵn trên thị trường.
Bước 2: Thiết kế mạch
Như bây giờ chúng ta đã biết phần tóm tắt chính của dự án của mình và chúng tôi cũng có một danh sách đầy đủ tất cả các thành phần mà chúng tôi sẽ sử dụng trong dự án này, chúng ta hãy tiến thêm một bước và xem thiết kế của dự án. Dự án chủ yếu được chia thành hai phần. Phần đầu tiên là Bộ điều khiển và Cảm biếnvà phần thứ hai là Ứng dụng điện thoại thông minh.
Trung tâm của dự án là bộ vi điều khiển của nó. Arduino Uno là vi điều khiển được sử dụng. Bo mạch Arduino được kết nối với đám mây Blynk bằng kết nối Internet được thiết lập bằng cách sử dụng Arduino Ethernet Shield. Các cảm biến được sử dụng trong máy đo ô nhiễm này là cảm biến PM nova SDS011, cảm biến khí MQ135, nhiệt độ và DHT11.
Đồng hồ thông minh được sản xuất bằng điện thoại Android để tất cả các số đọc có thể được nhìn thấy trên màn hình điện thoại di động và điện thoại di động này có thể được sử dụng để điều khiển rơ le trong phần cứng. Blynk là một ứng dụng di động có thể được sử dụng trên Android và IOS. Nó được thiết kế tốt và nó chứa các vật dụng có thể dễ dàng sử dụng. Ứng dụng này tiết kiệm rất nhiều tiền và thời gian vì phần cứng của màn hình LCD và các thành phần khác phải được mua từ thị trường trong khi ứng dụng này miễn phí và có thể hoàn thành nhiệm vụ được thực hiện bởi các thành phần phần cứng đó.
Bước 3: Làm việc của mạch
Trong phần này, chúng ta sẽ tìm hiểu sơ lược về hoạt động của mạch của chúng ta. Mạch của chúng tôi bao gồm một bảng Arduino với tấm chắn Arduino ethernet, Bộ điều chỉnh điện áp 7805, Cảm biến nhiệt độ và độ ẩm DHT11, Cảm biến khí MQ135, Mô-đun chuyển tiếp và cảm biến PM2.5 cùng với một số thành phần khác. Bạn cũng có thể sử dụng cảm biến PM10 thay vì PM2.5.
PM là viết tắt của Máy đo hạt. Cảm biến này có một hỗn hợp các hạt bụi và các giọt nước trong đó. Một nguồn cụ thể trực tiếp giải phóng một số hạt này trong khi một phản ứng hóa học cụ thể được sử dụng để tạo ra các hạt khác. Nguyên lý của sự tán xạ laser trong không khí được sử dụng trong cảm biến này để phát hiện các hạt lơ lửng trong không khí. Nồng độ của các hạt này có thể nằm trong khoảng từ 0,3 đến 10 micron. Cảm biến này mạnh mẽ và cho dữ liệu ổn định và nhạy. Nó được kết nối qua Tx và Rx của bảng Arduino Uno.
Các cảm biến khí hoạt động trên nguyên tắc trong đó độ dẫn điện thay đổi cùng với sự thay đổi nồng độ của chất khí. nó đưa ra một tín hiệu điện áp như một đầu ra liên quan trực tiếp đến nồng độ của khí. Cảm biến này rất nhạy cảm với hơi nước amoniac, sunfua và benzen, khói và các khí độc hại khác.
Cảm biến nhiệt độ sẽ cảm nhận nhiệt độ và độ ẩm của môi trường xung quanh và gửi tín hiệu điện áp đến bộ vi điều khiển. Nó mạnh mẽ và cung cấp dữ liệu với sai số tối thiểu.
Tất cả các cảm biến này được lắp ráp cùng với bộ vi điều khiển và liên tục gửi dữ liệu đến bộ vi điều khiển. Hai thiết bị tức là quạt và đèn được kết nối với bộ điều khiển thông qua mô-đun chuyển tiếp. Hai người này sẽ làm việc như một dấu hiệu báo động và điều khiển.
Bước 4: Làm việc của Blynk
Blynk là một ứng dụng di động có thể tải xuống trên Android cũng như IOS. Nó được sử dụng để hiển thị dữ liệu và trực quan hóa dữ liệu được gửi đến đám mây từ các cảm biến phần cứng. Ba thành phần chính của Blynk là ứng dụng di động, Đám mây Blynkvà Thư viện Blynk.
Ứng dụng Blynk là ứng dụng giao diện người dùng được cài đặt trên điện thoại di động. Nó chứa các vật dụng khác nhau cho phép bạn thiết kế các dự án thú vị. Ứng dụng này rất thân thiện và dễ sử dụng.
Đám mây Blynk là một loại cơ sở dữ liệu có nhiệm vụ kết nối phần cứng với ứng dụng di động. Bạn có thể chạy cục bộ máy chủ Blynk riêng của mình bằng cách sử dụng đám mây Blynk này. Đám mây này là mã nguồn mở. Hàng nghìn thiết bị có thể được kết nối với đám mây nhưng máy chủ này chỉ có thể được tạo bằng Raspberry Pi.
Có sẵn các thư viện cho các thành phần cảm biến khác nhau được sử dụng để kết nối chúng với máy chủ. Các thư viện này chịu trách nhiệm kiểm soát tất cả dữ liệu đến từ các cảm biến hoặc đi ra khỏi ứng dụng. Khi một nút được nhấn trên ứng dụng, một số dữ liệu sẽ được gửi đến đám mây Blynk và sau đó nó được gửi đến phần cứng tương ứng. Tương tự, dữ liệu từ cảm biến được gửi đến đám mây bằng kết nối internet, sau đó được tải về từ đám mây và hiển thị trên ứng dụng di động.
Bước 5: Kết nối mạch
Hiện tại, khi chúng tôi có tất cả các bộ phận và chúng tôi biết chính xác nguyên tắc hoạt động chính của khung làm việc là gì, chúng tôi có thể tiếp tục và bắt đầu lắp ráp các phân đoạn của mình lại với nhau. Một điều phải nhớ rằng mạch phải được giảm thiểu và các phân đoạn phải được đặt gần nhau.
- Lấy một tấm Veroboard và chà mặt của nó với lớp phủ đồng bằng giấy nháp.
- Bây giờ Đặt các thành phần cẩn thận và đủ gần để kích thước của mạch không trở nên quá lớn
- Cắt các phần tiêu đề nữ cho mọi cảm biến và đặt chúng trên Veroboard. Tất cả các cảm biến sẽ được đưa vào các tiêu đề nữ này.
- Cẩn thận thực hiện các kết nối bằng cách sử dụng sắt hàn. Nếu có bất kỳ lỗi nào được thực hiện trong khi thực hiện các kết nối, hãy cố gắng phá bỏ kết nối và hàn lại kết nối đúng cách, nhưng cuối cùng, kết nối phải thật chặt chẽ.
- Khi tất cả các kết nối đã được thực hiện, hãy thực hiện kiểm tra tính liên tục. Trong điện tử, kiểm tra tính liên tục là kiểm tra mạch điện để kiểm tra xem dòng điện có chạy theo đường mong muốn hay không (chắc chắn đó là mạch tổng). Kiểm tra tính liên tục được thực hiện bằng cách đặt một điện áp nhỏ (được nối dây với đèn LED hoặc bộ phận tạo ra nhiễu, ví dụ, loa áp điện) theo cách đã chọn.
- Nếu thử nghiệm liên tục vượt qua, điều đó có nghĩa là mạch được tạo ra đầy đủ như mong muốn. Bây giờ nó đã sẵn sàng để thử nghiệm
- Kết nối pin với mạch.
Bước 6: Bắt đầu với Arduino
Arduino IDE là một phần mềm mà bạn có thể viết, gỡ lỗi và biên dịch mã sẽ chạy trên vi điều khiển Arduino. Mã này sẽ được tải lên vi điều khiển thông qua IDE này. NẾU bạn chưa có kinh nghiệm trước đây với phần mềm này, không có gì phải lo lắng vì toàn bộ quy trình để sử dụng phần mềm này được đưa ra dưới đây.
- Nếu bạn chưa cài đặt phần mềm, hãy nhấp vào đây để tải xuống phần mềm.
- Kết nối bảng Arduino của bạn với PC và mở Bảng điều khiển. Bấm vào Phần cứng và Âm thanh.Bây giờ mở Thiết bị và Máy in và tìm cổng mà bo mạch của bạn được kết nối. Cổng này khác nhau trên các máy tính khác nhau.
- Bây giờ hãy mở Arduino IDE. Từ Công cụ, đặt bảng Arduino thành Arduino / Genuino UNO.
- Từ cùng một menu Công cụ, hãy đặt số cổng. Số cổng này phải giống chính xác với số cổng đã được quan sát trước đó trong bảng điều khiển.
- Bây giờ, để sử dụng ứng dụng Blynk và lá chắn ethernet với Arduino IDE, chúng ta cần nhập các thư viện đặc biệt cho phép chúng ta ghi mã trên Arduino Uno và sử dụng nó. Hai thư viện này được đính kèm trong liên kết dưới đây. Để bao gồm thư viện, goto Phác thảo> Bao gồm Thư viện> Thêm Thư viện ZIP. Một hộp sẽ xuất hiện. Tìm thư mục ZIP trên máy tính của bạn và nhấp vào OK để bao gồm các thư mục. Thư viện này được đính kèm cùng với mã trong liên kết bên dưới.
- Tải xuống mã được đính kèm bên dưới và sao chép nó vào IDE của bạn. Để tải mã lên, hãy nhấp vào nút tải lên.
Để tải xuống mã, bấm vào đây.
Bước 7: Định cấu hình ứng dụng
Bây giờ chúng ta đã kết nối mạch, hãy tải xuống và cài đặt ứng dụng Blynk từ Play Store. Làm theo các bước bên dưới để thiết lập bảng điều khiển kỹ thuật số.
- Gắn lá chắn ethernet trên Arduino.
- Kết nối bảng này với máy tính cá nhân của bạn.
- Mở bản phác thảo ethernetclient.inovà thêm địa chỉ IP của thiết bị của bạn. Sau khi thực hiện việc này, hãy tải mã lên bảng Arduino. Một tìm kiếm trên google sẽ được trả về bởi bản phác thảo này và kết quả được xem trên màn hình nối tiếp dưới dạng HTML.
- Mở bản phác thảo ethernetserver.ino và thêm địa chỉ IP của thiết bị của chúng tôi. Sau đó tải bản phác thảo này lên bảng Arduino của bạn. Bản phác thảo này sẽ tạo một máy chủ web bằng Arduino và lá chắn ethernet. Bây giờ một yêu cầu HTTP sẽ được thiết bị của bạn trả lời. Trong bản phác thảo này, trình duyệt internet sẽ có thể lấy dữ liệu được gửi bởi Arduino của bạn thông qua một lá chắn ethernet.
- Bây giờ, hãy đảm bảo rằng thiết bị di động của bạn có kết nối Wifi đang hoạt động. Khởi chạy ứng dụng Blynk mà bạn đã tải xuống. Tạo một tài khoản mới trên ứng dụng này. Một tài khoản sẽ được tạo để lưu các dự án của bạn.
- Sau khi tài khoản được tạo, hãy đăng nhập vào tài khoản của bạn và tạo một dự án mới và đặt tên là Máy đo ô nhiễm. Sau khi thực hiện việc này, hãy chọn vi điều khiển là Arduino Uno. Chọn kết nối của bạn là Ethernet.
- Khi bạn nhấp vào Tạo nên, một khóa xác thực sẽ được gửi đến email đã đăng ký của bạn. Khóa xác thực này là một khóa duy nhất giúp kết nối điện thoại thông minh với phần cứng của bạn. Dán khóa xác thực này vào tên phác thảo Arduino dưới dạng ô nhiễm.ino.
- Khi điều này được thực hiện, hãy mở ô nhiễm.inosketch trong Arduino IDE và tải nó lên bảng Arduino.
- Khi dự án được tạo trong ứng dụng android, một khung trống sẽ xuất hiện trên màn hình.
- Nhấn vào bất kỳ đâu trên màn hình. Một hộp widget sẽ xuất hiện chứa tất cả các widget có thể được sử dụng trong ứng dụng.
- Từ menu Tiện ích, hãy chọn LCD và đặt nó trên bố cục chính. Tương tự, đặt một Đèn LED, Vật dụng RTC, Nút bấm và một BẬT / TẮT chuyển đổi, trên bố cục chính.
- Khi mọi thứ đã hoàn tất, hãy nhấp vào nút phát. Trong chế độ chơi này, ứng dụng của bạn sẽ giao tiếp với phần cứng trong thời gian thực. Bạn sẽ có thể xem dữ liệu trên màn hình LCD và điều khiển rơ le của phần cứng từ điện thoại di động của mình.
Bước 8: Làm việc với các bản phác thảo
Mã cho dự án này rất phức tạp và được chia thành các bản phác thảo khác nhau. Bạn cần phải nghiên cứu sâu về nó để duy trì trình tự tải lên nếu bạn muốn dự án của bạn hoạt động tốt. Một số đoạn mã được giải thích ngắn gọn bên dưới.
1. ethernetclient.ino là một bản phác thảo Arduino được sử dụng để kết nối bảng với trang web “www.Google.com” bằng cách sử dụng tấm chắn Ethernet. Trong bản phác thảo này, địa chỉ mac của lá chắn ethernet của bạn được bao gồm. Địa chỉ MAC này được đưa ra trên nhãn dán phía sau bảng. Trang web và IP của nó, nơi mà bảng sẽ được kết nối cũng được đưa ra trong bản phác thảo này. Trong cơ thể của void setup (), kết nối của hội đồng quản trị với trang web đích được thiết lập. Một thông báo lỗi được đưa ra nếu kết nối không thành công. bên trong void loop ()nếu có bất kỳ byte nào đến từ máy chủ, chúng sẽ được đọc và sau đó được in trên màn hình nối tiếp.
2. ethernetserver.inolà một bản phác thảo Arduino là một máy chủ web đơn giản hiển thị giá trị của các chân đầu vào tương tự bằng cách sử dụng lá chắn Arduino Wiznet Ethernet. Trong bản phác thảo này cũng bao gồm địa chỉ mac của lá chắn ethernet của bạn. Địa chỉ IP của mạng cục bộ cũng sẽ được đưa vào đây. Trong void setup ()giao tiếp nối tiếp được mở và sau đó vi điều khiển chờ cổng mở. Khi hoàn tất, bộ vi điều khiển đợi cổng nối tiếp kết nối và sau đó kết nối ethernet được bắt đầu. Trong void loop ()bộ vi điều khiển lắng nghe các máy khách đến. Khi yêu cầu đến được hoàn thành, một thư trả lời có thể được gửi. Vì vậy, một tiêu đề phản hồi HTTP tiêu chuẩn được gửi và sau khi phản hồi này hoàn thành, kết nối sẽ tự động bị đóng. Sau đó, dữ liệu đang được đọc từ các chân tương tự, nó sẽ gửi nó dưới dạng đầu ra. khi tất cả dữ liệu được gửi đến trình duyệt web, kết nối sẽ bị đóng.
3. BlynkBlink.inolà một bản phác thảo Arduino được sử dụng để kết nối ứng dụng Blynk với phần cứng. Khóa xác thực được thêm vào mã này đã được ứng dụng cung cấp thông qua email. trong bản phác thảo này void setup ()đang đặt tốc độ truyền của bộ vi điều khiển và nó đang kết nối phần cứng với đám mây Blynk bằng khóa xác thực.
#define BLYNK_PRINT Serial // Bật Serial Monitor #include#include #include // Phần này dành cho công cụ Ethernet char auth [] = "117a820688214b22b7baf59f8d63c492"; // Đặt Mã xác thực của bạn ở đây. void setup () {Serial.begin (9600); // Đặt tốc độ truyền Blynk.begin (auth); // kết nối board arduino với Blynk Cloud. } void loop () {Blynk.run (); // Blynk hoạt động tại đây}