Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah

Komponen dan Perlengkapan

Arduino Nano R3
×1
Modul DHT 11
×1
SENSOR TEKANAN BMP-280
×1
Layar LCD ST7735 1.44 inci
×1
KOTAK CETAK 3D
×1
Kabel USB A ke mini USB B
×1

Alat dan Mesin yang Diperlukan

Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Soldering iron (generik)
Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Printer 3D (generik)
Kawat Solder
Double sided tape

Aplikasi dan Layanan Online

Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Arduino IDE
Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Autodesk Fusion 360

Tentang Proyek Ini

Pendahuluan

Mengambil data fisik secara real-time selalu menarik. Dalam proyek ini, Anda tidak hanya akan dapat menangkap tiga parameter fisik dasar untuk prediksi cuaca, yaitu suhu, kelembaban dan tekanan atmosfer, tetapi juga akan dapat menampilkan data real-time pada layar LCD.

Deskripsi dan Prinsip Kerja

Dua sensor yang digunakan dalam proyek ini adalah BMP-280 dan DHT-11. Sensor pertama merasakan suhu dan tekanan atmosfer sedangkan yang kedua merasakan kelembaban relatif. DHT-11 sebenarnya dapat diganti dengan BME-280 (ia juga dapat mengukur kelembaban) daripada BMP-280, namun jika biaya dipertimbangkan, menggunakan kombinasi sensor yang digunakan di sini jauh lebih ekonomis untuk proyek DIY. Harus juga diperhatikan bahwa meskipun DHT-11 mampu merasakan suhu dan kelembaban, ia hanya digunakan untuk pengukuran kelembaban karena resolusi pengukuran suhunya +/-2° dibandingkan +/-0.5° untuk BMP-280. Jantung dari proyek ini adalah papan pengembangan Arduino NANO. Di sini juga papan NANO dipilih daripada UNO yang lebih disukai karena harganya terjangkau. Layar TFT LCD seri ST7735 1.44 inci digunakan sebagai layar untuk proyek kami. Layar yang lebih besar telah dihindari sehingga Arduino NANO tidak terlebih beban.

Rangkaian dan Pemrograman

Gabungan diagram rangkaian dan diagram blok telah disediakan senyaman mungkin untuk membantu pembuat memahami konfigurasi fisik dan koneksi komponen. Tabel pin-out untuk komponen juga disediakan untuk memudahkan hal-hal. Dengan melalui diagram dan tabel, seseorang akan memperhatikan bahwa pin 5V dan GND pada header ICSP pada Arduino NANO telah digunakan untuk menyuplai daya ke komponen bersama dengan pin daya dan ground papan. Hal ini dilakukan untuk menghilangkan sumber daya tambahan yang akan membuat sistem membesar.

Mengenai pemrograman, dalam bagian pertama, serangkaian library disertakan untuk menjaga pemrograman tetap pendek dan sederhana. Selain yang jelas, library Wire.h dan SPI.h layak disebutkan karena Wire.h adalah yang memungkinkan Arduino berkomunikasi dengan perangkat I2C/TWI seperti BMP-280 dan layar LCD ST7735 dan SPI.h menyediakan antarmuka serial periferal dengan layar LCD ST7735. Dalam bagian kedua, sensor diinisialisasi dan tata letak, warna font, dll. pada layar LCD diatur untuk menampilkan data sesuai preferensi kami. Dalam bagian akhir pemrograman kami, output dari sensor diperoleh dan ditampilkan dengan penundaan yang nyaman antara setiap pembacaan untuk menjaga stabilitas hal-hal.

Konstruksi dan Pengujian

Dalam prototipe, komponen dipertahankan secara modular dan dihubungkan menggunakan kabel jumper daripada soldering. Ini tidak hanya memungkinkan pemecahan masalah dan perbaikan yang mudah tetapi juga membuat proses rangkaian menjadi bebas ribet. Kotak perangkat telah dicetak 3D secara khusus untuk pas sempurna untuk komponen. Kotak disediakan dengan ventilasi yang baik untuk mengekspos sensor ke pengukuran dan membuang panas yang dihasilkan oleh sistem yang akan mengganggu elemen sensir. Perangkat diberi daya melalui kabel AUSB ke mini USB tipe B yang sama yang digunakan untuk memprogram Arduino. Prototipe telah diuji di dalam ruangan berjam-jam menggunakan baik port USB PC dan charger smartphone 5V sebagai suplai. Hasilnya cukup akurat dibandingkan data meteorologis online, dengan mempertimbangkan biaya produksi dan waktu pengembangan.

Kesimpulan

Dalam kesimpulan, dapat dikatakan bahwa proyek ini cukup ekonomis, paling tidak berguna, dan yang paling penting, menyenangkan memiliki stasiun cuaca kecil dan portable yang pas di saku Anda.

Untuk membeli komponen elektronik, pesan dari UTSOURCE

Bibliografi

· Google.com

· Arduino.cc

· Mytectutor.com

Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah
Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah


Kode

THE CODEC/C++
INI ADALAH SKETCH YANG RELEVAN UNTUK PROYEK, PERNYATAAN KOMENTAR AKAN MENJELASKAN KERJA
#include <SPI.h> //include Serial Peripheral Interface library #include <Wire.h> //include Two Wire Interface library #include <Adafruit_GFX.h> // include Adafruit graphics library #include <Adafruit_ST7735.h> // include Adafruit ST7735 TFT library #include <Adafruit_BMP280.h> // include Adafruit BMP280 sensor library #include "DHT.h" //include DHTXX sensor library #define DHTPIN 2 //DHT11 data pin connected to arduino pin D2 #define DHTTYPE DHT11 //specifying the type of DHT sensor used #define TFT_RST 8 // TFT RST pin is connected to arduino pin D8 #define TFT_CS 10 // TFT CS pin is connected to arduino pin D9 #define TFT_DC 9 // TFT DC pin is connected to arduino pin D10 // initialize ST7735 SERIES TFT library Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // define device I2C address: 0x76 or 0x77 (0x77 is the library default address) #define BMP280_I2C_ADDRESS 0x76 Adafruit_BMP280 bmp280; // initialize Adafruit BMP280 library DHT dht(DHTPIN, DHTTYPE); // initialize DHT sensor void setup(void) { dht.begin(); // synchronizing DHT sensor tft.initR(INITR_144GREENTAB); // initialize a ST7735S chip, black tab tft.fillScreen(ST77XX_BLACK); // setting black background tft.drawFastHLine(0, 15 , tft.width(), ST77XX_CYAN);// draw horizontal seperation line at position (0, 15) tft.setTextColor(ST77XX_CYAN, ST77XX_BLACK); // set text color to white and black background tft.setTextSize(1); // setting text size to 1 //tft.setCursor(4, 0); // move cursor to position (4, 0) pixel //tft.print("ARDUINO + ST7735 TFT"); tft.setCursor(25, 5); // move cursor to position (25, 5) pixel tft.print("WEATHER BUDDY"); // initialize the BMP280 sensor if( bmp280.begin(BMP280_I2C_ADDRESS) == 0 ) { // connection error or device address wrong! tft.setTextColor(ST77XX_RED, ST77XX_CYAN); // set text color to red and black background tft.setTextSize(2); // setting text size to 2 tft.setCursor(5, 76); // move cursor to position (5, 76) pixel tft.print("Connection"); tft.setCursor(35, 100); // move cursor to position (35, 100) pixel tft.print("Error"); while(1); // stay here } tft.drawFastHLine(0, 55, tft.width(), ST77XX_CYAN); // draw horizontal seperation line at position (0, 55)pixel tft.drawFastHLine(0, 95, tft.width(), ST77XX_CYAN); // draw horizontal seperation line at position (0, 195)pixel tft.setTextColor(ST77XX_RED, ST77XX_BLACK); // set text color to red and black background tft.setCursor(30, 20); // move cursor to position (30, 20) pixel tft.print("TEMPERATURE "); // setting heading for first section tft.setTextColor(ST77XX_CYAN, ST77XX_BLACK); // set text color to cyan and black background tft.setCursor(40, 60); // move cursor to position (40, 60) pixel tft.print("HUMIDITY "); // setting heading for second section tft.setTextColor(ST77XX_GREEN, ST7735_BLACK); // set text color to green and black background tft.setCursor(40, 100); // move cursor to position (40, 100) pixel tft.print("PRESSURE "); // setting heading for third section tft.setTextSize(2); // setting text size to 2 } // main loop void loop() { char _buffer[8]; // read temperature, humidity and pressure from the BMP280 sensor float temp = bmp280.readTemperature(); // get temperature in °C float hum = dht.readHumidity(); // get humidity in rH% float pres = bmp280.readPressure(); // get pressure in hPa // print temperature (in °C) if(temp < 0) // if temperature < 0 sprintf( _buffer, "-%02u.%02u", (int)abs(temp), (int)(abs(temp) * 100) % 100 ); else // if temperature >= 0 sprintf( _buffer, " %02u.%02u", (int)temp, (int)(temp * 100) % 100 ); // setting the value approximation tft.setTextColor(ST77XX_YELLOW, ST77XX_BLACK); // set text color to yellow and black background tft.setCursor(11, 34); // move cursor to position (11,34) pixel tft.print(_buffer); // print temperature from BMP-280 sensor tft.drawCircle(89, 34, 2, ST77XX_YELLOW); // print the degree symbol ( ° )(can be omitted if * is used instead) tft.setCursor(95, 34); // move cursor to position (95,34) pixel tft.print("C"); // print the Celcius symbol // 2: print humidity (in %) sprintf( _buffer, "%02u ", (int)(hum)); // setting the value approximation tft.setTextColor(ST77XX_MAGENTA, ST77XX_BLACK); // set text color to magenta and black background tft.setCursor(45, 74); // move cursor to position (45,74) pixel tft.print(_buffer); // print humidity from DHT-11 sensor tft.setCursor(75, 74); // move cursor to position (75,74) pixel tft.print("%"); // print the percentage symbol // 3: print pressure (in hPa) sprintf( _buffer, "%04u.%02u", (int)(pres/100), (int)((uint32_t)pres % 100) ); // setting the value approximation tft.setTextColor(ST77XX_ORANGE, ST77XX_BLACK); // set text color to orange and black background tft.setCursor(3, 112); // move cursor to position (3,112)pixel tft.print(_buffer); // print atmospheric pressure from BMP-280 tft.setCursor(91, 112); // move cursor to position (91,112)pixel tft.print("hPa"); // print unit of atmospheric pressure as hecto pascal delay(1000); // wait 1 second before taking next sensor reading } 

Bagian dan Penutup Khusus

INI ADALAH FILE STL UNTUK BAGIAN CETAK 3D YANG SAYA GUNAKAN

Skematik

ANDA HANYA PERLU MENGIKUTI RANGKAIAN YANG DITAMPILKAN.Buat Stasiun Cuaca Kompak dengan Arduino Nano – Panduan DIY Mudah

Proses manufaktur

  1. Membangun Stasiun Cuaca Luar Ruangan dengan Raspberry Pi 2 dan ADS-WS1
  2. Membangun Stasiun Cuaca Raspberry Pi yang Mengirim Data Cuaca Harian melalui Email
  3. Pemantauan Cuaca Jarak Jauh dengan Raspberry Pi 3 dan PubNub
  4. Stasiun Cuaca Canggih v2.0: Pemantauan Suhu, Tekanan, Kelembaban & Ketinggian Real-Time
  5. Buat Konsol Kontrol Photoshop DIY dengan Arduino Nano RP2040
  6. Membuat Jam 7-Segmen Akurat dengan Arduino Pro Mini & DS1302 RTC
  7. Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
  8. eDOT: Jam Arduino Presisi & Stasiun Cuaca dengan Remote IR Bawaan
  9. Membuat Radio FM Kompak dengan Arduino Nano dan RDA8057M
  10. Pemantauan Cuaca Real-Time dengan Arduino & ThingSpeak IoT