Mundarija:
- 1 -qadam: Arduino IDE, ESP8266 taxta va kutubxonalarini va ThingSpeak hisob qaydnomangizni o'rnatish
- 2 -qadam: Eskizni o'rganish
- 3 -qadam: haqida tushuntirishlar …
- 4 -qadam: Aloqa
- 5 -qadam: Asosiy o'zgaruvchilar
Video: O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcu -dagi ba'zi hurdalar yordamida qanday qurish mumkin - 2 -qism - Dasturiy ta'minot: 5 qadam (rasmlar
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Kirish
Bu "O'zingizning anemometringizni qamish kalitlari, Hall effekti sensori va Nodemcudagi ba'zi qoldiqlardan foydalanib qanday qurish kerak - 1 -qism - Uskuna" birinchi postining davomi - men shamol tezligi va yo'nalishini o'lchash moslamalarini qanday yig'ishni ko'rsataman. Bu erda biz Arduino IDE yordamida Nodemcu -da ishlatish uchun mo'ljallangan o'lchovlarni boshqarish dasturidan foydalanamiz.
Loyihaning tavsifi
Oldingi postda qurollangan va Nodemcuga ulangan qurilmalar shamol tezligi va yo'nalishini o'lchashga qodir. Boshqaruv dasturi anemometrning aylanishini ma'lum vaqt davomida o'qish, chiziqli tezlikni hisoblash, qanot qanotining yo'nalishini o'qish, OLEDda natijalarni ko'rsatish, natijalarni ThingSpeak -da chop etish va 15 daqiqa uxlash uchun mo'ljallangan. keyingi o'lchov.
Ogohlantirishlar: Ushbu anemometrni professional maqsadlarda ishlatmaslik kerak. Bu faqat ilmiy yoki uyda foydalanish uchun.
Eslatma: Ingliz tili mening ona tilim emas. Agar siz loyihani tushunishga to'sqinlik qiladigan grammatik xatolarni topsangiz, ularni tuzatish uchun menga xabar bering. Sizga katta rahmat.
1 -qadam: Arduino IDE, ESP8266 taxta va kutubxonalarini va ThingSpeak hisob qaydnomangizni o'rnatish
Arduino IDE va Nodemcu -ni o'rnatish
Agar siz hech qachon Arduino IDE -ni o'rnatmagan bo'lsangiz, iltimos, havoladagi ko'rsatmani o'qing - Arduino IDE -ni qanday o'rnatish kerak - bu erda to'liq ko'rsatmalarni topishingiz mumkin.
Keyingi qadam, Nodemcu taxtasini o'rnatish uchun ushbu qo'llanmani Magesh Jayakumar Instructables -dan foydalaning, bu juda to'liq. Nodemcu no Arduino IDE -ni qanday o'rnatish kerak
Kutubxonalarni o'rnatish
Keyingi bosqichda siz eskiz foydalanadigan kutubxonalarni o'rnatishingiz kerak. Ular keng tarqalgan va siz quyida ko'rsatilgan amallarni bajarishingiz mumkin.
ThingSpeak kutubxonasi -
ESP8266 kutubxonasi -
ThingSpeak hisobini yaratish
ThingSpeak -dan (https://thingspeak.com/) foydalanish uchun siz anemometrda o'lchangan ma'lumotlarni saqlashingiz va uyingizdagi shamol sharoitlarini kuzatib borishingiz mumkin bo'lgan hisob qaydnomasini yaratishingiz kerak (u hali ham ma'lum miqdordagi o'zaro ta'sirlar uchun bepul), hatto mobil telefon orqali ham. ThingSpeak -dan foydalanib, siz qiziqqanlarga to'plangan ma'lumotlaringizga jamoatchilikka kirishni berishingiz mumkin. Bu ThingSpeak -ning yaxshi afzalligi. Bosh sahifaga kiring va hisob qaydnomangizni yaratish uchun qadamlarni bajaring.
Hisob qaydnomasi yaratilgandan so'ng, kanallaringizni yaratish uchun ushbu qo'llanmani kiriting - ThingSpeak Getting Starting. Bu juda yaxshi tushuntirilgan. Xulosa qilib aytganda, siz ma'lumotlar saqlanadigan kanal yaratishingiz kerak. Bu kanalda har safar ma'lumotlarni yozmoqchi bo'lganingizda eskizda ko'rsatilishi kerak bo'lgan ID va Key API mavjud. ThingSpeak barcha ma'lumotlarni bankda saqlaydi va har safar hisobingizga kirganingizda, ularni siz ko'rsatgan tarzda ko'rsatadi.
2 -qadam: Eskizni o'rganish
Oqim sxemasi
Diagrammada siz eskizning fluxogrammasini tushunishingiz mumkin. Nodemcu uyg'onganingizda, u sizning Wi-Fi tarmog'ingizga ulanadi, uning parametrlari siz sozlagan va o'lchovlarni bajarish uchun 1 daqiqa vaqtni sanashni boshlaydi. Birinchidan, u anemometrning aylanishini 25 soniya davomida hisoblab chiqadi. chiziqli tezlik va shamol yo'nalishini o'qing. Natijalar OLEDda ko'rsatiladi. Xuddi shu qadamlarni takrorlang va ikkinchi o'qish uchun ThingSpeak -ga yuboriladi.
Keyin Nodemcu batareyani tejash uchun 15 daqiqa uxlaydi. Kichkina quyosh panelini ishlatayotganimda, buni qilishim shart. Agar siz 5V manbadan foydalanayotgan bo'lsangiz, dasturni uxlamasligi uchun o'zgartirishingiz va ma'lumotlarni o'lchashni davom ettirishingiz mumkin.
Dasturlarning tuzilishi
Diagrammada siz eskizning tuzilishini ko'rishingiz mumkin.
Ko'rsatmalar
Bu kutubxonalarni yuklaydigan, o'zgaruvchilarni ishga tushiradigan, biriktiruvchi uzilishni boshqaradigan, barcha funktsiyalarni chaqiradigan, shamol tezligini hisoblaydigan, yo'nalishini aniqlaydigan va uxlatadigan asosiy dastur.
aloqa
Wi -Fi -ni ulang va ma'lumotlarni ThingSpeak -ga yuboring.
ishonchnoma.h
ThingSpeak -dagi Wi -Fi tarmog'ingizning kalitlari va hisobingizning identifikatorlari. Bu erda siz kalit identifikatorlari va API -ni o'zgartirasiz.
belgilaydi.h
U dasturning barcha o'zgaruvchilarini o'z ichiga oladi. Bu erda siz o'qish vaqtini yoki nodemcu qancha uxlashini o'zgartirishingiz mumkin.
vazifalar
U parametrlarni birlashtirish va multipleksorni o'qish funktsiyalarini, shuningdek, anemometrning aylanishlarini o'qish funktsiyasini o'z ichiga oladi.
oledDisplay
Shamol tezligi va yo'nalishi natijalarini ekranda ko'rsatish.
3 -qadam: haqida tushuntirishlar …
Interruptni biriktiring
Anemometrning aylanishi Nodemcuning GPIO 12 (pin D6) dagi attachInterrupt () (va detachInterrupt ()) funktsiyasi bilan o'lchanadi (D0-D8 pimlarida uzilish xususiyati bor).
Uzilishlar - bu mikrokontroller bajarayotgan vazifani bajarishni to'xtatishiga, vaqtincha boshqa vazifada ishlashiga va dastlabki vazifaga qaytishiga sabab bo'ladigan hodisalar yoki shartlar.
Funktsiya tafsilotlarini Arduino qo'llanmasi uchun havolada o'qishingiz mumkin. AttachInterrupt () ga qarang.
Sintaksis: attachInterrupt (pin, qayta qo'ng'iroq qilish funktsiyasi, uzilish turi/rejimi);
pin = D6
qayta qo'ng'iroq qilish funktsiyasi = rpm_anemometer - o'zgaruvchining har bir pulsini hisoblaydi.
uzilish turi/rejimi = RISING - pin pastdan yuqoriga ko'tarilganda uzilish.
Magnito Hall sensori tomonidan ishlab chiqarilgan har bir pulsda, pin pastdan yuqoriga ko'tariladi va 25 soniya davomida hisoblash funktsiyasi faollashadi va pulsni o'zgaruvchiga yig'iladi. Vaqt tugagandan so'ng, hisoblagich uziladi (detachInterrupt ()) va tartib uzilgan vaqtda tezlikni hisoblab chiqadi.
Shamol tezligini hisoblash
Anemometr 25 soniyada necha marta aylanishini aniqlagach, biz tezlikni hisoblaymiz.
- RADIO - anemometrning markaziy o'qidan stol tennisi to'pining uchigacha bo'lgan o'lchov. Siz o'z o'lchovingizni juda yaxshi o'lchagan bo'lsangiz kerak (qarang: diagrammada 10 sm).
- RPS (sekundiga aylanish) = aylanish / 25 soniya
- RPM (daqiqada aylanishlar) = RPS * 60
- OMEGA (burchak tezligi - sekundiga radian) = 2 * PI * RPS
- Linear_Velocity (sekundiga metr) = OMEGA * RADIO
- Linear_Velocity_kmh (soatiga km) = 3.6 * Linear_Velocity va bu ThingSpeak -ga yuboriladi.
Shamol qanotlarining yo'nalishini o'qing
Shamol yo'nalishini aniqlash uchun shamol qanotining holatini o'qish uchun dastur past, yuqori signallarni multipleksorga A, B, C parametrlarining barcha kombinatsiyalari bilan yuboradi (muxABC matritsasi) va natijani A0 pinida olishni kuting. bu 0 dan 3,3 V gacha bo'lgan har qanday kuchlanish bo'lishi mumkin. Kombinatsiyalar diagrammada ko'rsatilgan.
Masalan, C = 0 (past), B = 0 (past), A = 0 (past) bo'lganda, multipleksor unga pin 0 ma'lumotlarini beradi va Nodemcu o'qiydigan signalni A0 ga yuboradi; agar C = 0 (past), B = 0 (past), A = 1 (yuqori) bo'lsa, multipleksor 8 ta kanal o'qilishi tugaguncha sizga pin 1 va shunga o'xshash ma'lumotlarni yuboradi.
Signal analog bo'lgani uchun, dastur raqamli (0 yoki 1) ga aylanadi, agar kuchlanish 1.3V dan kam yoki unga teng bo'lsa, signal 0 ga teng; agar u 1.3V dan katta bo'lsa, signal 1. 1.3V qiymati o'zboshimchalik bilan va men uchun juda yaxshi ishladi. Har doim kichik oqim oqimi bo'ladi va bu yolg'on pozitsiyalar yo'qligidan himoya qiladi.
Bu ma'lumotlar vektor val [8] da saqlanadi, ular kompas sifatida manzillar qatori bilan solishtiriladi. Diagrammadagi matritsani ko'ring. Masalan, agar qabul qilingan vektor [0, 0, 1, 0, 0, 0, 0, 0, 0] bo'lsa, u matritsada E yo'nalishini ko'rsatadi va 90 graduslik burchakka to'g'ri keladi; agar [0, 0, 0, 0, 0, 0, 1, 1] matritsada WNW manzilini ko'rsatsa va 292,5 graduslik burchakka to'g'ri kelsa. N [1, 0, 0, 0, 0, 0, 0, 0, 0] va 0 graduslik burchakka to'g'ri keladi.
ThingSpeak -ga yuboriladigan narsa burchak ostida, chunki u faqat raqamlarni qabul qiladi.
4 -qadam: Aloqa
ThingSpeak -ga ma'lumotlarni qanday yuborish kerak
Thingspeaksenddata () funktsiyasi ma'lumotlarni yuborish uchun javobgardir.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Tezlik ma'lumotlarini kanalimning 1 -maydoniga yuborish
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Manzil ma'lumotlarini kanalimning 2 -maydoniga yuborish
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - myChannelNumber kanalimga TS ko'rsatgan yozilgan myWriteAPIKey API bilan yuboring. Bu ma'lumotlar sizning hisobingiz va kanalingizni yaratishda TS tomonidan yaratilgan.
Yuqoridagi rasmlarda ThingSpeak olingan ma'lumotlarni qanday ko'rsatishini ko'rishingiz mumkin.
Ushbu havolada siz ThingSpeak umumiy kanalidagi mening loyiham ma'lumotlariga kirishingiz mumkin.
5 -qadam: Asosiy o'zgaruvchilar
shamol qanotlarining parametrlari
- MUX_A D5 - D5 nodemcu pinidan mux pi A
- MUX_B D4 - muxbir pin B dan Nodemcu pin D4 gacha
- MUX_C D3 - muxbir pimi C dan Nodemcu pin D3 gacha
- READPIN 0 - NodeMcu = A0 ga analog kirish
- NO_PINS 8 - muxlis pinlari soni
- val [NO_PINS] - 0 dan 7 gacha mux
- wind_Direction_Angle - Shamol yo'nalishi burchagi
- Tarmoqli shamolRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenallar, garovlar va sub -garovlar
- 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} - har bir yo'nalishning burchaklari
- Raqam [16] [NO_PINS] - Yo'nalish matritsasi
- muxABC [8] [3] - ABC muxbirlarining kombinatsiyasi
anemometr parametrlari
- rpmcount - anemometr ajratilgan vaqt ichida qancha to'liq aylanishni hisoblang
- Vaqt o'lchovi = 25.00 - o'lchash davomiyligi soniyalarda
- timetoSleep = 1 - Nodemcu bir necha daqiqada uyg'oq
- sleepTime = 15 - bir necha daqiqada uxlashni davom ettirish vaqti
- rpm, rps - aylanish chastotalari (daqiqada aylanish, soniyada aylanish)
- radius - metr - anemometr qanoti uzunligining o'lchovi
- lineer_velocity - m/segmentdagi chiziqli tezlik
- lineer_velocity_kmh - km/soatlik chiziqli tezlik
- omega - rad/segmentdagi radial tezlik
Quyida to'liq eskizni topishingiz mumkin. Kompyuteringizning Arduino papkasida asosiy dastur bilan bir xil nomdagi yangi papka yarating (Anemometer_Instructables) va barchasini bir joyga to'plang.
Wi -Fi tarmog'ingiz ma'lumotlarini va ThingSpeak ID va API Writer kalitlarini Credentials.h qismiga kiriting va saqlang. Nodemcu -ga yuklang va hammasi shu.
Tizimning ishlashini tekshirish uchun men yaxshi aylanadigan fanni tavsiya qilaman.
Ma'lumotlarga mobil telefon orqali kirish uchun ThingView deb nomlangan IOS yoki Android ilovasini yuklab oling, xayriyatki, u hali ham bepul.
Hisob sozlamalarini sozlang, shunda siz qayerda bo'lsangiz ham, uyingizda shamol sharoitlarini ko'rishga tayyor bo'lasiz.
Agar sizda qiziqish bo'lsa, mening ThingSpeak Channel ID kanalimga kiring: 438851, u hammaga ochiq va u erda siz mening uyimda shamol va yo'nalish o'lchovlarini topasiz.
Umid qilamanki, siz zavqlanasiz.
Agar shubhangiz bo'lsa, men bilan bog'lanishdan tortinmang.
Hurmat bilan
Tavsiya:
CubeSat -ni Arduino va Geiger hisoblagich sensori yordamida qanday qurish mumkin: 11 qadam
CubeSat -ni Arduino va Geiger hisoblagich sensori yordamida qanday qurish mumkin: Mars radioaktivmi yoki yo'qmi, deb o'ylab ko'rganmisiz? Va agar u radioaktiv bo'lsa, radiatsiya darajasi odamlar uchun zararli deb hisoblanadimi? Bularning barchasiga biz Arduino Geiger Count bilan CubeSat javob bera olamiz deb umid qilamiz
Sensorli qulaylik sensori stantsiyasini qanday qurish mumkin: 10 qadam (rasmlar bilan)
Konforni nazorat qilish sensori stantsiyasini qanday qurish kerak: Bu yo'riqnoma TUK, Technische Universität Ka -ning O'rnatilgan Atrof -muhit bo'limida ishlab chiqilgan, atrof -muhit sharoitlari uchun birlashtirilgan sensorli qurilma - CoMoS Comfort Monitoring Station -ning dizayni va qurilishini tavsiflaydi
USBTiny ISP dasturchisini qanday qurish mumkin: CNC PCB frezalash dastgohi yordamida: 13 qadam (rasmlar bilan)
USBTiny Internet -provayderini qanday yaratish kerak: CNC PCB freze mashinasi yordamida: O'z elektron loyihangizni noldan qanday yaratish haqida o'ylab ko'rganmisiz? Ammo ishlab chiqaruvchilar madaniyatiga qadam qo'yayotgan ko'pchilik ishlab chiqaruvchilar va apparat ixlosmandlari o'z loyihalarini qurdilar
Fidget Spinner yordamida Arduino -da Hall effekti sensori: 3 qadam (rasmlar bilan)
Arduino -da Fidget Spinner -dan foydalanadigan Hall effekti sensori: Xulosa Ushbu loyihada men zal effekti sensori arduino taxtasi yordamida aylanma tezlikni o'lchash qanday ishlashini tushuntiraman. ishchi:-Hall effekti sensori-bu magnit maydonga javoban chiqish voltajini o'zgartiradigan transduser. Zal effekti
Gitara karnay qutisini qanday qurish yoki stereo uchun ikkitasini qurish mumkin: 17 qadam (rasmlar bilan)
Gitara karnay qutisini qanday qurish yoki o'z stereo uchun ikkitasini yaratish kerak. Men yangi gitara karnayini men qurayotgan trubkali kuchaytirgich bilan ketishini xohlardim. Karnay mening do'konimda qoladi, shuning uchun alohida narsa bo'lishi shart emas. Tolex qoplamasi juda oson shikastlanishi mumkin, shuning uchun men engil qumdan keyin tashqariga qora sepdim