Mục lục:

Arduino làm việc với nhiều tệp (ĐỌC / VIẾT): 4 bước
Arduino làm việc với nhiều tệp (ĐỌC / VIẾT): 4 bước

Video: Arduino làm việc với nhiều tệp (ĐỌC / VIẾT): 4 bước

Video: Arduino làm việc với nhiều tệp (ĐỌC / VIẾT): 4 bước
Video: Tự học lập trình Arduino Tập 4 | Cấu trúc của một chương trình trong môi trường lập trình Arduino 2024, Tháng bảy
Anonim
Arduino làm việc với nhiều tệp (ĐỌC / VIẾT)
Arduino làm việc với nhiều tệp (ĐỌC / VIẾT)

Xin chào các bạn

Hôm nay tôi giới thiệu cho bạn dự án Arduino hoạt động với lá chắn RTC có thể lưu trữ dữ liệu. Nhiệm vụ chính của dự án này là làm việc với nhiều tệp được lưu trữ trên thẻ sc. Dự án này chứa mã hoạt động với ba tệp được lưu trữ trực tiếp trên thẻ SD với arduino và lá chắn RTC. Vì dự án này hoạt động với lá chắn DataLogger nên dữ liệu đó cũng sẽ được lưu trữ cùng lúc với dữ liệu trên PC của bạn.

Dự án này là phiên bản nâng cấp của dự án cuối cùng của tôi. Dự án đó có thể được tìm thấy trên trang web có hướng dẫn với tên Arduino Data Logger Shield Small Project. Nếu bạn gặp một số vấn đề khi hiểu dự án này, tôi khuyên bạn nên xem dự án dễ dàng hơn trước.

Sự khác biệt chính giữa hai dự án đó là dự án này sử dụng 3 tệp văn bản, cũng lần này chúng tôi đọc dữ liệu từ hai trong số đó. Bởi vì chúng tôi có thể đọc dữ liệu, chúng tôi có thể nhận được giá trị giữa của độ ẩm và nhiệt độ, được lưu trữ trên thẻ sd. Điều này cũng sẽ được hiển thị trên màn hình LCD được kết nối với Arduino.

Một lần nữa, nếu bạn chưa quen với Arduino và đây là dự án đầu tiên của bạn sử dụng DataLogger, tôi khuyên bạn nên truy cập và kiểm tra liên kết này https://www.instructables.com/id/Arduino-Data-Logg… và khi bạn nhận được mọi thứ về điều đó, hãy đến đây và có thêm một số niềm vui. Hãy bắt đầu.

Bước 1: Các bộ phận

Các bộ phận
Các bộ phận
Các bộ phận
Các bộ phận
Các bộ phận
Các bộ phận

Như mọi lần tôi viết các dự án như thế này, tôi sẽ bắt đầu với tất cả các phần mà tôi đã sử dụng với dự án này. Tôi cũng sẽ đề xuất một số cảm biến có thể được sử dụng và có thể làm cho dự án này khác đi một chút.

Các bộ phận:

  • Arduino una rev3
  • Lá chắn ghi dữ liệu Arduino
  • Thẻ nhớ SD
  • Màn hình xanh LCD 1602 với I2C (bạn có thể sử dụng bất kỳ màn hình nào khác)
  • DHT22 (DHT11 cũng hoạt động tốt, nhưng độ chính xác của nó không giống như dht22)
  • Ít cáp nhảy
  • Breadboard
  • Pin 9v

Bạn có thể thay đổi một số bộ phận. Mặt tốt của dự án này là nó có thể được sử dụng để lưu trữ dữ liệu từ bất kỳ cảm biến nào khác. Tôi sẽ thử làm việc với cảm biến khói, hoặc cảm biến hồng ngoại. Nó hoạt động với bất kỳ cảm biến nào khác. Bạn cũng có thể thay đổi Arduino của mình, nhưng hãy nhớ rằng Arduino là tốt nhất để kiện Trình ghi dữ liệu.

Bước 2: Kết nối tất cả các bộ phận với nhau

Kết nối tất cả các bộ phận với nhau
Kết nối tất cả các bộ phận với nhau

Cái này rất dễ kết nối. Ngay cả sơ đồ cũng giống như dự án dễ dàng hơn. Nhưng tôi muốn nói rằng bạn cần phải để ý xem bạn sẽ sử dụng loại pin nào. Mỗi lần kiểm tra bảng dữ liệu của Data logger để xem chân nào tốt nhất để sử dụng, vì tôi nhớ lại một số chân đã được xác định và khi tôi cố sử dụng cảm biến của mình trên một trong các chân đã xác định, nó không hoạt động.

Ở đầu bước này, bạn có thể thấy sơ đồ được tạo bằng fritzing. Điều dễ dàng là bạn cần kết nối trình ghi dữ liệu của mình trên đầu arduino của bạn. Kết nối thẻ sd của bạn với trình ghi dữ liệu và điều cuối cùng bạn cần làm là kết nối cảm biến dht và màn hình LCD. Chúng tôi sử dụng 5V từ arduino cho + một phần trên bảng mạch, GND cho - một phần, và bằng cách làm theo dòng đó, bạn cũng kết nối + dòng cảm biến và lcd đến + dòng của bảng mạch bánh mì. Tương tự đối với - các bộ phận, chúng chỉ đi đến dòng sau -. Cảm biến Dht được kết nối với chân 7 lần này. LCD được kết nối với A4 và A5. Thật dễ dàng phải không?

LCD:

  • VCC đến 5V (+ một phần trên breadboard)
  • GND sang gnd (-part trên breadboard)
  • SDA sang chân analog A4
  • SCL sang chân analog A5

DHT22:

Tôi đã sử dụng dht với bảng trong đó có ba chân được sử dụng:

  • + đến 5V
  • - đến GND
  • ra chân số 7

Bước 3: Mã hóa

Mã thời gian này phức tạp hơn. Một phần tốt của nó được nhận xét để bạn có thể hiểu nó một cách dễ dàng.

Tôi sẽ giải thích mã này trong một vài phần ngắn.

Điều đầu tiên cần lưu ý rằng mã này sẽ cần ít thư viện được cài đặt trên PC của bạn. Đó là: Thời gian (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Bạn có thể sử dụng một số thư viện khác nhưng thư viện này phù hợp với tôi. Sau đó, chúng tôi đang xác định mọi thứ cần thiết cho dự án này. Cảm biến DHT rất dễ xác định, bạn chỉ cần nói chân cắm cảm biến được kết nối với và loại cảm biến. Sau đó, bạn cần xác định một số chân sẽ được sử dụng cho thẻ SD và chân RTC. Và sau đó bạn có thể thấy các biến được sử dụng cho dự án này.

3. Dự án sử dụng một số phương pháp và tất cả chúng đều để làm việc với cảm biến DHT. Nếu bạn đang làm dự án với loại cảm biến này, bạn có thể sử dụng nó. Các phương thức đó là getTempe Heat (), getMidTempe Heat (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTempe Heat (), printHumidity (), printLcdMidTempe Heat (), printMidHumidity ().

4. Trong quá trình thiết lập, có một số việc cần thiết để hoàn thành. Trước hết bạn cần xác định thời gian. Bởi vì chúng tôi đang sử dụng RTC ở đây, chúng tôi muốn có thời gian thích hợp khi Arduino của chúng tôi lưu dữ liệu từ cảm biến. Phần đó sẽ được bình luận trong mã. Nếu bạn bỏ ghi chú //RTC.adjust(DateTime(_DATE_, _TIME_)); bạn có thể đặt thời gian cho dự án của mình. Sau khi bạn đặt thời gian thích hợp, bạn có thể bình luận lại phần đó và bạn có thể sử dụng arduino của mình mà không cần máy tính. Điều này thật tuyệt vì bạn có thể sử dụng cảm biến nhiệt độ của mình trong một số phòng khác và theo dõi nhiệt độ mà không cần đến máy tính. Phần thứ hai sẽ được thực hiện là sử dụng thẻ SD của bạn, trên đó sẽ có dữ liệu được lưu trữ. Shield sẽ thử xem có thẻ hay không và khởi tạo nó. Nếu không có, thông báo lỗi sẽ được hiển thị trong màn hình Nối tiếp trên Arduino IDE.

Trong thiết lập là bước đầu tiên chúng ta làm việc với việc ghi tệp trên thẻ nhớ. Điều đầu tiên được viết trên thẻ là trên tệp datalog.txt. Lần này, chúng tôi chỉ viết thời gian ghi nhật ký thiết bị của mình và chúng tôi cũng tạo một hàng nhỏ tên (các biến được sử dụng để lưu và cả thời gian)

Phần cuối cùng của thiết lập là khởi chạy cảm biến LCD và dht.

5. Phần vòng lặp là phần chính của dự án. Làm việc với cảm biến lần này rất dễ dàng vì nó chỉ sử dụng một phương pháp là đọc các giá trị mà cảm biến nhận được. Phần LCD cũng rất dễ dàng. Phần tiếp theo là phần mà chúng ta cần giải thích ở đây. Dự án này thực hiện điều gì đó mỗi phút. Một phút nó lưu trữ dữ liệu vào datalog.txt. Dữ liệu này có thể được đọc bởi một người thậm chí không biết cách lập trình arduinos. Mặt khác. Một phút nó tiết kiệm nhiệt độ trên datalogB.txt và một phút nó tiết kiệm độ ẩm trên datalogC.txt. Chúng tôi cần datalogB.txt và dataLogC.txt để chúng tôi có thể đọc từ thẻ nhớ của mình. Vì vậy, nếu chúng tôi tiếp tục đọc mã của mình, bạn cũng có thể thấy rằng mã này đọc các giá trị trung bình của nhiệt độ và độ ẩm và lưu trữ chúng trong một hàng. Tôi muốn tạo thiết bị chỉ có mười chữ số cuối cùng trong hồ sơ. Vì vậy, dự án này luôn chạy qua các giá trị từ thẻ và lưu mười chữ số cuối cùng. Các chữ số này được lưu trữ trong các hàng được sử dụng để chúng ta có thể nhận được giá trị trung bình của nhiệt độ và giá trị trung bình của độ ẩm. Những thứ này cũng được hiển thị trên màn hình LCD của chúng tôi sau một thời gian

Bước 4: Sử dụng Arduino và thẻ SD sau đó

Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó
Sử dụng Arduino và thẻ SD sau đó

Tại đây bạn có thể xem những gì được hiển thị trên màn hình LCD và cách thức hoạt động của dự án. Ngoài ra, tôi đang đặt ở đây hình ảnh của các dữ liệu mà tôi đã lưu. Datalog.txt là một tệp có thể được sử dụng để xem cách thiết bị lưu trữ mọi giá trị. DatalogB và datalogC ở đó để bạn có thể xem chúng trông như thế nào. Chúng được viết như vậy nên bạn có thể sử dụng phương pháp phân tích cú pháp và đọc dữ liệu mà không gặp vấn đề gì.

Toàn bộ điểm của dự án này là thao tác với các tệp có trên thẻ sd. Đôi khi chúng ta cần những thiết bị có thể lưu trữ bộ nhớ và nhiệt độ đọc cũng một lúc như vậy. Điều tốt là tấm chắn được sử dụng trên thiết bị này cũng có một mô-đun RTC, đây là điều tốt nhất cho thời gian. Khi chúng ta có thể đọc thời gian thực và lưu trữ dữ liệu bằng thiết bị của mình, điều đó có nghĩa là thiết bị có thể di động.

Cảm ơn các bạn đã đọc dự án này. Tôi hy vọng nó sẽ giúp bạn ra ngoài. Cảm ơn.

Với tất cả các lời chào Sebastian

Đề xuất: