Mục lục:
- Quân nhu:
- Công cụ:
- Bước 1: Đánh dấu và cắt lỗ và đưa vào màn hình cửa sổ
- Bước 2: Gắn Oled và Cảm biến
- Bước 3: Gắn Arduino và kết nối các thành phần
- Bước 4: Mã
Video: Trạm thời tiết cầm tay: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Trong Có thể hướng dẫn này, chúng tôi sẽ sử dụng Arduino, màn hình oled và kết hợp cảm biến môi trường SparkFun với cảm biến CCS811 và BME280 trên bo mạch để xây dựng một thiết bị cầm tay đo nhiệt độ, độ ẩm, mức TVOC, áp suất khí quyển và mức carbon dioxide. Bạn có thể sử dụng bất kỳ Arduino nào với mã được cung cấp, nhưng tôi đang sử dụng một micro SparkFun Qwiic pro. Nếu bạn là người mới bắt đầu, tôi khuyên bạn nên sử dụng các bộ phận tương tự mà tôi đang sử dụng, chỉ để giữ mọi thứ đơn giản. Tôi đã chọn bảng mạch vi mô SparkFun Qwiic pro vì kích thước nhỏ và đầu nối Qwiic, giúp bạn dễ dàng kết nối các thành phần của mình. Nếu bạn đang sử dụng một bảng khác, hãy mua một chiếc mũ Qwiic, phat, hoặc tấm chắn để phù hợp với bảng của bạn.
Quân nhu:
- Kết hợp môi trường SparkFun đột phá -
- SparkFun Micro OLED đột phá -
- SparkFun Qwiic Pro Micro -
- Cáp Qwiic, 50mm -
- Hộp dự án, kích thước cho các thành phần của bạn, tôi đang sử dụng khoảng 3 x 2 x 1 -
- Tùy chọn: Nếu bạn đang sử dụng Qwiic Pro Micro, bạn có thể cần cáp usb-c (nếu bạn chưa có) để cấp nguồn và lập trình
- Màn hình cửa sổ, khoảng 1,5 x 1,5 inch
- Vít (xem hình trên)
Công cụ:
- Keo nóng và súng bắn keo nóng
- Cây kéo
- Lưỡi dao cạo hoặc dao x-acto, có khả năng cắt xuyên hộp dự án của bạn
Bước 1: Đánh dấu và cắt lỗ và đưa vào màn hình cửa sổ
Chúng tôi sẽ đánh dấu và cắt các lỗ cho oled, cảm biến môi trường và đầu nối USB-C để lập trình và cấp nguồn.
- Sắp xếp các thành phần của bạn ở nơi bạn muốn và đánh dấu các lỗ bắt vít.
- Đánh dấu các hình vuông, đối với oled, một hình vuông có kích thước bằng màn hình và cho cảm biến môi trường, một hình vuông lớn hơn một chút cho 2 cảm biến (xem hình trên).
- Đánh dấu khoảng trống cho đầu nối USB-C. Bảng mạch Qwiic Pro Micro của tôi đã được hàn sẵn các tiêu đề nên tôi đã đặt vào một miếng xốp và đánh dấu nó. Nếu không, hãy đặt nó phẳng dựa vào đáy hộp để đánh dấu lỗ.
- Khoan các lỗ đã đánh dấu và cắt đầu nối USB-C ra. Các lỗ khoan phải đủ lớn để cho các vít đi qua.
- Cắt một hình vuông của màn hình cửa sổ lớn hơn một chút so với lỗ cho cảm biến. Cắt khoảng trống trên màn hình cửa sổ cho lỗ bắt vít và trụ lắp (xem hình trên).
- Keo nóng màn hình vào vị trí.
Bước 2: Gắn Oled và Cảm biến
Gắn cảm biến môi trường và oled vào hộp đựng. Các vít lớn hơn đi vào các lỗ bạn đã khoan và các vít nhỏ hơn đi vào các chốt ở góc của nắp hộp. Sử dụng vòng đệm cho miếng đệm. Đối với các vít lớn hơn, hãy xem sơ đồ ở trên để rõ hơn. Bạn có thể cần sử dụng nhiều hơn một máy giặt để giãn cách.
Bước 3: Gắn Arduino và kết nối các thành phần
- Bảng mạch Qwiic Pro Micro của tôi đã được hàn sẵn các tiêu đề nên tôi đã đặt vào một miếng xốp và dán nó xuống. Nếu của bạn không có tiêu đề, hãy dán nó xuống dưới cùng của hộp. Đảm bảo rằng có đủ chỗ cho cáp Qwiic kết nối.
- Kết nối các thành phần với đầu nối Qwiic. Cả thứ tự và mặt bên của đầu nối Qwiic đều không có vấn đề gì. Xem những hình ảnh trên để rõ hơn.
- Bây giờ bạn có thể gắn hộp dự án của mình lại với nhau. Đảm bảo rằng cáp Qwiic được kết nối chặt chẽ và không bị kẹp.
Bước 4: Mã
Để thiết lập và chạy bo mạch vi mô Qwiic pro của bạn, hãy làm theo hướng dẫn này.
Sau khi hoàn tất, bạn có thể tìm thấy mã bên dưới trên GitHub tại đây.
#include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 # define CCS811_ADDR 0x5B // Mặc định I2C AddressMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR delay); Wire.begin (); oled.begin (); // Khởi tạo OLED oled.clear (ALL); // Xóa bộ nhớ trong của màn hình oled.display (); // Hiển thị những gì trong bộ đệm (splashscreen) oled.clear (PAGE); // Xóa bộ đệm. randomSeed (analogRead (A0) + analogRead (A1)); // Khởi tạo BME280 // Đối với I2C, kích hoạt phần sau và tắt phần SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Chế độ bình thường myBME280.settings.tStandby = 0; myBME280.settings.filter = 4; myBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core:: CCS811_Status_e returnCode = myCCS811.beginWithStatus (); // Gọi.begin () khiến cài đặt được tải chậm (10); // Đảm bảo rằng cảm biến có đủ thời gian để bật. BME280 yêu cầu 2ms để khởi động. byte id = myBME280.begin (); // Trả về ID 0x60 nếu delay thành công (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (round (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (round (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (round (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (round (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (round (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Kiểm tra xem có dữ liệu không if (myCCS811.dataAvailable ()) {// Gọi hàm này cập nhật các biến tVOC và eCO2 toàn cục myCCS811.readAlgorithmResults (); // printData tìm nạp các giá trị của tVOC và eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Điều này sẽ gửi dữ liệu nhiệt độ đến CCS811 myCCS811.setEnosystemalData (BMEhumid, BMEtempC); } print_data (); chậm trễ (2000); }
Dán mã vào Arduino IDE và biên dịch nó. Màn hình sẽ hiển thị logo SparkFun trong vài giây, sau đó bắt đầu hiển thị các điều kiện trực tiếp. Các điều kiện cập nhật khoảng 2 giây một lần. Cảm ơn vì đã đọc.
Có một câu hỏi?
Để lại bình luận hoặc gửi email cho tôi ở đây
Đề xuất:
Trạm thời tiết khoảng cách xa HC-12 và cảm biến DHT: 9 bước
Trạm thời tiết khoảng cách xa HC-12 và cảm biến DHT: Trong hướng dẫn này, chúng ta sẽ học cách tạo một trạm thời tiết khoảng cách xa từ xa bằng cách sử dụng hai cảm biến dht, mô-đun HC12 và Màn hình LCD I2C. Hãy xem video
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã thực hiện đúng cách: 8 bước (có hình ảnh)
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã hoàn thành đúng cách: Sau 1 năm hoạt động thành công trên 2 địa điểm khác nhau, tôi đang chia sẻ kế hoạch dự án trạm thời tiết sử dụng năng lượng mặt trời của mình và giải thích cách nó phát triển thành một hệ thống thực sự có thể tồn tại trong thời gian dài thời kỳ từ năng lượng mặt trời. Nếu bạn theo dõi
Trạm thời tiết DIY & Trạm cảm biến WiFi: 7 bước (có hình ảnh)
DIY Weather Station & WiFi Sensor Station: Trong dự án này, tôi sẽ hướng dẫn bạn cách tạo một trạm thời tiết cùng với một trạm cảm biến WiFi. Trạm cảm biến đo dữ liệu nhiệt độ và độ ẩm cục bộ và gửi dữ liệu đó qua WiFi đến trạm thời tiết. Sau đó, trạm thời tiết hiển thị t
Nến thời tiết - Xem nhanh thời tiết và nhiệt độ: 8 bước
Nến thời tiết - Xem nhanh thời tiết và nhiệt độ: Sử dụng ngọn nến kỳ diệu này, bạn có thể cho biết nhiệt độ hiện tại và điều kiện bên ngoài ngay lập tức
Acurite 5 trong 1 Trạm thời tiết sử dụng Raspberry Pi và Weewx (các trạm thời tiết khác tương thích): 5 bước (có Hình ảnh)
Trạm thời tiết Acurite 5 trong 1 Sử dụng Raspberry Pi và Weewx (các Trạm thời tiết khác Tương thích): Khi tôi mua trạm thời tiết Acurite 5 trong 1, tôi muốn có thể kiểm tra thời tiết tại nhà của mình khi tôi đi vắng. Khi tôi về nhà và thiết lập nó, tôi nhận ra rằng tôi phải có màn hình kết nối với máy tính hoặc mua trung tâm thông minh của họ,