Mundarija:
- Ta'minotlar
- 1 -qadam: kutubxona
- 2 -qadam: Pinout
- 3 -qadam: AUX pin
- 4 -qadam: To'liq ulangan sxema Esp8266
- 5 -qadam: Arduino -ning to'liq ulangan sxemasi
- 6 -qadam: Kutubxona: Konstruktor
- 7 -qadam: boshlang
- 8 -qadam: Konfiguratsiya va ma'lumot usuli
- 9 -qadam: javob konteyner
- 10 -qadam: Asosiy konfiguratsiya opsiyasi
- 11 -qadam: qabul qilingan xabarni yuboring
- 12 -qadam: Oddiy uzatish rejimi
- 13 -qadam: Strukturani boshqarish
- 14 -qadam: Oddiy rejim o'rniga qattiq rejim
- 15 -qadam: Rahmat
Video: Arduino, Esp8266 yoki Esp32 uchun past narxli E32 (sx1278/sx1276) qurilmali LoRa 3 km dan 8 km gacha simsiz aloqa: 15 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Men LoBa qurilmasining Semtech seriyali EBYTE E32 ni boshqarish uchun kutubxona yarataman, juda kuchli, sodda va arzon qurilma.
Siz bu erda 3km, 8km versiyasini topishingiz mumkin
Ular 3000 m dan 8000 m gacha masofada ishlashlari mumkin va ular juda ko'p xususiyat va parametrlarga ega. Shunday qilib, men foydalanishni soddalashtirish uchun ushbu kutubxonani yarataman.
Bu metropoliten sensorlaridan ma'lumotlarni olish yoki dronni boshqarish uchun echim.
Ta'minotlar
Arduino UNO
Wemos D1 mini
LoRa E32 TTL 100 3km versiyasi
LoRa E32 TTL 1W 8Km versiyasi
1 -qadam: kutubxona
Bu erda mening kutubxonamni topishingiz mumkin.
Yuklab olish uchun.
O'ng yuqori burchakdagi YUKLASH tugmasini bosing, siqilmagan papkaning nomini LoRa_E32 o'zgartiring.
LoRa_E32 papkasida LoRa_E32.cpp va LoRa_E32.h mavjudligini tekshiring.
LoRa_E32 kutubxona papkasini / libraries / papkasini joylashtiring. Agar siz birinchi kutubxonangiz bo'lsa, kutubxonalar pastki papkasini yaratishingiz kerak bo'lishi mumkin.
IDE -ni qayta ishga tushiring.
2 -qadam: Pinout
Ko'rib turganingizdek, siz M0 va M1 pinlari orqali turli xil rejimlarni o'rnatishingiz mumkin.
Statik usulda ishlatilishi mumkin bo'lgan ba'zi pinlar bor, lekin agar siz uni mikrokontrollerga ulasangiz va ularni kutubxonada sozlasangiz, siz ishlay olasiz va siz dasturiy ta'minot orqali hamma rejimni boshqarishingiz mumkin, lekin biz bundan keyin yaxshiroq tushuntiramiz.
3 -qadam: AUX pin
Men aytganimdek, barcha pinlarni mikrokontrolderga ulash muhim emas, siz konfiguratsiyani olish uchun M0 va M1 pinlarini HIGH yoki LOW ga qo'yishingiz mumkin, agar siz AUX -ga ulanmasangiz, kutubxonaga ishonch hosil qiling. operatsiya tugaganligini.
AUX pin
Ma'lumot uzatish paytida tashqi MCU -ni uyg'otish va ma'lumotlarni uzatish tugagandan so'ng HIGH -ni qaytarish mumkin.
AUXni qabul qilganda LOW past bo'ladi va bufer bo'sh bo'lganda HIGH ni qaytaring.
Bundan tashqari, u normal ishlashni tiklash uchun o'zini tekshirish uchun ishlatiladi (yoqish va uyqu/dastur rejimida).
4 -qadam: To'liq ulangan sxema Esp8266
esp8266 ulanish sxemasi sodda, chunki u bir xil mantiqiy aloqada ishlaydi (3.3v).
Yaxshi barqarorlikka erishish uchun tortishish qarshiligini (4, 7Kohm) qo'shish muhim.
5 -qadam: Arduino -ning to'liq ulangan sxemasi
Arduino ishchi kuchlanishi 5v, shuning uchun biz shikastlanishni oldini olish uchun LoXa modulining RX pin M0 va M1 kuchlanish taqsimlagichini qo'shishimiz kerak, bu erda qo'shimcha ma'lumot olishingiz mumkin: kuchlanish bo'luvchi: kalkulyator va dastur.
RX -da yig'ilgandan ko'ra, signaldan GND va 1Kohmgacha bo'lgan 2Kohmli rezistorni ishlatishingiz mumkin.
6 -qadam: Kutubxona: Konstruktor
Men juda ko'p sonli konstruktorlar to'plamini yasadim, chunki bizda boshqarish uchun ko'proq variant va vaziyat bo'lishi mumkin.
LoRa_E32 (bayt rxPin, bayt txPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (bayt rxPin, bayt txPin, bayt auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600); LoRa_E32 (bayt rxPin, bayt txPin, bayt auxPin, bayt m0Pin, bayt m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Birinchi konstruktorlar to'plami kutubxonaga ketma -ket va boshqa pinlarni boshqarishni topshirish uchun yaratilgan.
rxPin va txPin - UARTga ulanish uchun pin va ular majburiydir.
auxPin - bu operatsiya, uzatish va qabul qilish holatini tekshiradigan pin (biz bundan keyin batafsilroq tushuntiramiz), bu pin majburiy emas, agar siz uni o'rnatmasangiz, men operatsiyani o'z vaqtida bajarishga ruxsat berish uchun kechiktirishni qo'llayman (kechikish bilan).
m0pin va m1Pin - bu MODE rejimini o'zgartirish uchun pinlar (yuqoridagi jadvalga qarang), menimcha, bu "ishlab chiqarish" pimlari to'g'ridan -to'g'ri "HIGH" yoki "LOW" ga ulanadi, lekin sinov uchun ular kutubxona tomonidan boshqariladi.
bpsRate - bu SoftwareSerial -ning ovoz tezligi odatda 9600 (dasturiy/uyqu rejimidagi yagona uzatish tezligi)
Oddiy misol
#"LoRa_E32.h" ni qo'shing LoRa_E32 e32ttl100 (2, 3); // RX, TX // LoRa_E32 e32ttl100 (2, 3, 5, 6, 7); // RX, TX
Biz to'g'ridan -to'g'ri SoftwareSerial -dan boshqa konstruktor bilan foydalanishimiz mumkin
LoRa_E32 (HardwareSerial* ketma -ket, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* ketma -ket, bayt auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial* ketma -ket, bayt auxPin, bayt m0Pin, bayt m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Ushbu konstruktor bilan yuqoridagi misol shunday bo'lishi mumkin.
#qo'shish #kiritish "LoRa_E32.h"
SoftwareSerial mySerial (2, 3); // RX, TX
LoRa_E32 e32ttl100 (& mySerial);
// LoRa_E32 e32ttl100 (& mySerial, 5, 7, 6);
Oxirgi konstruktorlar to'plami - SoftwareSerial o'rniga HardwareSerialdan foydalanishga ruxsat berish.
LoRa_E32 (SoftwareSerial* ketma -ket, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* ketma -ket, bayt auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial* ketma -ket, bayt auxPin, bayt m0Pin, bayt m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
7 -qadam: boshlang
Start buyrug'i kirish va chiqish rejimida ketma -ket va pinlarni ishga tushirish uchun ishlatiladi.
void start ();
ijroda
// Barcha pinlarni va UARTni ishga tushiring
e32ttl100.begin ();
8 -qadam: Konfiguratsiya va ma'lumot usuli
Konfiguratsiyani boshqarish va qurilma haqida ma'lumot olishning bir qancha usullari mavjud.
ResponseStructContainer getConfiguration ();
ResponseStatus setConfiguration (Konfiguratsiya konfiguratsiyasi, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
ResponseStructContainer getModuleInformation ();
void printParameters (struct Configuration configuration);
ResponseStatus resetModule ();
9 -qadam: javob konteyner
Javobni boshqarishni soddalashtirish uchun men konteynerlar to'plamini yarataman, bu men uchun xatolarni boshqarish va umumiy ma'lumotlarni qaytarish uchun juda foydali.
ResponseStatus
Bu holat konteyneridir va 2 ta oddiy kirish nuqtasiga ega, shu bilan siz status kodini va holat kodining tavsifini olishingiz mumkin
Serial.println (c.getResponseDescription ()); // Kod tavsifi
Serial.println (kodi); Muvaffaqiyat bo'lsa // 1
Kod - bu
Muvaffaqiyat = 1, ERR_NUMXUN
ERR_NOT_SUPPORT, ERR_NOT_IMPLEMENT, ERR_NOT_INITIAL, ERR_INVALID_PARAM, ERR_DATA_SIZE_NOT_MATCH, ERR_BUF_TOO_SMALL, ERR_TIMEOUT, ERR_HARDWARE, ERR_HEAD_NOT_RECOGNIZED
ResponseContainer
Bu konteyner String javobini boshqarish uchun yaratilgan va 2 ta kirish nuqtasiga ega.
xabar va statusdan qaytarilgan satrli ma'lumotlar, RepsonseStatus misoli.
ResponseContainer rs = e32ttl.receiveMessage ();
String xabari = rs.data;
Serial.println (rs.status.getResponseDescription ());
Serial.println (xabar);
ResponseStructContainer
Bu "murakkabroq" konteyner, men uni tuzilmani boshqarish uchun ishlataman, u ResponseContainer -ning kirish nuqtasiga ega, lekin ma'lumotlar murakkab tuzilmani boshqarish uchun bo'sh ko'rsatgichdir.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Boshqa barcha operatsiyalardan oldin konfiguratsiya ko'rsatgichini olish muhim
Konfiguratsiya konfiguratsiyasi = *(Konfiguratsiya *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (status.kod);
getConfiguration va setConfiguration
Birinchi usul - getConfiguration, siz undan qurilmada saqlangan barcha ma'lumotlarni olish uchun foydalanishingiz mumkin.
ResponseStructContainer getConfiguration ();
Mana, foydalanish misoli.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Boshqa barcha operatsiyalardan oldin konfiguratsiya ko'rsatgichini olish muhim
Konfiguratsiya konfiguratsiyasi = *(Konfiguratsiya *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (status.kod);
Serial.println (configuration. SPED.getUARTBaudRate ());
Konfiguratsiya tuzilmasida barcha sozlamalar ma'lumotlari bor va men bitta ma'lumotning barcha tavsifini olish uchun bir qator funktsiyalarni qo'shaman.
konfiguratsiya. ADDL = 0x0; // Adres konfiguratsiyasining birinchi qismi. ADDH = 0x1; // Manzil konfiguratsiyasining ikkinchi qismi. CHAN = 0x19; // Kanal konfiguratsiyasi. OPTION.fec = FEC_0_OFF; // Oldinga xatoni tuzatish tugmachasining konfiguratsiyasi. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; // Transmissiya rejimining konfiguratsiyasi. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; // Pull-up boshqaruv konfiguratsiyasi. OPTION.transmissionPower = POWER_17; // dBm uzatish quvvati konfiguratsiyasi. OPTION.wirelessWakeupTime = WAKE_UP_1250; // Uyg'otish konfiguratsiyasini kuting. SPED.airDataRate = AIR_DATA_RATE_011_48; // Havo ma'lumotlari tezligi konfiguratsiyasi. SPED.uartBaudRate = UART_BPS_115200; // Aloqa tezligi konfiguratsiyasi. SPED.uartParity = MODE_00_8N1; // Parit bit
Barcha tavsifni olish uchun sizda barcha atributlar uchun ekvivalent funksiya mavjud:
Serial.print (F ("Chan:")); Serial.print (konfiguratsiya. CHAN, DEC); Serial.print (" ->"); Serial.println (configuration.getChannelDescription ()); Serial.println (F ("")); Serial.print (F ("SpeedParityBit:")); Serial.print (configuration. SPED.uartParity, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTParityDescription ()); Serial.print (F ("SpeedUARTDatte:")); Serial.print (configuration. SPED.uartBaudRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getUARTBaudRate ()); Serial.print (F ("SpeedAirDataRate:")); Serial.print (configuration. SPED.airDataRate, BIN); Serial.print (" ->"); Serial.println (configuration. SPED.getAirDataRate ()); Serial.print (F ("OptionTrans:")); Serial.print (config. OPTION.fixedTransmission, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFixedTransmissionDescription ()); Serial.print (F ("OptionPullup:")); Serial.print (config. OPTION.ioDriveMode, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getIODroveModeDescription ()); Serial.print (F ("OptionWakeup:")); Serial.print (config. OPTION.wirelessWakeupTime, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getWirelessWakeUPTimeDescription ()); Serial.print (F ("OptionFEC:")); Serial.print (config. OPTION.fec, BIN); Serial.print (" ->"); Serial.println (config. OPTION.getFECDescription ()); Serial.print (F ("OptionPower:")); Serial.print (config. OPTION.transmissionPower, BIN); Serial.print (" ->"); Serial.println (config. OPTION.getTransmissionPowerDescription ());
Xuddi shu tarzda, setConfiguration konfiguratsiya tuzilishini xohlaydi, shuning uchun menimcha, konfiguratsiyani boshqarishning eng yaxshi usuli - bu joriy versiyani olish, kerakli o'zgarishlarni qo'llash va uni qayta o'rnatish.
ResponseStatus setConfiguration (Konfiguratsiya konfiguratsiyasi, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
konfiguratsiya - bu avvalgi ko'rsatuv, saveType -ning o'zgarishi faqat joriy sessiya uchun doimiy bo'lib qolsa, tanlashga ruxsat beradi.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Boshqa barcha operatsiyalardan oldin konfiguratsiya ko'rsatgichini olish muhim Konfiguratsiya konfiguratsiyasi = *(Konfiguratsiya *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfiguratsiya); konfiguratsiya. ADDL = 0x0; konfiguratsiya. ADDH = 0x1; konfiguratsiya. CHAN = 0x19; konfiguratsiya. OPTION.fec = FEC_0_OFF; config. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; config. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; config. OPTION.transmissionPower = POWER_17; config. OPTION.wirelessWakeupTime = WAKE_UP_1250; konfiguratsiya. SPED.airDataRate = AIR_DATA_RATE_011_48; config. SPED.uartBaudRate = UART_BPS_115200; config. SPED.uartParity = MODE_00_8N1; // Konfiguratsiyani o'zgartiring va konfiguratsiyani ushlab turmaslik uchun o'rnating ResponseStatus rs = e32ttl100.setConfiguration (konfiguratsiya, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (konfiguratsiya);
Parametrlar doimiy ravishda boshqariladi:
10 -qadam: Asosiy konfiguratsiya opsiyasi
11 -qadam: qabul qilingan xabarni yuboring
Birinchidan, qabul qilish tamponida biror narsa borligini tekshirish uchun oddiy, lekin foydali usulni joriy etishimiz kerak
int mavjud ();
Joriy oqimda qancha bayt borligini qaytarish kifoya.
12 -qadam: Oddiy uzatish rejimi
Oddiy/Shaffof uzatish rejimi bir xil manzil va kanalli barcha qurilmalarga xabar yuborish uchun ishlatiladi.
Xabarni yuborish/qabul qilishning ko'plab usullari mavjud, biz batafsil tushuntirib beramiz:
ResponseStatus sendMessage (const String xabari);
ResponseContainer receiveMessage ();
Birinchi usul sendMessage bo'lib, u oddiy rejimda qurilmaga String yuborish uchun ishlatiladi.
ResponseStatus rs = e32ttl.sendMessage ("Prova"); Serial.println (rs.getResponseDescription ());
Boshqa qurilma oddiygina pastadir ustida ishlaydi
agar (e32ttl.available ()> 1) {ResponseContainer rs = e32ttl.receiveMessage (); String xabari = rs.data; // Avval Serial.println (rs.status.getResponseDescription ()) ma'lumotlarini oling; Serial.println (xabar); }
13 -qadam: Strukturani boshqarish
Agar siz murakkab tuzilmani yubormoqchi bo'lsangiz, ushbu usuldan foydalanishingiz mumkin
ResponseStatus sendMessage;
Strukturani yuborish uchun ishlatiladi, masalan:
Messaggione {char turi [5] tuzilishi; char xabari [8]; bool mitico; }; struct Messaggione messaggione = {"TEMP", "Peple", true}; ResponseStatus rs = e32ttl.sendMessage (& messaggione, sizeof (Messaggione)); Serial.println (rs.getResponseDescription ());
va boshqa tomondan siz xabarni shunday qabul qilishingiz mumkin
ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); struct Messaggione messaggione = *(Messaggione *) rsc.data; Serial.println (messaggione.message); Serial.println (messaggione.mitico);
Qisman tuzilmani o'qing
Agar siz boshqa turdagi strukturalarni boshqarish uchun xabarning birinchi qismini o'qishni xohlasangiz, ushbu usuldan foydalanishingiz mumkin.
ResponseContainer receiveInitialMessage (const uint8_t hajmi);
Men yuklanadigan tuzilmani aniqlash uchun turini yoki boshqasini olish uchun yarataman.
struktura Messaggione {// yozish mashinasi xabarisiz qisman struktura [8]; bool mitico; }; char turi [5]; // ResponseContainer strukturasining birinchi qismi rs = e32ttl.receiveInitialMessage (sizeof (tur)); // stringni char qatoriga qo'ying (kerak emas) memcpy (type, rs.data.c_str (), sizeof (type)); Serial.println ("O'QISH TURI:"); Serial.println (rs.status.getResponseDescription ()); Serial.println (turi); // ResponseStructContainer tuzilmasining qolgan qismini o'qing rsc = e32ttl.receiveMessage (sizeof (Messaggione))); struktura Messaggione messaggione = *(Messaggione *) rsc.data;
14 -qadam: Oddiy rejim o'rniga qattiq rejim
Xuddi shu tarzda, men qattiq uzatishda foydalanish uchun usullar to'plamini yarataman
Ruxsat etilgan uzatish
Siz faqat jo'natish usulini o'zgartirishingiz kerak, chunki maqsadli qurilma manzil va kanal sozlamalari bilan muqaddimani qabul qilmaydi.
Shunday qilib, sizda String xabari bor
ResponseStatus sendFixedMessage (ADDL bayt, ADDH bayt, CHAN bayt, const String xabari); ResponseStatus sendBroadcastFixedMessage (bayt CHAN, const String xabari);
va sizda tuzilish bor
ResponseStatus sendFixedMessage;
Mana oddiy misol
ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17 va & messaggione, sizeof (Messaggione))); // ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, "Ciao");
Ruxsat etilgan uzatish ko'proq ssenariylarga ega
Agar siz ma'lum bir qurilmaga yuboradigan bo'lsangiz (ikkinchi stsenariylar Ruxsat etilgan uzatish), uni to'g'ridan -to'g'ri aniqlash uchun ADDL, ADDH va CHAN qo'shishingiz kerak.
ResponseStatus rs = e32ttl.sendFixedMessage (2, 2, 0x17, "Qurilmaga xabar");
Agar siz xohlagan kanaldagi barcha qurilmalarga xabar yubormoqchi bo'lsangiz, ushbu usuldan foydalanishingiz mumkin.
ResponseStatus rs = e32ttl.sendBroadcastFixedMessage (0x17, "Kanal qurilmalariga xabar");
Agar siz tarmoqdagi barcha xabarlarni olishni xohlasangiz, ADDH va ADDL -ni BROADCAST_ADDRESS -ga o'rnatishingiz kerak.
ResponseStructContainer c; c = e32ttl100.getConfiguration (); // Boshqa barcha operatsiyalardan oldin konfiguratsiya ko'rsatgichini olish muhim Konfiguratsiya konfiguratsiyasi = *(Konfiguratsiya *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfiguratsiya); config. ADDL = BROADCAST_ADDRESS; konfiguratsiya. ADDH = BROADCAST_ADDRESS; // Konfiguratsiya o'zgartirildi va ResponseStatus rs = e32ttl100.setConfiguration (konfiguratsiya, WRITE_CFG_PWR_DWN_LOSE) konfiguratsiyasi saqlanmaydigan qilib sozlandi; Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (konfiguratsiya);
15 -qadam: Rahmat
Endi siz o'z ishingizni bajarish uchun barcha ma'lumotlarga egasiz, lekin menimcha, barcha imkoniyatlarni yaxshiroq tushunish uchun haqiqiy misollarni ko'rsatish muhim.
- Arduino, esp32 yoki esp8266 uchun LoRa E32 qurilmasi: sozlash va asosiy foydalanish
- Arduino, esp32 yoki esp8266 uchun LoRa E32 qurilmasi: kutubxona
- Arduino, esp32 yoki esp8266 uchun LoRa E32 qurilmasi: konfiguratsiya
- Arduino, esp32 yoki esp8266 uchun LoRa E32 qurilmasi: qattiq uzatish
- Arduino, esp32 yoki esp8266 uchun LoRa E32 qurilmasi: quvvatni tejash va tuzilgan ma'lumotlarni yuborish
Tavsiya:
Dupin-Ultra past narxli ko'chma ko'p to'lqinli yorug'lik manbai: 11 qadam
Dupin-Ultra past narxlardagi ko'chma ko'p to'lqinli yorug'lik manbai: Avgust Dyupin nomi bilan atalgan, u birinchi fantastik detektiv deb hisoblangan, bu ko'chma yorug'lik manbai har qanday 5V USB telefon zaryadlovchi yoki quvvat to'plamidan ishlaydi. Har bir LED boshi magnitlangan. Kichkina fan tomonidan faol sovutiladigan, arzon 3W yulduzli chiroqlardan foydalanish
433 MGts chastotali past narxli simsiz sensorlar tarmog'i: 5 qadam (rasmlar bilan)
433 MGts chastotali past narxli simsiz sensorlar tarmog'i: Tereza Rajbaga katta rahmat, bu maqolada o'z nashrlaridan olingan ma'lumotlardan foydalanishga rozilik bergani uchun. tarmoqlar? Oddiy ta'rif
E32-433T LoRa moduli bo'yicha qo'llanma - E32 moduli uchun DIY kesish taxtasi: 6 qadam
E32-433T LoRa moduli bo'yicha qo'llanma | E32 moduli uchun DIY Breakout Board: Hey, nima bo'ldi, bolalar! Akarsh bu erda CETech.Bu mening loyiham-E32 LoRa modulining ishlashini tushunish uchun eByte-dan, bu yuqori quvvatli 1 vattli qabul qiluvchi moduli. Ishni tushunganimizda, menda dizayn bor
1A dan 40A gacha 1000 Vt gacha bo'lgan doimiy dvigatel uchun joriy BOOST konvertori: 3 qadam
1000 Vtgacha bo'lgan 1A dan 40A gacha bo'lgan joriy BOOST konverteri: Salom! Bu videoda siz tranzistorlar va markaziy transformatorli 1000 Vt va 40 Ampergacha bo'lgan yuqori amperli DC dvigatellari uchun oqim kuchaytirgichini qanday qilishni o'rganasiz. chiqishdagi oqim juda yuqori, lekin kuchlanish r bo'ladi
Past narxli to'lqin shakli generatori (0 - 20MGts): 20 qadam (rasmlar bilan)
Arzon narxlardagi to'lqin shakllari generatori (0 - 20MGts): ABSTRATH Ushbu loyiha 10 MGts dan yuqori tarmoqli kengligi va 1%dan past bo'lgan harmonik buzilishli to'lqin generatorini olish zarurligidan kelib chiqadi, bularning barchasi arzon narxda. Ushbu hujjat tarmoqli kengligi to'lqin generatorining dizaynini tasvirlaydi