Mục lục:

Trạm thời tiết cầm tay: 4 bước
Trạm thời tiết cầm tay: 4 bước

Video: Trạm thời tiết cầm tay: 4 bước

Video: Trạm thời tiết cầm tay: 4 bước
Video: 🔴TRỰC TIẾP: Đám Ta.ng MC Lại Văn Sâm 'QU,A Đ,ỜI' ở tuổi 65 - Tại Quê Nhà 2024, Tháng bảy
Anonim
Trạm thời tiết cầm tay
Trạm thời tiết cầm tay
Trạm thời tiết cầm tay
Trạm thời tiết cầm tay
Trạm thời tiết cầm tay
Trạm thời tiết cầm tay

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ổ

Đánh dấu và cắt lỗ và đặt vào màn hình cửa sổ
Đánh dấu và cắt lỗ và đặt vào màn hình cửa sổ
Đánh dấu và cắt lỗ và đặt vào màn hình cửa sổ
Đánh dấu và cắt lỗ và đặt vào màn hình cửa sổ
Đánh dấu và cắt lỗ và đặt vào màn hình cửa sổ
Đánh dấu và cắt lỗ và đặt 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.

  1. 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.
  2. Đá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).
  3. Đá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ỗ.
  4. 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.
  5. 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).
  6. Keo nóng màn hình vào vị trí.

Bước 2: Gắn Oled và Cảm biến

Gắn Oled và Cảm biến
Gắn Oled và Cảm biến
Gắn Oled và Cảm biến
Gắn Oled và Cảm biến
Gắn Oled và Cảm biến
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

Gắn kết Arduino và kết nối các thành phần
Gắn kết Arduino và kết nối các thành phần
Gắn kết Arduino và kết nối các thành phần
Gắn kết Arduino và kết nối các thành phần
Gắn kết Arduino và kết nối các thành phần
Gắn kết Arduino và kết nối các thành phần
  1. 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.
  2. 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.
  3. 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: