Daftar Isi:

Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)

Video: Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)

Video: Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)
Video: Arduino Tutorial || Monitoring Suhu dan Kelembaban Ruangan dengan sensor DHT11 2024, November
Anonim
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan

Intro: Ini adalah Proyek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemrosesan (dapat diunduh gratis) untuk menampilkan data Suhu, Kelembaban dalam bentuk grafik digital dan batang, menampilkan waktu dan tanggal serta menghitung up timer selama program dan merekam semua data ke dalam format.csv saat program ditutup.

Inspirasi:

Pertama saya HARUS mengatakan saya seorang pemula total dan saya telah belajar banyak dari proyek ini. Jadi saya mencoba menulis Instruksi ini untuk dibaca dan dipahami oleh pemula total.

Saya telah melihat berbagai proyek Arduino untuk mengukur suhu dan kelembaban tetapi saya menginginkan program yang:

1) Suhu dan kelembaban terukur

2) Menampilkan data dalam grafik (saya memilih grafik batang) dan bentuk digital

3) Memiliki fungsi jam

4) Memiliki penghitung waktu "Waktu Berjalan"

5) Menyimpan data ini ke dalam format file.csv (excel).

Saya mendapat inspirasi dari program yang dibuat oleh Sowmith Mandadi, R-B dan aaakash3, tetapi tidak satu pun dari ini yang saya inginkan. Jadi saya belajar menulis beberapa kode dasar dan membuat apa yang saya inginkan.

Langkah 1: Apa yang Anda Butuhkan:

Apa yang Anda Butuhkan
Apa yang Anda Butuhkan
Apa yang Anda Butuhkan
Apa yang Anda Butuhkan

Suku Cadang dan Bahan:*Komputer – Saya menggunakan komputer Windows sistem operasi Windows 10

(Saya yakin Linux atau Mac dapat digunakan, saya hanya tidak memiliki keduanya jadi saya tidak akan membahas cara menggunakan sistem operasi ini)

* Papan Arduino – Saya menggunakan Papan Arduino Uno, tetapi papan Arduino apa pun dengan USB dapat digunakan

*Kabel USB -Kabel A/B USB -sama seperti "kabel printer" tipe lama (biasanya dilengkapi dengan Arduino Board)

* Sensor Suhu / Kelembaban DHT 11 - murah $ 4 hingga 8

(Catatan: ada 2 versi saya menggunakan versi 3 pin, versi 4 pin akan membutuhkan penggunaan papan tempat memotong roti dan resistor 10K, pin 3 memiliki papan sirkuit tercetak yang menyertakan resistor 10K) lihat diagram Fritzing di langkah selanjutnya

* Kabel koneksi

Kabel dupont (ujung betina ganda) jika terhubung ke 3 pin DHT11 tanpa papan tempat memotong roti

Kabel jumper M/F standar (satu ujung jantan satu ujung betina) dan kabel jumper M/M (kedua ujungnya jantan) untuk menghubungkan 4 pin DHT11 - lihat langkah 2 untuk informasi lebih lanjut

*Arduino IDE – program untuk menulis program Arduino (disebut sketsa) gratis @

www.arduino.cc/en/Main/Software

*Pemrosesan – program untuk menulis sketsa pemrosesan gratis @

processing.org/download/

* File "DHTLib"-file library (ini adalah file yang masuk ke program Arduino IDE di bawah folder bernama "Library" ini perlu ditambahkan ke sketsa Arduino sebelum Arduino dapat membaca data dari DHT11 -lihat langkah 5 untuk mengunduh file dan instruksi

Langkah 2: Hubungkan Arduino ke DHT11

Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11
Hubungkan Arduino ke DHT11

Pertama tentukan DHT11 mana yang Anda miliki

Saya menggunakan 3 pin karena sudah memiliki resistor 10K yang dibutuhkan.

Jika Anda memiliki 4 pin, Anda memerlukan resistor 10K dan papan tempat memotong roti

Hubungkan DHT11 ke Papan Arduino. Program ini memanggil pin sinyal DHT 11 untuk dihubungkan ke pin Arduino #7, pin Pos (+) terhubung ke 5V di Arduino dan Neg (-) ke GND di Arduino.

Lihat Diagram dan Diagram Fritzing

Langkah 3: Unduh Arduino IDE

Unduh Arduino IDE
Unduh Arduino IDE

Unduh Arduino IDE dan instal di komputer

www.arduino.cc/en/Main/Software

Langkah 4: Hubungkan Arduino ke Komputer

Hubungkan Arduino ke Komputer
Hubungkan Arduino ke Komputer

Instal Arduino IDE terlebih dahulu yang memiliki driver untuk koneksi USB Arduino.

Hubungkan Arduino ke komputer melalui USB.

Tunggu komputer mengenali papan Arduino dan menginstal driver apa pun.

Buka program IDE dan periksa koneksi serial.

Jika board Arduino tidak muncul di Tools>port (lingkaran merah), Tutup IDE dan buka kembali.

*Penting* setelah IDE terbuka dan papan Arduino terhubung melalui USB. Papan Arduino harus terhubung ke port serial yang benar. Pada komputer Windows ini disebut sebagai COM Port. Untuk melakukan ini di IDE, buka Tools>Port:>Serial ports. Seperti yang terlihat pada Diagram, port serial (lingkaran merah) harus sesuai dengan port yang tercantum di sudut kanan bawah program IDE (lingkaran kuning).

Langkah 5: Muat Perpustakaan

Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan
Muat Perpustakaan

Muat perpustakaan untuk DHT11. Ini membingungkan saya pada awalnya tetapi sebenarnya cukup sederhana.

Unduh file bernama "DHTLib" dan unzip. Salin file "DHTLib" yang tidak di-zip.

Referensi perpustakaan ini dapat ditemukan di:

playground.arduino.cc/Main/DHTLib

(Ditulis oleh Rob Tillaart berdasarkan karya orang lain)

Temukan folder Arduino di komputer Anda dan buka. (Ini akan berada di mana pun Anda mengunduh IDE dan menginstalnya di komputer)

Lihat Diagram

Temukan file bernama “libraries” dan buka kemudian paste folder “DHTLib” ke dalam file “libraries”. Tutup dan kemudian restart IDE.

Lihat Diagram

Setelah IDE dibuka kembali, Anda dapat memeriksa untuk melihat pustaka DHT telah diinstal. Sketsa> Sertakan Perpustakaan.

Lihat Diagram

Catatan Mengklik DHTLib di tab "include library" akan menempatkan library ke dalam kode Arduino sebagai "#include dht.h".

Anda tidak perlu melakukan ini karena sudah ada di kode yang akan Anda unduh di langkah selanjutnya.

Langkah 6: Dapatkan Kode Arduino

Dapatkan Kode Arduino
Dapatkan Kode Arduino

Unduh file Temp_Hum_Instructable.zip dan unzip. Buka Temp_Hum_Instructable.ino dengan Arduino IDE.

Sebagai alternatif, lihat kode berikut dan salin dan tempel atau ketik persis ke Arduino IDE:

#termasuk

dht dht; #define DHT11PIN 7// set pin 7 untuk koneksi sinyal DHT11 void setup(){ Serial.begin(9600); //membuka serial } void loop() { int chk =DHT.read11(DHT11PIN);//membaca DHT11 Serial.print(DHT.temperature, 0);//mencetak temp dalam serial Serial.print(", "); //mencetak koma dalam serial Serial.print(DHT.humidity, 0);//mencetak kelembaban dalam serial Serial.println();//carriage return delay(2000);//tunggu 2 detik }

Setelah selesai akan terlihat seperti Diagram di atas

Langkah 7: Muat Kode ke Arduino

Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino
Muat Kode ke Arduino

Pertama Simpan sketsa di lokasi dan dengan nama yang akan Anda ingat, Contoh: Temp_Hum.

Selanjutnya Anda perlu memuat sketsa ke papan Arduino dengan menekan tombol panah penunjuk kanan (upload).

Lihat Diagram

Ini akan memakan waktu beberapa detik; Anda akan melihat bilah kemajuan di kanan bawah.

Kemudian Anda akan melihat: Selesai mengunggah pesan di kiri bawah dan teks putih di bagian bawah IDE yang memberi tahu Anda tentang memori

Lihat Diagram

Jika Anda mendapatkan kode kesalahan (teks oranye di bagian bawah IDE) seharusnya salah satu dari yang berikut:

  1. Pustaka "DHTlib" tidak disalin dengan benar
  2. Port COM tidak diatur dengan benar
  3. Sensor tidak terhubung dengan benar
  4. Kode tidak dimuat ke IDE dengan benar Teks oranye dapat digulir dan akan memberikan petunjuk tentang apa yang salah. Kembali dan periksa itu mungkin kesalahan sederhana.

Setelah ini selesai, perhatikan baik-baik papan Arduino Anda. Setiap beberapa detik, LED kecil di sebelah huruf "TX" akan berkedip. Ini adalah Arduino mengirimkan informasi kembali ke komputer. Untuk memeriksa ini klik pada simbol kaca pembesar kecil di sudut kanan atas IDE.

Lihat Diagram

Ini akan membuka monitor serial dan menampilkan data suhu dan kelembaban yang dipisahkan dengan koma. Anda akan mencatat bahwa data suhu tercantum dalam Celcius. Tidak apa-apa, kami akan mengonversinya ke Fahrenheit nanti (atau tidak jika Anda mau).

Lihat Diagram

Selanjutnya tutup serial monitor lalu tutup IDE. (Anda tidak ingat untuk menyimpannya, bukan?). Sekarang lihat kembali papan Arduino (jangan lepaskan dari USB yang mendapatkan daya, dan kirim data ke port serial di komputer). Apakah masih berkedip? Ya bagus. Setelah program dimuat ke Arduino, program akan berjalan selama ia memiliki daya.

Catatan tentang kode: jika Anda melihat kode Arduino yang dimulai dengan “void loop ();”. 5 baris kode berikutnya memberi tahu Arduino untuk membaca data dari DHT dan mencetaknya ke serial bus yang dipisahkan dengan koma. Baris berikutnya “delay (2000);” memberitahu Arduino untuk menunggu 2 detik (2000 milidetik) sehingga data diterima setiap 2 detik. Kemudian kembali ke "void loop ();" - perintah yang memberitahu Arduino untuk melakukannya lagi. Mengubah nilai di baris penundaan akan mengubah seberapa sering data diterima. Contoh: ubah ke (600000) akan berubah menjadi 10 menit (60000 milidetik = 10 menit). Menerima data setiap 2 detik berakhir menjadi banyak data, jadi sekarang Anda tahu cara mengubah seberapa sering data dibaca. Ingat saja jika Anda mengubah nilainya nanti Anda akan perlu mengunggah program baru.

OK duduk dan ambil napas Anda lebih dari setengah jalan di sana. Ya!!

Langkah 8: Unduh dan Instal Pemrosesan

Unduh dan Instal Pemrosesan
Unduh dan Instal Pemrosesan
Unduh dan Instal Pemrosesan
Unduh dan Instal Pemrosesan

processing.org/download/

Cukup lurus ke depan pilih program yang sesuai dengan komputer Anda untuk windows 64bit vs 32 bit. Jika Anda tidak tahu, buka Control panel di komputer Anda (tampilan ikon bukan tampilan kategori) dan masuk ke sistem, itu akan terdaftar di sana.

Lihat Diagram

Unduh dan kemudian instal program.

Pertama kali Anda membuka dan menjalankan pemrosesan, Anda mungkin akan mendapatkan pesan keamanan Java. Klik "izinkan" untuk jaringan pribadi. Java adalah bahasa komputer yang digunakan oleh Processing (dan Arduino IDE). Menariknya saya belum pernah mendapatkan security message dengan Arduino IDE, hanya Processing.

Langkah 9: Memproses Kode

Kode Pemrosesan
Kode Pemrosesan

OK sekarang untuk kode Processing.

Ini adalah bagian yang paling menantang bagi saya, tetapi juga merupakan kesempatan paling besar untuk belajar. Sementara kode Arduino adalah 20 atau lebih baris, kode ini memiliki +/- 270 baris dalam kode utama dan 70 + lainnya di kelas.

Sekarang hal pertama yang harus Anda tanyakan adalah “Apa itu kelas?”. Pertanyaan bagus. Ini mengacu pada pemrograman berorientasi objek. Singkatnya, ada banyak hal yang terjadi dalam kode utama: menentukan ukuran dan warna tampilan, jam, pengatur waktu, kode untuk menunjukkan lokasi kursor, kode untuk menyimpan data ke dalam file.csv dan beberapa baris yang berhubungan dengan kode yang menampilkan grafik batang. Sementara Arduino IDE memiliki semua kode pada satu halaman, kode pemrosesan ini memiliki tiga tab. Yang pertama adalah kode utama dan dua berikutnya adalah kode yang menampilkan grafik batang. (Kode ini sebenarnya disimpan dalam tiga file terpisah di dalam folder kode Pemrosesan.) Tab terpisah disebut "kelas" dan didefinisikan dalam baris 48 dan 56 dan kemudian ditampilkan oleh baris 179-182 dari kode utama. Orang-orang yang menulis program Processing menyebut ini sebagai pemrograman berorientasi objek. (lihat: https://processing.org/tutorials/objects/ untuk deskripsi singkat).

Pada dasarnya apa yang dilakukan oleh kelas (Recta1, Recta2) dalam kode ini adalah membuat persegi panjang yang bergerak ke atas dan ke bawah berdasarkan data yang diterima dari DHT11 melalui serial. Pikirkan termometer kuno, semakin tinggi merkuri, semakin panas, tetapi ini dilakukan dengan data bukan merkuri. Pada kenyataannya, kelas membuat empat persegi panjang, dua persegi panjang statis yang mewakili latar belakang termometer dan dua persegi panjang dinamis yang merespons data dan bergerak ke atas dan ke bawah. Selain memindahkan persegi panjang, kode mengubah warna persegi dinamis dan warna tampilan digital Temp dan Humidity berdasarkan data yang diterima secara serial.

Langkah 10: Memproses File Kode

Hanya beberapa dasar tentang kode Pemrosesan:

Saya sangat merekomendasikan membaca Make: Memulai dengan Pemrosesan oleh Casey Reas dan Ben Fry, pendiri Pemrosesan.

processing.org/books/#reasfry2

Saya tidak akan mencoba menjelaskan semua aspek Pemrosesan atau penulisan kode untuk pemrosesan. Seperti yang saya katakan sebelumnya, saya seorang pemula dan saya pikir ada banyak orang yang lebih baik untuk belajar darinya. Namun saya memahami kode yang saya tulis (coba-coba adalah guru yang baik).

1. Pertama harus menyertakan perpustakaan (seperti di Arduino) dan mendeklarasikan variabel (Baris 1-25)

2. Selanjutnya atur papan display (Baris 27-63)

3. Jalankan bagian kode yang berulang- yang saya maksud adalah bagian kode ini akan berulang selama program berjalan. Anda akan ingat Di Arduino "void loop();" (Langkah 6). Dalam Pemrosesan ini sekarang "void draw();" (Baris 65-184)

4. Selanjutnya adalah mendapatkan data dari port serial dan menugaskannya ke variabel (int, float, String)

ke-

mengambang-

Rangkaian-

(Baris 185-245)

4. Terakhir cara menutup program dan menyimpan data (Baris 246-271)

Oke: Download file Temp_Hum_F_3_2 (untuk Fahrenheit)

Atau Temp_Hum_C_3_1 (untuk Celcius)

dan unzip filenya. Buka dengan Pemrosesan.

Langkah 11: Font dalam Pemrosesan

Font dalam Pemrosesan
Font dalam Pemrosesan

Penting: Saya meminta perhatian Anda ke baris 36-37

36 font =loadFont("SourceCodePro-Bold-48.vlw");//memuat font yang disimpan dalam data

folder 37 teksFont(font);

Pustaka font "SourceCodePro-Bold-48.vlw" ini termasuk dalam file Pemrosesan unduhan dan tidak perlu diubah agar berfungsi.

Namun untuk mengubah font menjadi sesuatu yang lain, Anda perlu memuat font baru ke dalam sketsa Pemrosesan DAN ganti "SourceCodePro-Bold-48.vlw" dengan font baru.

. Untungnya Processing telah membuat bagian pertama menjadi sangat mudah.

Pertama buka sketsa lalu klik:

Alat>Buat font

ini memunculkan jendela

Lihat diagram

Gulir ke bawah ke font baru yang Anda inginkan, Klik di atasnya dan kemudian klik OK. Font sekarang telah dimuat ke dalam folder sketsa.

Selanjutnya ganti teks "SourceCodePro-Bold-48.vlw" dengan nama persis font baru (termasuk format file.vlw)

Jika ini tidak dilakukan, font baru tidak akan dimuat ke dalam kode dan kode akan memberikan kesalahan (Sama seperti kesalahan di Arduino- di kotak hitam di bagian bawah program).

Langkah 12: Menyelesaikan

Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan
Menyelesaikan

Untuk memulai program Pemrosesan klik panah, Anda mungkin mendapatkan peringatan Java, Klik: Izinkan akses.

Lihat Diagram

Oke, apakah programnya berhasil? Jika demikian, Anda akan mendapatkan tampilan seperti yang terlihat pada diagram.

(Tidak? Lihat pemecahan masalah di langkah berikutnya)

Ya? Sekarang coba pegang DHT11 di telapak tangan Anda yang tertutup atau letakkan di bawah aliran udara hangat pengering rambut. Angkanya harus berubah. Ya? Besar. itu berarti semuanya bekerja dengan baik.

Untuk menutup program dan menyimpan data klik kotak yang bertuliskan”Klik Disini untuk Menutup dan Menyimpan Data”.

Sekarang untuk menemukan data yang disimpan, buka folder Pemrosesan Temp_Hum_F_3_1 atau Temp_Hum_C_3_1 (Anda seharusnya dapat menemukannya sendiri sekarang) buka dan temukan folder Data. Buka ini dan Anda akan melihat file.csv bernama setelah tanggal dan waktu Anda menutup program (Contoh 1-10-18--22-30-16.csv berarti 10 Januari 2018 10:30:16). Buka ini dengan Excel (atau yang setara dengan Open Office Spreadsheet). Anda akan melihat sesuatu seperti diagram. Kolom untuk Tanggal, Waktu, waktu berjalan, suhu dan kelembaban dengan data. Anda sekarang dapat membuat grafik data dengan excel atau apa pun yang ingin Anda lakukan dengannya. (Catatan: jika Anda melihat entri data pertama, data Suhu dan Kelembaban tidak benar, ini normal dan hanya kesalahan saat program pertama kali dimulai)

Oke ya!!!!!

Anda melakukannya

Jika Anda memiliki pertanyaan silahkan posting dan saya akan melakukan yang terbaik untuk menanggapi dan membantu.

Terima kasih telah bertahan dengan ini dan semoga berhasil. semoga ini hanya permulaan…..

Selanjutnya untuk saya Bluetooth dan mungkin Android….

Langkah 13: Pemecahan Masalah

Penyelesaian masalah
Penyelesaian masalah
Penyelesaian masalah
Penyelesaian masalah

Masalah Arduino

Jika Anda mendapatkan kode kesalahan (teks oranye di bagian bawah IDE), itu seharusnya salah satu dari yang berikut. Pustaka "DHTlib" tidak disalin dengan benar

Port COM tidak diatur dengan benar

Sensor tidak terhubung dengan benar

Kode tidak dimuat ke IDE dengan benar

Jika semua Arduino tampaknya baik-baik saja, ingatlah untuk membuka Serial Monitor dan lihat apakah data sedang ditampilkan

Jika Anda melihat data yang benar, ini berarti sisi Arduino semuanya berfungsi- Ingat Tutup Monitor Serial sebelum memulai Pemrosesan, jika Monitor Serial terbuka Pemrosesan tidak dapat membaca data.

Masalah Pemrosesan:

Ini akan ditampilkan di bagian bawah program Processing.

Jika Anda mendapatkan kesalahan yang menjelaskan "font" kembali ke langkah 11 dan muat font seperti yang dijelaskan.

Jika Anda mendapatkan error yang terlihat seperti: Error, nonaktifkan serialEvent() untuk COM4 null- restart saja Processing sketch dengan mengklik panah seperti pada langkah 12

Jika Anda mendapatkan kesalahan yang menyatakan: Kesalahan membuka port serial- coba ubah baris 32-34 menjadi sesuatu seperti di mana "COM4" cocok dengan port COM di sketsa Arduino Anda

myPort = newSerial(ini, "COM4", 9600);//Port myPort.bufferUntil('\n')//tunggu sampai serial memiliki data

Direkomendasikan: