Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
Bu ko'rsatma sizga faqat javascript funktsiyalari yordamida adafruit Huzzahdan ajax qo'ng'irog'i bilan arduino boshqarishni ko'rsatadi. Asosan, siz html sahifasida JavaScript -dan foydalanishingiz mumkin, bu sizga html interfeyslarini ajax -ni qayta terishni ishlatadigan oddiy JavaScript funktsiyalari bilan osongina yozish imkonini beradi. ESP8266 ga arduino bilan aloqa o'rnatishga ruxsat berish. Shunday qilib, barcha pinlarni javascript funktsiyasidan o'rnatish mumkin. Xuddi shunday, biz qiymatni javascript funktsiyasidan foydalanib, har qanday pindan o'qishimiz mumkin. Umid qilamanki, bu arduino -ni html hujjatidan boshqarishni osonlashtiradi. Men html yozishni biladigan juda ko'p odamlar borligini tushundim. Ko'pchilik uyali telefonni java yoki xcode yoki boshqa ramka bilan bezashni xohlamaydi. Bu odamlar uchun juda oson bo'ladi, chunki ular pinlardan qiymatlarni o'rnatish va o'qish uchun faqat JavaScript funktsiyasidan foydalanishlari kerak. Masalan, yozish unchalik oson emas
Yoqish; ishga tushirish
Tugmani yoqish uchun. Go'zalligi shundaki, pinMode (12, INPUT) ni e'lon qilishdan boshqa arduino dasturlashi yo'q; O'rnatish funktsiyasida. Agar pin e'lon qilingan bo'lsa, javascript hamma narsada ishlatilishi mumkin.
document.onload = {
GetJSON ('A0', 1 'return_json')
}
Bu analog pin 0 qiymatini olish va natijani divga qaytarish uchun kerak. Shunday qilib, odamlar uchun arduino -ni boshqaradigan html sahifalarini yaratishning oson yo'li bo'lishi kerak. Arduino pinlarini javascript yordamida o'rnatish va o'qish uchun interfeys yarating.
1 -qadam: Sizga nima kerak
Men bu loyihani ESP8266 da html sahifasi yordamida arduino -ni boshqarishni istagan foydalanuvchilar uchun qurdim. Ushbu loyihaning maqsadi - javascript funktsiyasi yordamida arduino -dagi pinlar qiymatini belgilashning oddiy usulini yaratish. Misol uchun, onclick = "SetPin (12, 1, 0)" arduino -dagi 12 -pinni yuqori darajaga o'rnatadi.
Bu darslik uchun sizga aniq amal qilish uchun quyidagi elementlar kerak bo'ladi. Ammo, menimcha, u ko'pchilik arduino va ESP8266 kombinatsiyalarida ishlashi kerak. Ammo, menda bor narsalarga amal qilish uchun sizga quyidagi komponentlar kerak bo'ladi.
Arduino Uno - ketma -ket Rx TxAdafruit Huzzah Breakout Board USB to Serial Kabel 4 kam quvvatli LEDning analogli xiralik testi - analogli har qanday analog sensori simli Wi -Fi router uyali telefonini mobil brauzer Arduino kutubxonasi bilan bajaradigan har qanday arduino bilan ishlashi kerak.
2 -qadam: Arduino identifikatorini tayyorlash
Bu loyiha yangi arduino kutubxonalari va vaqt konfiguratsiyasini talab qiladi. Men har bir ekranning skrinshotini qo'ymayman va men buni sozlash va ishga tushirish uchun kerak bo'ladigan narsalarni ko'rib chiqaman. Men foydalanuvchini iloji boricha osonroq qilishga harakat qildim.
Kod ishlash uchun bir qancha kutubxonalardan foydalanadi. Birinchidan, biz ESP8266 uchun arduino -ni o'rnatishga e'tibor qaratamiz, men bu misolda Adafruit Huzzahdan foydalanmoqdaman, chunki men adafruit mahsulotlarini eng ishonchli va eng yaxshi qo'llab -quvvatlashga ega deb bilaman. Agar siz Adafruit Discord serveridan yordam olishga urinmasangiz. Qo'llab -quvvatlash forumlarida sizga yordam berish omadliroq bo'ladi.
Qanday bo'lmasin, men ESP8266 -dagi quyidagi kutubxonalardan foydalanmoqdaman
ESP8266WiFi WiFiClient ESP8266WebServer ArduinoJSONBu kutubxonalarni yuklab olish va o'rnatish bo'yicha qo'llanma emas, lekin bu HUZZAHda ishlatiladigan kutubxonalar. Shuning uchun ularni toping va o'rnating. Agar siz HUZZAH uchun taxtali ta'riflarni o'rnatishingiz kerak bo'ladi, shuning uchun agar siz FILE> Preferences -ga o'tsangiz, qo'shimcha taxtalar menejeri URL -lari yozilgan maydonga quyidagi manzilni kiriting: https://arduino.esp8266.com/stable/package_esp8266c… agar sizda mavjud bo'lsa. bu sohada biror narsa bo'lsa, qo'shimcha taxta urlini qo'shish uchun vergul qo'shganingizga ishonch hosil qiling. OK tugmasini bosing
Asboblar> Kengash> Kengashlar menejeri ESP8266 hamjamiyati tomonidan ESP8266 ni o'rnatishdan ko'ra, ESP8266 ni qidirishdan ko'ra.
Endi bizda arduino kodi ishlashi uchun kerak bo'lgan hamma narsa borligiga ishonch hosil qilish imkonini beradi. Arduino tomonida arduino o'zi bu darslik uchun faqat 2 kutubxonadan foydalanadi.
SoftwareSerialArduinoJSONQaysi narsaga ega bo'lishingiz kerak.
3 -qadam: ESP8266 ni tayyorlash
Endi biz kodni ESP8266 (Adafruit HUZZAH) ustiga qo'yamiz va uni Arduino -ga ulanishga tayyorlaymiz. HUZZAH kodini oching va eskizni oching. 11 va 12 -qatorlarda ssid va parolni mahalliy tarmoqdagi WIFI ulanishiga o'zgartiring. Eskiz fayli va index.h faylida 2 ta fayl borligini sezasiz. Index.h fayli bu telefonda ko'rsatiladigan html saqlanadigan joy.
Wi -Fi -ga to'g'ri SSID va parolni o'rnatganingizdan so'ng, siz kodni kompilyatsiya qilishingiz va uni ESP8266 -ga yuklashingiz mumkin. HUZZAH -da siz GPIO0 yorlig'ini bosishingiz kerak, keyin chipni yuklash rejimiga o'tkazish uchun GPIO0 tugmachasini qo'yib yubormasdan, qolgan tugmani bosing. Agar chip yuklash rejimiga muvaffaqiyatli qo'yilgan bo'lsa, qizil chiroq yonadi va chip yuklash rejimida ekanligini ko'rsatadi.
ESP8266 -ga ulanish uchun sizga ketma -ket kabel yoki USB -dan seriyali adapter yoki FDTI chipi kerak bo'ladi. Bu holda men yo'riqnomada ko'rsatilganidek, adafruit kabelini ishlataman. Biroq, siz Tx va Rx pinlarida TTL yordamida chipni bir necha usul bilan ulashingiz mumkin. Umid qilamanki, buni ko'rib turgan odamlar kodni yuklash uchun chipga qanday ulanish kerakligini bilishadi. Qanday bo'lmasin, bu qadamga biriktirilgan zip faylidagi kod bilan chipni o'chiring.
4 -qadam: Arduino -ni tayyorlash
Kodni arduino -ga yuklash uchun taxtangiz ta'rifini Arduino/Genuino Uno -ga o'zgartiring. Bu qadamga biriktirilgan faylni ochishdan ko'ra. Uni ardunio -ga yuklang. Haqiqatan ham, hamma mashaqqatli ishlar siz uchun qilingan. Men allaqachon sinov jarayonidan o'tganman, shuning uchun siz kodni yuklashingiz kerak.
5 -qadam: Hammasini bir -biriga ulash
OK, simlar uchun menda bu erda nima borligi haqida rasm bor.
Hxzaxdagi Tx ni arduino 2 -chi piniga ulang. Arduino -dagi 3 -pinli Huzzadagi Rx -ni ulang. Men standart ketma -ket konsoli bo'shatish uchun arduino -dagi 2 va 3 -pinlarda boshqa ketma -ket soket yaratdim.
Pin V+ va En ni arduino dan 5v ga ulang. - Adafruit Huzzah o'rnatilgan 3,3V kuchlanishli regulyatorga ega, shuning uchun bu pinlarni shunday ulash barcha ESP8266 modullari bilan ishlamasligi mumkin. O'zingizning voltaj regulyatoringizni ulashingiz kerak bo'lishi mumkin. Agar siz osonlikcha ishlashni xohlasangiz, men Huzzaxdan foydalanishni tavsiya qilaman. GND ni arduino GND ga ulang
Sizning LED -laringizdagi arduino simidagi 12, 11, 9, 8 -pinlarda men kam quvvatli LED -larni ishlatardim, chunki bu tajribani soddalashtirish uchun haddan tashqari tok o'tkazgichlari juda ko'p quvvat sarflashi mumkin.
Arduino -dagi A0 analog pinidan ko'ra, men Turpitity testerining chiqish liniyasini uladim. Biroq, siz analog o'qishni ta'minlaydigan har qanday sensorning chiqishini ulashingiz mumkin. Buni uzish uchun hamma narsa kerak.
6 -qadam: veb -sahifaga kirish
Endi siz arduino -ni uladingiz va hamma narsa taxtangizga yuklandi, siz html -ni mobil telefoningizda ko'rishingiz kerak. Endi siz SSID va parolni Huzzadagi kodga o'rnatgan wifi routerga ulanishingizni xohlayman. Siz yo'riqnoma qurilmangizga qanday IP -manzil berganligini aniqlashingiz kerak. Odatda, agar siz yo'riqnoma konfiguratsiyasiga kirsangiz, mijozlar ro'yxati bo'lishi kerak. Bu sizning Wi -Fi ulanishingizga ulangan barcha qurilmalarning IP -manzillarini ko'rsatadi. Ammo, agar siz ushbu IP -manzilni topa olmasangiz, uni arduino -dan uzib, yana ketma -ket kabel orqali ishga soling. Agar siz qurilmadagi ketma -ket konsolni ochsangiz, u boshqa yo'l bilan topa olmasangiz, u IP -manzilni qurilmaga ketma -ket konsolda chop etadi. Qanday bo'lmasin, siz mobil telefoningiz bilan bir xil Wi -Fi tarmog'iga ulanganingizda. Mobil veb -brauzeringizni Huzzaning IP -manziliga ishora qiling. Ehtimol, shunga o'xshash narsa ko'rinadi. https://192.168.0.107 yoki shunga o'xshash narsa. U erda men 4 Ledni yoqish va o'chirish, shuningdek analog sensori qiymatini o'qish imkonini beradigan asosiy sahifani joylashtirdim.
7 -qadam: Javascipt -dan foydalanish
ESP8266Code eskizida index.h deb nomlangan faylda u arduino muharririning alohida yorlig'i sifatida paydo bo'lishi kerak. Siz bu erda men qilgan asosiy misolni ko'rishingiz mumkin. Asosan uning ishlash tartibi shunday.
SetPin (12, 1, 0); SetPin ({Pin raqami}, {Qiymat 1 Yuqori 0 Past}, {IsAnalog 1 Ha 0 Yo'q})
Bu raqamli pin 12 qiymatini yuqori darajaga qo'yadi
SetPin (4, 0, 0);
Bu raqamli pin 4 qiymatini past darajaga o'rnatadi
SetPin (A2, 439, 1) Bu analog pin 2 qiymatini 439 ga o'rnatadi
Xuddi shunday, GetJSON funktsiyasi pindan so'ralgan qiymatni qaytaradi va uni ko'rsatilgan div identifikatori bilan o'chirilgan htmlga joylashtiradi.
GetJSON ('A0', 1, 'resp_i') GetJSON ({Pin raqami}, {IsAnalog 1 Ha 0 Yo'q}, {HTML elementi natijani qaytarish uchun})
Bu arduino -ga 0 analog pinining qiymatini so'rash va natijani resp_iGetJSON identifikatori bilan Divga qaytarish uchun so'rov yuboradi (12, 0, 'mydiv'); Bu arduino -dan raqamli pin 0 qiymatini olishni va natijani mydiv identifikatori va html elementiga qaytarishni so'raydi.
8 -qadam: qo'llab -quvvatlash
Umid qilamanki, mening skriptim sizlardan foydalanmoqchi bo'lganlarga yordam beradi. Men bu erda juda oddiy html misolidan foydalanib, boshqa odamlar men qila olmaydigan barcha imkoniyatlarni o'rganib chiqadi degan umidda edim. Biroq, bu ajax -ni HTML -sahifalar yuklamasdan arduino -ni boshqarish uchun qanday ishlatilishini ko'rsatishi kerak.
Agar sizda sharhlar bo'lsa, iltimos, men bilan bemalol javob berishga harakat qilaman. Men uning funktsional imkoniyatlarini kengaytirmoqchiman, lekin vaqtim va pulim tugadi. Biroq, men fayllarni ESP8266 -da emas, balki oddiy veb -serverda saqlaydigan yanada mustahkamroq dastur ustida ishlayapman.
Mening kodimni ko'rish uchun vaqt ajratganingiz uchun tashakkur.
Jon Anderson Menga elektron pochta orqali xabar yuboring
Vermont Internet Dizayn MChJ
www.vermontinternetdesign.com
Tavsiya:
Raspberry PI (RPi) uchun LIRC yordamida IQ masofadan boshqarish pultini oson sozlash - 2019 yil iyul [1 -qism]: 7 qadam
Raspberry PI (RPi) uchun LIRC yordamida IQni masofadan boshqarish pultini oson sozlash - 2019 yil iyul Men oson bo'ladi deb o'yladim, lekin Linux InfraRed Control (LIRC) ni o'rnatish uzoq vaqtdan beri muammoli bo'lib kelgan
Arduino va Ps2 masofadan boshqarish pulti yordamida 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: 4 qadam
Arduino va Ps2 masofadan boshqarish pulti bilan 4dof yuqori quvvatli katta o'lchamli robot qo'lini qanday boshqarish mumkin?: Bu to'plamda yuqori quvvatli mg996 dvigateli ishlatiladi, u yuqori oqimga muhtoj, bizda ko'p quvvat manbai sinovi bor. Faqat 5v 6a adapter ishlaydi. Va arduino taxtasi 6dof robot qo'li ustida ham ishlaydi.end: yozing SINONING do'konini DIY o'yinchoq uchun sotib oling
Raspberry PI (RPi) uchun LIRC yordamida IQ masofadan boshqarish pultini oson sozlash - 2019 yil iyul [2 -qism]: 3 qadam
Raspberry PI (RPi) uchun LIRC yordamida IQni masofadan boshqarish pultini oson o'rnatish - 2019 yil iyul Uskuna va LIRC -ni sozlash bilan bog'liq barcha muammolar 1 -qismda muhokama qilinadi. 2 -bo'limda hardvani qanday ulash mumkinligi ko'rsatilgan
HW30A Dvigatel tezligini boshqarish moslamasi va Arduino UNO yordamida uchuvchisiz kvadrokopterli cho'tkasi bo'lmagan shahar motorini (3 simli) qanday boshqarish kerak: 5 qadam
HW30A Dvigatel tezligini boshqarish moslamasi va Arduino UNO yordamida uchuvchisiz kvadrokopterli cho'tkasiz shahar motorini (3 simli tip) qanday boshqarish mumkin: Tavsif: HW30A dvigatel tezligini boshqarish moslamasi 4-10 NiMH/NiCd yoki 2-3 hujayrali LiPo batareyalari bilan ishlatilishi mumkin. BEC 3 ta LiPo hujayralari bilan ishlaydi. U cho'tkasi bo'lmagan doimiy dvigatelning tezligini boshqarish uchun ishlatilishi mumkin (3 simli) maksimal 12 Vt gacha
Kristalli qattiq hol rölesi yordamida 110 ta vakuumli kompyuterni boshqarish juda oson: 3 qadam (rasmlar bilan)
Kristalli qattiq holli o'rni yordamida 110 ta vakuumli kompyuterni boshqarish juda oson: men issiq taxtani lehimlashda o'zimni sinab ko'rishga tayyorman. Shuning uchun, men shaxsiy kompyuterimdan 110Vac ni boshqarish usulini tanlashim kerak edi. Bu ko'rsatma kompyuterda ketma -ket chiqish portidan 110Vacni qanday oson boshqarishni ko'rsatadi. Men ishlatgan ketma -ket port USB turi edi