Mục lục:

Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth: 5 bước
Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth: 5 bước

Video: Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth: 5 bước

Video: Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth: 5 bước
Video: Bluetooth giám sát nhiệt độ thiết bị (Phần 3) - hướng dẫn tạo ứng dụng cho Android, chia sẻ file aia 2024, Tháng mười một
Anonim
Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth
Bộ ghi dữ liệu nhiệt độ và độ ẩm từ Arduino đến điện thoại Android với mô-đun thẻ SD qua Bluetooth

Xin chào tất cả, Đây là tài liệu hướng dẫn đầu tiên của tôi từ trước đến nay, Hy vọng tôi sẽ giúp được cộng đồng nhà sản xuất vì tôi đã được hưởng lợi từ nó.

Thông thường, chúng tôi sử dụng cảm biến trong các dự án của mình nhưng tìm cách thu thập dữ liệu, lưu trữ và chuyển dữ liệu đó Điện thoại hoặc các thiết bị khác ngay lập tức và không dây không phải là một quá trình được thực hiện sẵn sàng. Có thể hướng dẫn này sẽ hướng dẫn bạn qua

  • Thu thập dữ liệu từ cảm biến (DHT 11) - cảm biến nhiệt độ và độ ẩm.
  • Lưu trữ dữ liệu thu được trong thẻ SD với mô-đun thẻ SD.
  • Truyền dữ liệu không dây bằng Bluetooth sang một Ứng dụng Android tùy chỉnh.
  • Lưu trữ các giá trị cảm biến nhận được dưới dạng tệp văn bản (tệp.txt).

Bước 1: Danh sách thành phần

Danh sách thành phần
Danh sách thành phần
Danh sách thành phần
Danh sách thành phần
Danh sách thành phần
Danh sách thành phần

Hãy xuống để tập hợp quân đội để thực hiện dự án tuyệt vời này.

  • Arduino Uno (bất kỳ arduino nào khác cũng sẽ phù hợp)
  • mô-đun thẻ micro SD.
  • Mô-đun thẻ SD (mô-đun tôi đang sử dụng là 8 GB, nên sử dụng> = 32 GB)
  • HC05 - Mô-đun Bluetooth
  • DHT11 (Cảm biến nhiệt độ và độ ẩm)
  • Bó nhảy.
  • Điện thoại Android

Bước 2: Kết nối:

Kết nối
Kết nối

Việc lắp đặt và kết nối các thành phần với nhau đã được thực hiện một nửa cho dự án. Các sản phẩm được đề cập dễ dàng có sẵn trong hầu hết các cửa hàng điện tử bán lẻ và các trang trực tuyến như Amazon.

Kết nối Arduino - HC05 (Bluetooth):

  • + 5V - Vcc
  • Gnd - Gnd
  • Pin 0 - Tx
  • Pin 1 - Rx

Arduino - Kết nối mô-đun SDcard:

  • + 5V - Vcc
  • Gnd - Gnd
  • Chân 11 - MOSI (Master Out Slave In)
  • Pin 12 - MISO (Master In Slave Out)
  • Chân 13 - SCk (Đồng bộ đồng hồ)
  • Chân 4 - CS (Chọn chip)

Kết nối Arduino - HC05 (Bluetooth):

  • + 5V - Vcc
  • Gnd - Gnd
  • Chân A0 - Tín hiệu

Bước 3: Thủ tục

Thủ tục
Thủ tục

Kết nối tất cả các phần như đã đề cập trong bước trước, Với điều này, chúng ta có thể viết mã trong Arduino Ide để đạt được mục tiêu của mình.

Phần thứ hai trong dự án của chúng tôi là có một ứng dụng Android nhận các giá trị cảm biến, hiển thị các giá trị và lưu trữ nó trong một tệp trong thiết bị di động. Tôi đã sử dụng Thunkable để tạo Ứng dụng Android và cũng đã cung cấp apk và aia cho ứng dụng đó.

Bước 4: Mã Arduino:

Mã Arduino đã được đưa ra và giải thích bên dưới.

Mã arduino chủ yếu là tự giải thích với thư viện thẻ SD và thư viện DHT11. Bluetooth sử dụng nối tiếp phần cứng là pin0 và pin1 của arduino do đó quá trình truyền bluetooth xảy ra với các hàm Serial print () sử dụng hết giao thức I2C và mô-đun thẻ SD sử dụng hết giao thức SPI để giao tiếp với nó.

/*

* Thẻ SD gắn vào xe buýt SPI như sau:

** MOSI - chân 11 ** MISO - chân 12 ** CLK - chân 13 ** CS - chân 4 (dành cho MKRZero SD: SDCARD_SS_PIN) * * Kết nối mô-đun HC 05: ** TX - chân 0 (mặc định) [có thể đã thay đổi nếu đang sử dụng Softwareserial] ** RX - pin 1 (mặc định) [có thể thay đổi nếu đang sử dụng Softwareserial]

*/

#bao gồm

#include #include

Tệp myFile;

dht DHT; #define DHT11_PIN A0

void setup () {

// Mở giao tiếp nối tiếp và đợi cổng mở: Serial.begin (9600); Serial.println ("Loại, / t Trạng thái, / tHumidity (%), / tNhiệt độ (C)"); while (! nối tiếp) {; // đợi cổng nối tiếp kết nối. Chỉ cần cho cổng USB gốc} DHTAcq (); sdCardWrite ("test3.txt"); sdCardRead ("test3.txt");

}

void DHTAcq ()

{Serial.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); Serial.print (DHT.humidity, 1); Serial.print (", / t"); Serial.print (DHT. Nhiệt độ, 1); chậm trễ (2000); }

void sdCardWrite (String fileNameStr)

{Serial.println ("Đang khởi tạo thẻ SD"); if (! SD.begin (4)) {Serial.println ("Khởi động không thành công."); trở lại; } Serial.println ("Khởi động xong!"); // Mở tập tin. lưu ý rằng chỉ có thể mở một tệp tại một thời điểm, // vì vậy bạn phải đóng tệp này trước khi mở tệp khác. myFile = SD.open (fileNameStr, FILE_WRITE); // nếu tệp mở được, hãy ghi vào nó: if (myFile) {myFile.println ("DHT11, / t"); int chk = DHT.read11 (DHT11_PIN); myFile.print (DHT.humidity, 1); myFile.print (", / t"); myFile.print (Nhiệt độ DHT, 1); myFile.close (); Serial.println ("xong!"); chậm trễ (200); /*Serial.print(" Viết thư vào test.txt… "); myFile.println ("thử nghiệm 1, 2, 3."); // đóng tệp: myFile.close (); Serial.println ("xong."); * /} else {// nếu tệp không mở, in ra lỗi: Serial.println ("error opens test.txt"); }}

void sdCardRead (String fileName)

{// mở lại tệp để đọc: myFile = SD.open (fileName); if (myFile) {Serial.println ("test.txt:"); // đọc từ tệp cho đến khi không có gì khác trong đó: while (myFile.available ()) {Serial.write (myFile.read ()); } // đóng tệp: myFile.close (); } else {// nếu tệp không mở, in ra lỗi: Serial.println ("error opens test.txt"); }}

void loop () {

// không có gì xảy ra sau khi thiết lập //Serial.println("test 1.. 2.. 3 "); // delay (1000); }

Bước 5: Ứng dụng Android:

Ứng dụng Android
Ứng dụng Android
Ứng dụng Android
Ứng dụng Android

Ứng dụng Android đã được tạo bằng ứng dụng Thunkable với lập trình kéo và thả. Nó sẽ ghi dữ liệu vào nhãn trên màn hình và sau khi nhấn nút Lưu trữ dữ liệu trên vị trí AppInventor / Data với tên tệp đã được cấp mã.

Dự án có thể được mở rộng để lưu trữ ngoại tuyến bất kỳ dữ liệu cảm biến nào mà chúng tôi muốn bằng cách thay thế bằng các mô-đun cảm biến mong muốn và ứng dụng có thể được mở rộng để lấy dữ liệu từ bộ nhớ và thao tác cho phù hợp với ứng dụng.

Đề xuất: