Isi kandungan:
- Langkah 1: Memasang Arduino IDE, Papan dan Perpustakaan ESP8266 dan Akaun ThingSpeak Anda
- Langkah 2: Meneroka Lakaran
- Langkah 3: Penjelasan Mengenai…
- Langkah 4: Komunikasi
- Langkah 5: Pemboleh ubah Utama
Video: Cara Membangun Anemometer Anda Sendiri Menggunakan Suis Reed, Sensor Kesan Hall dan Beberapa Skrap pada Nodemcu - Bahagian 2 - Perisian: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Pengenalan
Ini adalah sekuel dari posting pertama "Cara Membangun Anemometer Sendiri Menggunakan Suis Reed, Sensor Kesan Hall dan Beberapa Skrap di Nodemcu - Bahagian 1 - Perkakasan" - di mana saya menunjukkan cara memasang peranti pengukuran kelajuan dan arah angin. Di sini kita akan memanfaatkan perisian kawalan pengukuran yang dirancang untuk digunakan di Nodemcu menggunakan Arduino IDE.
Huraian Projek
Dalam catatan sebelumnya, peranti yang bersenjata dan disambungkan ke Nodemcu dapat mengukur kelajuan dan arah angin. Perisian kawalan dirancang untuk membaca putaran anemometer untuk jangka masa, mengira halaju linier, membaca arah di mana baling-baling berada, menunjukkan hasilnya di OLED, menerbitkan hasilnya di ThingSpeak dan tidur selama 15 minit sehingga pengukuran seterusnya.
Penafian: Anemometer ini tidak boleh digunakan untuk tujuan profesional. Ia hanya untuk kegunaan akademik atau rumah.
Catatan: Bahasa Inggeris bukan bahasa semula jadi saya. Sekiranya anda menemui kesalahan tatabahasa yang menghalang anda memahami projek ini, beritahu saya untuk membetulkannya. Terima kasih banyak-banyak.
Langkah 1: Memasang Arduino IDE, Papan dan Perpustakaan ESP8266 dan Akaun ThingSpeak Anda
Memasang Arduino IDE dan Nodemcu
Sekiranya anda belum pernah memasang IDE, Arduino sila baca tutorial di pautan - Cara memasang Arduino IDE - di mana anda boleh mendapatkan petunjuk lengkapnya.
Langkah seterusnya, untuk memasang papan Nodemcu gunakan tutorial ini dari Magesh Jayakumar Instructables yang sangat lengkap. Cara memasang Nodemcu no Arduino IDE
Memasang Perpustakaan
Langkah seterusnya anda mesti memasang perpustakaan yang digunakan lakaran. Ini adalah perkara biasa dan anda boleh mengikuti langkah-langkah yang ditunjukkan di bawah.
Perpustakaan ThingSpeak -
Perpustakaan ESP8266 -
Membuat Akaun ThingSpeak
Untuk menggunakan ThingSpeak (https://thingspeak.com/) anda mesti membuat akaun (masih bebas untuk sebilangan interaksi) di mana anda dapat menyimpan data yang diukur dalam anemometer anda dan memantau keadaan angin di rumah anda, walaupun melalui telefon bimbit. Dengan menggunakan ThingSpeak, anda dapat memberikan akses kepada orang ramai ke data yang anda kumpulkan kepada sesiapa yang berminat. Itulah kelebihan ThingSpeak. Masukkan laman utama dan ikuti langkah-langkah untuk membuat akaun anda.
Setelah akaun dibuat, masukkan tutorial ini - ThingSpeak Bermula - untuk membuat saluran anda. Ia dijelaskan dengan baik. Ringkasnya, anda mesti membuat saluran di mana data akan disimpan. Saluran ini mempunyai ID dan API Kunci yang harus dirujuk dalam lakaran setiap kali anda ingin merakam data. ThingSpeak akan menyimpan semua data di bank dan akan menunjukkannya setiap kali anda mengakses akaun anda, dengan cara yang telah anda konfigurasikan.
Langkah 2: Meneroka Lakaran
Carta alir
Dalam rajah, anda dapat memahami fluksogram lakaran tersebut. Apabila anda bangun (pautkan) Nodemcu, ia akan menyambung ke rangkaian Wi-Fi anda, yang parameternya telah anda konfigurasikan dan mula menghitung 1 minit waktu untuk melakukan pengukuran. Pertama, ia akan mengira putaran anemometer selama 25 saat, hitung halaju linear dan membaca arah angin. Hasilnya ditunjukkan di OLED. Lakukan langkah yang sama sekali lagi dan untuk bacaan kedua ini, ia akan dihantar ke ThingSpeak.
Kemudian Nodemcu tidur selama 15 minit untuk menjimatkan bateri. Oleh kerana saya menggunakan panel suria kecil, saya mesti melakukannya. Sekiranya anda menggunakan sumber 5V, anda boleh mengubah suai program agar tidak tidur dan terus mengukur data.
Struktur program
Dalam rajah, anda dapat melihat struktur lakaran.
Anemometer_Tidak dapat dipahami
Ini adalah program utama yang memuatkan perpustakaan, memulakan pemboleh ubah, mengawal selang pemasangan, memanggil semua fungsi, mengira kelajuan angin, menentukan arahnya dan mematikannya.
komunikasi
Sambungkan WiFi dan hantar data ke ThingSpeak.
tauliah.h
Kunci rangkaian WiFi anda dan pengecam akaun anda di ThingSpeak. Di sinilah anda akan menukar ID Kunci dan API anda.
mentakrifkan.h
Ia mengandungi semua pemboleh ubah program. Di sinilah anda boleh mengubah masa membaca atau berapa lama nodemcu tidur.
fungsi
Ini berisi fungsi untuk menggabungkan parameter dan membaca multiplexer serta fungsi untuk membaca putaran anemometer.
paparan
Tunjukkan hasil kelajuan dan arah angin di skrin.
Langkah 3: Penjelasan Mengenai…
Lampirkan Selang
Putaran anemometer diukur dengan fungsi attachInterrupt () (dan detachInterrupt ()) di GPIO 12 (pin D6) Nodemcu (Ia mempunyai ciri gangguan pada pin D0-D8).
Gangguan adalah peristiwa atau keadaan yang menyebabkan mikrokontroler menghentikan pelaksanaan tugas yang sedang dilakukannya, bekerja dalam tugas lain untuk sementara waktu dan kembali ke tugas awal.
Anda boleh membaca perincian fungsi di pautan untuk tutorial Arduino. Lihat lampiranInterrupt ().
Sintaks: attachInterrupt (pin, fungsi panggilan balik, jenis / mod gangguan);
pin = D6
fungsi panggil balik = rpm_anemometer - mengira setiap nadi pada pemboleh ubah.
jenis / mod interrupt = RISING - mengganggu ketika pin naik dari rendah ke tinggi.
Pada setiap nadi yang dihasilkan oleh magneto di sensor Hall, pin bergerak dari rendah ke tinggi dan fungsi penghitungan diaktifkan dan menjumlahkan nadi dalam pemboleh ubah, selama 25 saat ditetapkan. Setelah masa tamat, kaunter terputus (detachInterrupt ()) dan rutin mengira kelajuan semasa terputus.
Mengira Kelajuan Angin
Setelah ditentukan berapa putaran anemometer yang diberikan dalam 25 saat, kami mengira kelajuannya.
- RADIO adalah pengukuran dari paksi tengah anemometer ke hujung bola ping pong. Anda mesti mengukur sendiri dengan baik - (lihat dalam rajah yang mengatakan 10 cm).
- RPS (putaran sesaat) = putaran / 25 saat
- RPM (putaran seminit) = RPS * 60
- OMEGA (halaju sudut - radian sesaat) = 2 * PI * RPS
- Linear_Velocity (meter sesaat) = OMEGA * RADIO
- Linear_Velocity_kmh (Km per jam) = 3.6 * Linear_Velocity dan inilah yang akan dihantar ke ThingSpeak.
Baca arah baling-baling angin
Untuk membaca kedudukan baling-baling angin untuk menentukan arah angin program menghantar isyarat rendah dan tinggi ke multiplexer dengan semua kombinasi parameter A, B, C (matriks muxABC) dan tunggu untuk menerima hasilnya pada pin A0 yang boleh menjadi voltan antara 0 dan 3.3V. Gabungan ditunjukkan dalam rajah.
Sebagai contoh, apabila C = 0 (rendah), B = 0 (rendah), A = 0 (rendah) multiplexer memberikannya data pin 0 dan menghantar isyarat ke A0 yang dibaca oleh Nodemcu; jika C = 0 (rendah), B = 0 (rendah), A = 1 (tinggi) multiplexer akan menghantar data pin 1 dan seterusnya kepada anda, sehingga pembacaan 8 saluran selesai.
Oleh kerana isyaratnya analog, program berubah menjadi digital (0 atau 1), jika voltan kurang dari atau sama dengan 1.3V, isyaratnya adalah 0; jika lebih besar daripada 1.3V, isyaratnya adalah 1. Nilai 1.3V sewenang-wenangnya dan bagi saya, ia berfungsi dengan baik. Selalu ada kebocoran arus yang kecil dan ini melindungi bahawa tidak ada positif palsu.
Data ini disimpan dalam vektor val [8] yang akan dibandingkan dengan array alamat sebagai kompas. Lihat matriks dalam rajah. Sebagai contoh, jika vektor yang diterima adalah [0, 0, 1, 0, 0, 0, 0, 0, 0] ini menunjukkan dalam matriks arah E dan sepadan dengan sudut 90 darjah; jika [0, 0, 0, 0, 0, 0, 1, 1] menunjukkan dalam matriks alamat WNW dan sepadan dengan sudut 292.5 darjah. N sepadan dengan [1, 0, 0, 0, 0, 0, 0, 0, 0] dan sudut 0 darjah.
Apa yang akan dihantar ke ThingSpeak adalah pada sudut kerana ia hanya menerima nombor.
Langkah 4: Komunikasi
Cara menghantar data ke ThingSpeak
Fungsi thingspeaksenddata () bertanggungjawab untuk menghantar data.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Hantar data halaju ke medan1 saluran saya
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Kirim data alamat ke bidang2 saluran saya
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Kirim ke saluran saya myChannelNumber, dengan API myWriteAPIKey bertulis yang ditunjukkan oleh TS. Data ini dihasilkan oleh TS semasa membuat akaun dan saluran anda.
Dalam gambar di atas anda dapat melihat bagaimana ThingSpeak menunjukkan data yang diterima.
Dalam pautan ini, anda boleh mengakses data projek saya di saluran umum ThingSpeak.
Langkah 5: Pemboleh ubah Utama
parameter baling-baling angin
- MUX_A D5 - mux pi A hingga Nodemcu pin D5
- MUX_B D4 - pin mux B ke pin Nodemcu D4
- MUX_C D3 - pin mux C hingga pin Nodemcu D3
- READPIN 0 - Input analog pada NodeMcu = A0
- NO_PINS 8 - bilangan pin mux
- val [NO_PINS] - port 0 hingga 7 mux
- angin_ Arah_Angle - Sudut arah angin
- String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardinal, cagaran dan sub-jaminan
- windAng [16] = {0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5} - sudut setiap arah
- Digit [16] [NO_PINS] - Matriks Arah
- muxABC [8] [3] - Gabungan mux ABC
parameter anemometer
- jumlah rpm - hitung berapa banyak putaran penuh yang dilakukan anemometer dalam masa yang diperuntukkan
- timemeasure = 25.00 - masa jangka masa pengukuran dalam beberapa saat
- timetoSleep = 1 - Nodemcu terjaga dalam beberapa minit
- sleepTime = 15 - masa untuk terus tidur dalam beberapa minit
- rpm, rps - frekuensi putaran (putaran seminit, putaran sesaat)
- jejari - meter - ukuran panjang sayap anemometer
- linear_velocity - halaju garis dalam m / seg
- linear_velocity_kmh - halaju garis dalam km / j
- omega - halaju radial dalam rad / seg
Di bawah ini anda dapat mencari lakaran lengkap. Buat folder baru di folder Arduino komputer anda dengan nama yang sama dengan program utama (Anemometer_Instructables) dan satukan semuanya.
Masukkan data rangkaian wifi anda dan ThingSpeak ID dan API Writer Key di bahagian Credentials.h dan simpan. Muat naik ke Nodemcu dan itu sahaja.
Untuk menguji operasi sistem, saya mengesyorkan kipas berputar yang baik.
Untuk mengakses data melalui telefon bimbit, muat turun aplikasi untuk IOS atau Android yang disebut ThingView, yang, untungnya, masih percuma.
Konfigurasikan tetapan akaun anda dan anda akan bersedia untuk melihat keadaan angin kediaman anda di mana sahaja anda berada.
Sekiranya anda mempunyai minat, akses saluran ID ThingSpeak Channel saya: 438851, yang merupakan tempat umum dan di sana anda akan menemui ukuran angin dan arah di rumah saya.
Saya sangat berharap anda berseronok.
Sekiranya anda mempunyai keraguan, jangan ragu untuk menghubungi saya.
Salam
Disyorkan:
Sensor Kesan Hall pada Arduino Menggunakan Fidget Spinner: 3 Langkah (dengan Gambar)
Hall Effect Sensor pada Arduino Menggunakan Fidget Spinner: AbstractDalam projek ini saya menerangkan tentang bagaimana sensor kesan hall berfungsi mengukur kelajuan fidget spinner dengan papan arduino. berfungsi: -A Sensor kesan Hall adalah transduser yang mengubah voltan keluarannya sebagai tindak balas terhadap medan magnet. Kesan dewan
Buat Suis Kuasa Jauh Anda Sendiri: 9 Langkah (dengan Gambar)
Buat Suis Kuasa Jauh Anda Sendiri: Sebilangan besar orang tahu tentang kuasa siap sedia (iaitu bahawa banyak peranti elektronik terus menggunakan beberapa kuasa walaupun dimatikan). Salah satu cara untuk menghilangkan daya siap sedia adalah dengan menggunakan power bar atau pelindung lonjakan dengan suis terpasang untuk mematikan kon
Buat Mesin Pembersih Rekod Profesional Anda sendiri dengan Kurang daripada $ 80 dan Jimat Hingga $ 3000 dan Lebih Banyak: 6 Langkah (dengan Gambar)
Buat Mesin Pembersih Rekod Profesional Anda Sendiri dengan Harga Kurang Dari $ 80 dan Jimat Hingga $ 3000 dan Lebih Banyak lagi: Maafkan bahasa Inggeris saya. Selepas saya mengetahui bunyi vinil lama yang baik, saya menghadapi masalah setiap penggemar rakaman. Bagaimana membersihkan rekod dengan betul!? Terdapat banyak cara di Internet. Cara yang lebih murah seperti Knosti atau Discofilm tetapi juga
Tambahkan Kesan Bunyi pada Motosikal Elektrik Anda: 5 Langkah (dengan Gambar)
Tambahkan Kesan Bunyi pada Motosikal Elektrik Anda: Tambahkan suara yang anda mahukan ke motosikal elektrik anda dengan beberapa pembesar suara mudah alih dan pemain MP3
Cara Membuat Kalendar Kakek-Nenek & Buku Skrap (walaupun Anda Tidak Tahu Cara Memo Buku Memo): 8 Langkah (dengan Gambar)
Cara Membuat Kalendar Kakek-Nenek & Buku Skrap (walaupun Anda Tidak Tahu Cara Memo Buku Memo): Ini adalah hadiah percutian yang sangat menjimatkan (dan sangat dihargai!) Untuk datuk dan nenek. Saya membuat 5 kalendar tahun ini dengan harga kurang dari $ 7 setiap satu. Bahan: 12 gambar hebat anak, anak, keponakan, keponakan, anjing, kucing, atau saudara-mara lain12 kepingan yang berbeza