Mục lục:
- Bước 1: Lắp ráp
- Bước 2: Thiết lập IDE và Thư viện
- Bước 3: Lập trình hệ thống
- Bước 4: Chế tạo
- Bước 5: Mã
Video: Trình ghi dữ liệu nguồn mở (OPENSDL): 5 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Mục tiêu của dự án này là thiết kế, xây dựng và thử nghiệm một hệ thống đo lường chi phí thấp cho các nghiên cứu Đánh giá Hiệu suất của Tòa nhà bao gồm ít nhất nhiệt độ, độ ẩm tương đối, độ rọi và có thể mở rộng cho các cảm biến bổ sung và để phát triển nguyên mẫu của các thiết bị này.
Điều này dẫn đến một hệ thống tùy chỉnh và giá cả phải chăng cho phép các bên liên quan tiến hành các phép đo cần thiết để đánh giá hoạt động của tòa nhà một cách hiệu quả và giá cả phải chăng bằng cách ghi lại nhiều thông số môi trường cùng một lúc. Trình ghi dữ liệu nguồn mở (OPENSDL) được phát triển đã được so sánh với trình ghi dữ liệu HOBO U12-012. Hệ thống đối ứng có sẵn trên thị trường này, có thể đo 3 thông số, đó là - nhiệt độ, RH, và độ rọi và một kênh bên ngoài cho các loại cảm biến khác. Một thiết bị cảm biến khác sẽ được yêu cầu để đo bất kỳ thông số nào khác. Các đặc tính của các thông số cần đo được giới hạn trong phần cứng và phần mềm độc quyền, điều này hạn chế hệ thống đo các thông số nhất định với độ chính xác cụ thể. HOBO U12-012 có giá khoảng ₹ 13, 000 (US $ 185), trong khi OPENSDL có giá ₹ 4, 605 (US $ 66), gần bằng một phần ba so với đối tác thương mại.
Một bộ ghi dữ liệu nguồn mở để theo dõi nhiệt độ, RH và mức độ ánh sáng (độ rọi) với sự trợ giúp của Arduino Uno Đây là một DIY để phát triển bộ ghi dữ liệu OPENSDL.
Thời gian yêu cầu: 2-3 giờ để hàn, 5 giờ để đóng gói (4 giờ - in 3D và 1 giờ để cắt laser) Yêu cầu kỹ năng: Hàn, ít hoặc không có kiến thức về lập trình và điện tử
Các bộ phận cần thiết:
- Arduino Uno với cáp
- Lá chắn ghi dữ liệu
- Pin di động đồng xu CR1220
- Bảng đột phá cảm biến nhiệt độ độ ẩm BME280
- Bảng đột phá cảm biến ánh sáng TSL2561
- Mô-đun Wi-Fi ESP01-8266
- Đầu nối nam và nữ RJ-9
- Các tiêu đề xếp chồng che chắn cho Arduino
- Thẻ nhớ SD (dung lượng bất kỳ)
- Bảng vectơ (26 x 18 lỗ)
- 8 pin AA Giá đỡ pin
Công cụ bắt buộc:
- Sắt hàn (35W)
- Dây hàn
- Kìm cắt dây
- Dụng cụ uốn
- Đồng hồ vạn năng
Phần mềm yêu cầu: Arduino IDE (1.0.5 trở lên)
Các thư viện Arduino được sử dụng:
- Thư viện dây
- Thư viện SparkFun TSL2561
- Thư viện đa cảm biến Cactus BME280
- Thư viện thẻ SD
- Thư viện SPI
- Thư viện RTC
Lưu ý: Cảm biến BME280 là cảm biến nhiệt độ, độ ẩm tương đối và áp suất rất chính xác của Bosch. Tương tự, DS1307 là đồng hồ thời gian thực chính xác của Maxim và TSL2561 là cảm biến ánh sáng chính xác. Có những lựa chọn thay thế ít tốn kém hơn và kém chính xác hơn cho những sản phẩm này, nhưng hướng dẫn này nhằm vào những người quan tâm đến việc thu thập dữ liệu để xây dựng đánh giá hiệu suất và xây dựng các ứng dụng giám sát đòi hỏi độ chính xác và độ chính xác cao. Điều này có nghĩa là mọi thiết lập phần cứng và thiết lập phần mềm cụ thể (thư viện, mã chương trình) chỉ dành cho các sản phẩm được chỉ định.
Bước 1: Lắp ráp
Tấm chắn ghi dữ liệu có thể dễ dàng xếp chồng lên nhau trên bo mạch Arduino Uno. Lá chắn này cung cấp khả năng ghi dữ liệu (giữ thời gian và lưu trữ dữ liệu). Tấm chắn phải được xếp chồng lên nhau. Pin dạng đồng xu CR1220 phải được lắp vào khe tròn được cung cấp để giữ cho đồng hồ chạy ngay cả khi Arduino tắt nguồn. Thẻ nhớ SD phải được lắp vào khe cắm thẻ trên bo mạch được cung cấp. Một tấm chắn tùy chỉnh độc đáo đã được phát triển bằng cách sử dụng các chân cái của đầu nối RJ-9 và các tiêu đề xếp chồng của lá chắn Arduino. Các tiêu đề thích hợp đã được hàn ở các vị trí thích hợp để tấm chắn hoàn toàn phù hợp trên bảng Arduino. Arduino có 18 chân ở một bên và 14 chân ở phía bên kia. Các tiêu đề có cùng số chân được sử dụng ở cùng một khoảng cách (cách nhau 18 chân) như trên Arduino. Khoảng trống thừa còn lại tiếp giáp với các tiêu đề được sử dụng để đặt đầu nối RJ-9.
Các tiêu đề là cách tốt nhất để sử dụng các chân cần thiết, đồng thời làm cho chúng vẫn có sẵn để sử dụng cho các thành phần khác. Các cảm biến được sử dụng tuân theo giao thức giao tiếp I2C, yêu cầu 4 chân từ Arduino, đó là: SDA (cũng có sẵn dưới dạng A4), SCL (cũng có sẵn dưới dạng A5), 3.3V & GND. Bốn dây đi ra từ đầu nối RJ-9 được hàn vào bốn chân tiêu đề này. Số lượng đầu nối RJ-9 cần thiết phụ thuộc vào số lượng cảm biến. Trong dự án này, 3 đầu nối RJ-9 đã được sử dụng (hai cho BME280 và một cho TSL2561). Bốn dây ra khỏi đầu nối RJ-9 được mã hóa màu và mỗi dây màu được chỉ định một chân cụ thể cho tất cả các đầu nối RJ-9. Cần lưu ý rằng mã màu có thể khác nhau trên các mảnh RJ-9 khác nhau. Trong trường hợp như vậy, vị trí của dây trên đầu nối phải được lưu ý. Đầu nối RJ-9, sau khi hàn, được tạo ra để dính trên bảng vectơ bằng cách sử dụng Feviqwik, để nó được cố định trên bề mặt. Các kết nối này có thể được xác minh bằng cách sử dụng chế độ liên tục trên đồng hồ vạn năng. Khi ở chế độ liên tục, đồng hồ vạn năng sẽ hiển thị điện trở bằng không. Kết nối một trong các đầu dò của đồng hồ vạn năng với chân hàn và một đầu dò khác với chân bên trong đầu nối RJ-9. Đồng hồ vạn năng phải phát ra âm báo, có nghĩa là các mối nối hàn đã phù hợp và các kết nối đã được thực hiện đúng cách. Nếu âm báo không được phát ra, hãy kiểm tra các mối nối hàn. Tương tự, hàn đầu nối RJ-9 với các dây giống nhau kết nối với các lỗ kim giống nhau trên bảng ngắt cảm biến, tức là A4, A5, 3.3V & GND. Cảm biến BME280 hỗ trợ hai địa chỉ I2C, có nghĩa là hai cảm biến BME280 có thể được kết nối với cùng một bộ điều khiển cùng một lúc. Trong khi làm như vậy, địa chỉ của một trong các cảm biến phải được thay đổi bằng cách nối các miếng hàn trên cảm biến. Một chip kết nối không dây ESP-01 yêu cầu các kết nối sau với Arduino.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Lưu ý: - Nhiều đèn LED trên Arduino Uno đã bị loại bỏ để cải thiện tuổi thọ pin. Đèn LED báo nguồn, đèn LED RX và đèn LED TX được loại bỏ bằng cách làm nóng các khớp hàn và dùng kẹp đẩy đèn LED.
Bước 2: Thiết lập IDE và Thư viện
Trước khi thực hiện bất kỳ lập trình nào, phải tải xuống Arduino IDE (Môi trường phát triển tích hợp). Việc lập trình được thực hiện trên nền tảng này. Các thư viện khác nhau được yêu cầu để tương tác với các thành phần khác nhau của OPENSDL. Các thư viện sau đây đã được sử dụng cho các thành phần nhất định.
Thành phần ------------------------------------------------- --------------Thư viện
Cảm biến nhiệt độ & RH BME280 --------------------------------- Cactus_io_BME280_I2C.h
Cảm biến ánh sáng------------------------------------------------ ---------------- SparkFun TSL2561.h
Đồng hồ thời gian thực ----------------------------------------------- ------------- RTClib.h
Ổ cắm thẻ SD ----------------------------------------------- ------------- SD.h
Kết nối I2C ------------------------------------------------ ------------- Wire.h
Không cần thư viện riêng để giao tiếp với ESP01 vì mã được tải lên trong Arduino có các lệnh AT, được gửi đến bộ theo dõi nối tiếp, từ đó ESP-01 thực hiện các lệnh. Vì vậy, về cơ bản, các lệnh AT mà ESP01 chạy, được in vào Serial Monitor, được ESP-01 lấy làm lệnh đầu vào. Để cài đặt các thư viện này, sau khi tải xuống, hãy mở Arduino IDE, đi tới Sketch -> Bao gồm Thư viện -> Thêm thư viện. Zip và chọn các thư viện đã tải xuống.
Bước 3: Lập trình hệ thống
Trước khi lập trình OPENSDL, hãy kết nối Arduino với máy tính xách tay. Sau khi kết nối, đi tới Công cụ -> Cổng, và chọn cổng COM mà OPENSDL được kết nối. Ngoài ra, hãy đảm bảo rằng trong Công cụ -> Bảng, Arduino Uno được chọn.
OPENSDL được phát triển để hoạt động ở 2 chế độ. Ở chế độ đầu tiên, nó lưu trữ dữ liệu trên thẻ SD trên tấm chắn ghi dữ liệu. Ở chế độ thứ hai, nó gửi dữ liệu qua internet đến một trang web bằng cách sử dụng chip Wi-Fi ESP-01. Chương trình cho cả hai chế độ là khác nhau. Những dòng mã này có thể được sao chép và dán trực tiếp vào trình soạn thảo Arduino IDE và được sử dụng trực tiếp. Khi ở trong mã, chúng ta cần thực hiện một số tùy chỉnh theo nhu cầu của mình:
- Thay đổi thủ công giá trị của độ trễ (1000) ở cuối mã để thay đổi khoảng thời gian ghi nhật ký. Giá trị 1000 đại diện cho khoảng thời gian tính bằng mili giây.
- Chỉnh sửa dòng mã có nội dung mySensorData = SD.open ("Logged01.csv", FILE_WRITE); và thay thế Logged01 bằng tên tệp của tên tệp mong muốn. Phần mở rộng của tệp cũng có thể được thay đổi bằng cách sửa đổi phần mở rộng.csv ngay sau tên tệp.
- Phương trình hiệu chuẩn đạt được bằng cách tìm mối tương quan giữa cảm biến Master / tham chiếu và BME280 sẽ thay đổi theo từng cảm biến. Thay thế dòng mã này bằng phương trình hiệu chuẩn các cảm biến: Serial.print ((1.0533 * t2) -2.2374) - đối với cảm biến có địa chỉ mặc định (0x77), trong đó t2 là giá trị được đọc từ cảm biến nhiệt độ.
Một chương trình riêng biệt đã được cung cấp để lập trình chế độ sẵn có thứ hai của OPENSDL, đó là hệ thống không dây. ESP-01 phải được kết nối với OPENSDL theo các kết nối như được giải thích trong Bước # 2. Sau khi hoàn tất các kết nối, hãy kết nối Arduino với máy tính xách tay và tải lên một bản phác thảo trống trong Arduino. Đặt ESP-01 ở chế độ cập nhật và cập nhật phần sụn lên bản cập nhật mới nhất hiện có. Sau khi cập nhật, hãy đảm bảo kết nối chân đặt lại của Arduino với chân 3,3V, chân này bỏ qua bộ nạp khởi động Arduino
Bước 4: Chế tạo
Một vỏ bọc cho OPENSDL được tạo ra để bảo vệ và cải thiện tính thẩm mỹ. Vỏ được phát triển bằng cách in 3D sử dụng vật liệu PLA và vỏ cho bộ vi điều khiển được phát triển bằng cách cắt laser tấm MDF và dán các mảnh lại với nhau. Các mô hình in 3D được phát triển bằng cách sử dụng phần mềm SketchUp và các bản vẽ dxf 2D để cắt laser được tạo bằng cách sử dụng AutoCAD.
Đối với in 3D, các tệp STL được tạo bằng SketchUp đã được mở và kiểm tra trong phần mềm Ultimaker Cura 3.2.1. Đảm bảo rằng vật liệu PLA được sử dụng và đầu phun của máy in được sử dụng để in 0,4mm. Bản dựng của máy in 3D có thể yêu cầu keo để dán vật thể in 3D. Nhưng khi in xong, lớp keo tạo ra sự kết dính chặt chẽ giữa vật in và tấm dựng.
Bước 5: Mã
Mã (tệp.ino) được tạo để hoạt động trong phần mềm Arduino IDE. Đây là liên kết đến trang Github của tôi để biết mã và các chi tiết khác.
github.com/arihant93/OPENSDL
Xin đừng ngần ngại đặt câu hỏi về dự án.
Cảm ơn.
Đề xuất:
Cách tạo bộ ghi dữ liệu thời gian thực về độ ẩm và nhiệt độ với Arduino UNO và thẻ nhớ SD. DHT11 Mô phỏng ghi dữ liệu trong Proteus: 5 bước
Cách tạo bộ ghi dữ liệu thời gian thực về độ ẩm và nhiệt độ bằng Arduino UNO và thẻ nhớ SD. DHT11 Data-logger Simulation in Proteus: Giới thiệu: xin chào, đây là Liono Maker, đây là liên kết YouTube. Chúng tôi đang thực hiện một dự án sáng tạo với Arduino và làm việc trên các hệ thống nhúng.Data-Logger: Một trình ghi dữ liệu (cũng là trình ghi dữ liệu hoặc trình ghi dữ liệu) là một thiết bị điện tử ghi lại dữ liệu theo thời gian
Trình đọc / ghi và ghi âm thanh ScanUp NFC cho người mù, người khiếm thị và mọi người khác: 4 bước (có hình ảnh)
Máy đọc / ghi âm thanh ScanUp NFC và Máy ghi âm cho Người mù, Khiếm thị và Mọi người Khác: Tôi học thiết kế công nghiệp và dự án là công việc trong học kỳ của tôi. Mục đích là để hỗ trợ người khiếm thị và người mù bằng một thiết bị cho phép ghi lại âm thanh ở định dạng WAV trên thẻ SD và gọi thông tin đó bằng thẻ NFC. Vì vậy, trong
OpenLogger: Một trình ghi dữ liệu có độ phân giải cao, Wi-Fi được bật, nguồn mở, dữ liệu di động: 7 bước
OpenLogger: Trình ghi dữ liệu di động có độ phân giải cao, Wi-Fi Bật, Nguồn mở, Di động: OpenLogger là trình ghi dữ liệu di động, mã nguồn mở, chi phí thấp, độ phân giải cao được thiết kế để cung cấp các phép đo chất lượng cao mà không yêu cầu phần mềm hoặc phần mềm viết đắt tiền từ đầu. Nếu bạn là một kỹ sư, nhà khoa học hoặc một người đam mê
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình tự lập trình tự ): 7 bước (có Hình ảnh)
(gần như) Lập trình viên MIDI SysEx CC đa năng (và Trình lập trình …): Vào giữa những năm tám mươi, các bộ sản xuất tổng hợp bắt đầu " ít hơn là tốt hơn " quá trình dẫn đến synths barebone. Điều này cho phép giảm chi phí về mặt sản xuất, nhưng làm cho quá trình vá lỗi trở nên thành công nếu không muốn nói là không thể sử dụng cuối cùng
Trình ghi dữ liệu lịch sử máy điều nhiệt Nest: 6 bước (có hình ảnh)
Trình ghi dữ liệu lịch sử máy điều nhiệt Nest: Máy điều nhiệt Nest theo dõi nhiệt độ, độ ẩm và mức sử dụng lò / AC và người dùng chỉ có thể xem dữ liệu lịch sử trong 10 ngày. Tôi muốn thu thập dữ liệu lịch sử (> 10 ngày) và tìm thấy tập lệnh bảng tính google ping lồng nhau vào mỗi thời điểm đã định