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

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Komponen dan perlengkapan

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Arduino Nano R3
×1
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Sensor Suhu DHT22
×1
bmp180
×1
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Adafruit Standard LCD - 16x2 Putih pada Biru
×1

Alat dan mesin yang diperlukan

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Paku pengelasan (umum)

Aplikasi dan layanan online

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Arduino IDE

Tentang proyek ini

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Baru-baru ini kampus saya mengadakan pameran ilmu pengetahuan kecil. Jadi saya diminta oleh guru saya untuk menyajikan proyek di kampus untuk mengajarkan elektronika kepada siswa muda, jadi saya hanya punya dua hari untuk membuat sesuatu.

Karena kondisi iklim di sini sangat bervariasi dan baru-baru ini suhu berada di sekitar 34-40 derajat Celsius. Jadi saya memutuskan untuk membuat stasiun cuaca.

Apa yang dilakukan stasiun cuaca?

Stasiun cuaca adalah perangkat yang mengumpulkan data terkait cuaca dan lingkungan menggunakan banyak sensor yang berbeda

Sensor seperti

  • Angin
  • Kelembaban
  • Hujan
  • Suhu
  • Tekanan
  • Ketinggian

Tujuannya adalah membuat stasiun cuaca portabel

Fitur yang harus dimiliki

  • Suhu
  • Kelembaban
  • Tekanan
  • Ketinggian

Langkah 1: Bahan: Waktu untuk Membeli Barang

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Jadi ini adalah hal yang kita butuhkan untuk proyek ini

Saya sebenarnya memulai proyek pada UNO saya tapi kemudian saya memutuskan untuk beralih ke solusi yang lebih kompak.

Saya memiliki nano pada saat itu jadi harus memilihnya, akan sangat suka menggunakan micro, karena itu yang terkecil.

Bagaimanapun, biarkan hal-hal itu, membahas anggaran dan bagian ini adalah daftarnya .

  • Sensor suhu dan kelembaban DHT22 -> $3.00
  • Sensor tekanan BMP180 (BMP280 lebih murah tapi mahal di lokasi saya ) > $2.00
  • Arduino Nano > $1.89
  • Pengelasan
  • Tampilan LCD dengan Driver I2C > $3.0
  • Papan veroboard
  • Header female

Untuk akhir alat Anda akan membutuhkan

  • Paku pengelasan
  • Pacu hidung
  • Kabel

Dan Juga sedikit waktu

Langkah 2: Suhu dan Kelembaban- DHT22

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Pengukuran suhu dapat dilakukan menggunakan sensor yang berbeda.

Yang populer adalah DHT22, DHT11, SHT1x

Jadi dasarnya, mari kita pahami bagaimana sensor ini berbeda satu sama lain dan mengapa saya menggunakan DHT22 di awal.

AM2302 menghasilkan sinyal digital terkalibrasi. Ini menerapkan teknik pengumpulan sinyal digital eksklusif dan teknologi penginderaan kelembaban, memastikan keandalan dan stabilitasnya. Elemen penginderaannya terhubung dengan komputer single-chip 8-bit.

Setiap sensor model ini dikompensasi suhu dan dikalibrasi dalam ruang kalibrasi yang akurat dan koefisien kalibrasi disimpan dalam bentuk program dalam memori OTP, saat sensor mendeteksi, itu akan menyalin koefisien dari memori. Ukuran kecil & konsumsi rendah & jarak transmisi panjang (100m) memungkinkan AM2302 cocok untuk berbagai aplikasi keras. Dikemas dalam satu baris dengan empat pin, membuat koneksi sangat nyaman.

Mari kita lihat beberapa kelebihan dan kekurangan dari ketiganya.

DHT11

Kelebihan: Tidak perlu pengelasan. Termurah di antara tiga. Dapatkan output stabil dengan cepat. Transmisi lebih dari 20m. Gangguan kuat.

Kekurangan: Library! Tidak ada opsi resolusi. Kesalahan: Suhu +/-2°C; Kelembaban +/-5%RH. Rentang pengukuran tidak mencukupi (0-50°C). Aplikasi: Kebun, Pertanian.

DHT22

Kelebihan: Tidak perlu pengelasan. Tambahkan beberapa dolar ke DHT11 dan dapatkan peningkatan. Kurva halus. Kesalahan terkecil. Rentang luas. Transmisi lebih dari 20m. Gangguan kuat.

Kekurangan: Dapat lebih sensitif. Pelacakan suhu lambat. Library diperlukan. Aplikasi: Pemantauan Lingkungan. SHT1x

Kelebihan: Tidak perlu pengelasan. Kurva halus. Kesalahan kecil. Respons cepat. Konsumsi daya rendah. Tidur otomatis. Stabilitas dan konsistensi jangka panjang yang luar biasa.

Kekurangan: Dua antarmuka digital. Kesalahan kelembaban. Rentang pengukuran sama dengan DHT11. Library diperlukan. Aplikasi: Tugas berat dan instalasi jangka panjang. Tiga pilihan yang relatif murah berikutnya.

Koneksi

Vcc ke 5V atau 3.3V

Gnd ke Gnd

Data ke pin 2 arduino

Langkah 3: Barometer dan Sensor Tekanan- BMP180

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

bmp180 adalah sensor tekanan barometrik dengan antarmuka I2C (“Wire”).

Sensor tekanan barometrik mengukur tekanan absolut udara di sekitarnya. Tekanan ini bervariasi baik dengan cuaca maupun ketinggian.

modul bmp180 ini dilengkapi dengan regulator 3.3 v 662k yang saya ledakkan hingga ke kebodohan jadi saya menambahkan kabel untuk melewatkan seluruh vcc langsung ke chip.

Catatan : Dengan melakukannya saya membatasi diri saya hanya menggunakan 3.3 v , penggunaan tegangan di atas itu akan merusak perangkat.

Model lain mungkin tidak memiliki regulator tegangan 662k. jadi periksa dengan teliti .

Baik kembali kita hubungkan sensor ke arduino .

Sensor terhubung ke bus i2c arduino yang pada nano dan Uno adalah

SDA==>A4

SCL==>A5

VCC==>3.3V

GND ==> GND

Mari kita bicara sedikit tentang tekanan dan bagaimana tekanan mengukur ketinggian dan suhu.

Tekanan atmosfer pada posisi apa pun tidak konstan. Interaksi kompleks antara putaran bumi, kemiringan sumbu, dan banyak faktor lainnya menghasilkan area tekanan yang lebih tinggi dan lebih rendah yang bergerak, yang kemudian menyebabkan variasi cuaca yang kita lihat setiap hari. Dengan memantau perubahan tekanan, Anda dapat memprediksi perubahan cuaca jangka pendek.

Misalnya, penurunan tekanan biasanya berarti cuaca basah atau badai mendekat (sistem tekanan rendah sedang masuk). Kenaikan tekanan biasanya berarti cuaca cerah mendekat (sistem tekanan tinggi sedang melewati).

Tekanan atmosfer juga bervariasi dengan ketinggian. Tekanan absolut di kampung dasar Mt .everest (5,400 ) lebih rendah dari Delhi (216)

Karena tekanan absolut sulit dibandingkan secara langsung pengukuran tekanan dari satu lokasi ke lokasi lain. kita menggunakan tekanan relatif .yaitu tekanan permukaan laut.

Mengukur ketinggian

Tekanan atmosfer rata-rata di permukaan laut adalah 1013.25 hPa (atau mbar). Ini turun hingga nol saat Anda mendaki menuju ruang hampa. Karena kurva penurunan ini dipahami dengan baik, Anda dapat menghitung perbedaan ketinggian antara dua pengukuran tekanan (p dan p0) dengan menggunakan persamaan ini:

alti=44330*[1-(p/p0)^(1/5.255)]

Jika Anda menggunakan tekanan permukaan laut (1013.25 hPa) sebagai tekanan dasar (p0), hasil dari persamaan ini akan menjadi ketinggian saat Anda di atas permukaan laut.

Hati-hati

Berikan udara: Ingatlah bahwa BMP180 membutuhkan akses ke udara sekitar untuk mengukur tekanannya, jadi jangan letakkan dalam kotak tertutup. Memberikan lubang ventilasi kecil seharusnya cukup.Tapi tidak terlalu banyak udara: Di sisi lain, paparan pada udara atau angin yang bergerak cepat dapat menyebabkan variasi tekanan sementara yang akan mempengaruhi pembacaan Anda. Lindungi perangkat dari arus udara yang kuat.

Jaga tetap dingin: Karena pembacaan suhu yang akurat diperlukan untuk mengukur tekanan, cobalah untuk tidak menampilkan perangkat pada perubahan suhu yang cepat, dan jaga jarak dari bagian panas di dekatnya dan sumber panas lainnya.

Jaga tetap kering: BMP180 sensitif terhadap kelembaban. Jangan merendamnya atau membiarkannya bersentuhan dengan air cair.

Jangan membutanya: Menakjubkan, silikon dalam BMP180 sensitif terhadap cahaya, yang dapat masuk ke perangkat melalui lubang di bagian atas chip. Untuk akurasi maksimal, lindungi chip dari cahaya sekitar.

Langkah 4: Membuat Rangkaian

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Jadi kita memulai dengan membuat header untuk nano. kita sebenarnya memotong header female lalu mengasikannya agar terlihat seolah-olah ukurannya seperti itu. kemudian kita melasnya. kemudian kita membuat header untuk sensor DHT22

. itu membutuhkan resistansi 10k yang terhubung dari data ke ground. kita kemudian melas semuanya. kemudian waktunya untuk bmp180 kita menambahkan header dengan cara yang sama. Kami menggunakan 3.3 V sebagai daya . Kita menghubungkan semua bus i2c.

Kami menambahkan tampilan terakhir kita menggunakan lcd i2c jadi kami menggunakan bus yang sama yang kami gunakan untuk modul bmp180.

(Ada slot keempat di mana saya ingin menambahkan modul rtc nanti untuk juga memasukkan jam ke dalam mesin )

Langkah 5: Waktu untuk Kode

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

Tunggu ....................

Unduh library

bmp180

https://github.com/sparkfun/BMP180_Breakout_Arduin...

BMP180_Breakout_Arduino_Library-master.zip

Library Dht22

https://github.com/adafruit/DHT-sensor-library

Untuk menginstal library di arduino periksa tautan ini

https://www.arduino.cc/en/Guide/Libraries

Saya menggunakan arduino 1.6.5 jadi kode akan bekerja untuk versi ini dengan pasti , juga mungkin untuk yang lebih tinggi jika kasus tidak bekerja gunakan 1.6.5 sebagai versi dasar.

<p>#include <wire.h> #include <lcd.h> #include <liquidcrystal_i2c.h> #include "DHT.h" #include <sfe_bmp180.h></sfe_bmp180.h></liquidcrystal_i2c.h></lcd.h></wire.h></p><p>SFE_BMP180 pressure;</p><p>#define ALTITUDE 20.56 #define I2C_ADDR 0x27 // <<- Add your address here. #define Rs_pin 0 #define Rw_pin 1 #define En_pin 2 #define BACKLIGHT_PIN 3 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7</p><p>#define DHTPIN 2 // what digital pin we're connected to</p><p>// Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); float t1,t2; </p><p> void setup() { Serial.begin(9600); lcd.begin (16,2); // <<-- our LCD is a 20x4, change for your LCD if needed // LCD Backlight ON lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.home (); // go home on LCD lcd.print("Weather Station"); delay(5000); dht.begin(); pressure.begin(); } void loop() { char status; double T,P,p0,a; status = pressure.startTemperature(); if (status != 0) { delay(status);</p><p> status = pressure.getTemperature(T); if (status != 0) { Serial.print("1"); lcd.clear(); lcd.setCursor(0,0); lcd.print("Baro Temperature: "); lcd.setCursor(0,1); lcd.print(T,2); lcd.print(" deg C "); t1=T; delay(3000);</p><p> status = pressure.startPressure(3); if (status != 0) { // Wait for the measurement to complete: delay(status);</p><p> status = pressure.getPressure(P,T); if (status != 0) {lcd.clear(); lcd.setCursor(0,0); lcd.print("abslt pressure: "); lcd.setCursor(0,1); lcd.print(P,2); lcd.print(" mb "); delay(3000);</p><p> p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO)</p><p> a = pressure.altitude(P,p0); lcd.clear(); lcd.setCursor(0,0); lcd.print("Altitude: "); lcd.setCursor(0,1); lcd.print(a,0); lcd.print(" meters"); delay(3000); } } } } float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); t2=t; lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("Humidity: "); lcd.setCursor(0,1);lcd.print(h); lcd.print(" %"); delay(3000); lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("DHT Tempurature: "); lcd.setCursor(0,1); lcd.print(t); lcd.print(" deg C "); delay(3000); lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("Mean Tempurature: "); lcd.setCursor(0,1); lcd.print((t1+t2)/2); lcd.print(" deg C "); delay(3000); }</p> 
FSIULGKING9D7SD.ino


Kode

  • Cuplikan kode #1
Cuplikan kode #1Plain text
<p>#include <wire.h> #include <lcd.h> #include <liquidcrystal_i2c.h> #include "DHT.h" #include <sfe_bmp180.h></sfe_bmp180.h></liquidcrystal_i2c.h></lcd.h></wire.h></p><p>SFE_BMP180 pressure;</p><p>#define ALTITUDE 20.56 #define I2C_ADDR 0x27 // <<- Add your address here. #define Rs_pin 0 #define Rw_pin 1 #define En_pin 2 #define BACKLIGHT_PIN 3 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7</p><p>#define DHTPIN 2 // what digital pin we're connected to</p><p>// Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); float t1,t2; </p><p> void setup() { Serial.begin(9600); lcd.begin (16,2); // <<-- our LCD is a 20x4, change for your LCD if needed // LCD Backlight ON lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.home (); // go home on LCD lcd.print("Weather Station"); delay(5000); dht.begin(); pressure.begin(); } void loop() { char status; double T,P,p0,a; status = pressure.startTemperature(); if (status != 0) { delay(status);</p><p> status = pressure.getTemperature(T); if (status != 0) { Serial.print("1"); lcd.clear(); lcd.setCursor(0,0); lcd.print("Baro Temperature: "); lcd.setCursor(0,1); lcd.print(T,2); lcd.print(" deg C "); t1=T; delay(3000);</p><p> status = pressure.startPressure(3); if (status != 0) { // Wait for the measurement to complete: delay(status);</p><p> status = pressure.getPressure(P,T); if (status != 0) {lcd.clear(); lcd.setCursor(0,0); lcd.print("abslt pressure: "); lcd.setCursor(0,1); lcd.print(P,2); lcd.print(" mb "); delay(3000);</p><p> p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO)</p><p> a = pressure.altitude(P,p0); lcd.clear(); lcd.setCursor(0,0); lcd.print("Altitude: "); lcd.setCursor(0,1); lcd.print(a,0); lcd.print(" meters"); delay(3000); } } } } float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); t2=t; lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("Humidity: "); lcd.setCursor(0,1);lcd.print(h); lcd.print(" %"); delay(3000); lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("DHT Tempurature: "); lcd.setCursor(0,1); lcd.print(t); lcd.print(" deg C "); delay(3000); lcd.clear(); lcd.setCursor (0,0); // go to start of 2nd line lcd.print("Mean Tempurature: "); lcd.setCursor(0,1); lcd.print((t1+t2)/2); lcd.print(" deg C "); delay(3000); }</p> 
Github
https://github.com/sparkfun/BMP180_Breakout_Arduino_Library/archive/master.ziphttps://github.com/sparkfun/BMP180_Breakout_Arduino_Library/archive/master.zip
Github
https://github.com/adafruit/DHT-sensor-libraryhttps://github.com/adafruit/DHT-sensor-library

Skema

Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD

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. Stasiun Cuaca Canggih v2.0: Pemantauan Suhu, Tekanan, Kelembaban & Ketinggian Real-Time
  4. Membangun Stasiun Perintah DCC Digital untuk Rel Model Menggunakan Arduino – Aplikasi Gratis Tersertakan
  5. Stasiun Pencampur Minuman 6-Terowong Berbasis Arduino – Buat Otomatisasi Koktail Sendiri
  6. Proyek Dadu Digital Arduino: Buat Generator Angka Acak berbasis LCD
  7. Buat Piano Sentuh Kapasitif Portabel dengan Arduino – Panduan Langkah demi Langkah
  8. Pengontrol USB Game Arduino DIY – Buat Gamepad Tinggi Performa Sendiri
  9. Detektor Jarak Portabel – Kit DIY Arduino Nano dengan HC‑SR04, Baterai 18650, dan Kotak Cetak 3D
  10. Pixel Chaser: Game LED Interaktif Satu Ketukan dengan Arduino Nano