Turinys:
- Prekės
- 1 žingsnis: biblioteka
- 2 žingsnis: „Pinout“
- 3 žingsnis: AUX kaištis
- 4 žingsnis: visiškai prijungta schema Esp8266
- 5 veiksmas: visiškai prijungta „Arduino“schema
- 6 žingsnis: biblioteka: konstruktorius
- 7 žingsnis: pradėkite
- 8 veiksmas: konfigūravimas ir informacijos metodas
- 9 veiksmas: atsako talpykla
- 10 veiksmas: pagrindinė konfigūracijos parinktis
- 11 veiksmas: siųskite gavimo pranešimą
- 12 veiksmas: įprastas perdavimo režimas
- 13 žingsnis: valdykite struktūrą
- 14 žingsnis: Fiksuotas režimas vietoj įprasto režimo
- 15 žingsnis: ačiū
Video: „LoRa“nuo 3 km iki 8 km belaidis ryšys su mažomis sąnaudomis E32 (sx1278/sx1276) „Arduino“, Esp8266 arba Esp32 įrenginys: 15 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Aš sukuriu biblioteką, skirtą valdyti EBYTE E32, remdamasis „LoRa“įrenginio „Semtech“serija, labai galingu, paprastu ir pigiu įrenginiu.
3Km versiją rasite čia, 8Km versiją čia
Jie gali dirbti 3000–8000 m atstumu, jie turi daug funkcijų ir parametrų. Taigi aš sukuriu šią biblioteką, kad supaprastinčiau naudojimą.
Tai sprendimas norint gauti duomenis iš didmiesčių jutiklių arba valdyti droną.
Prekės
Arduino UNO
„Wemos D1 mini“
„LoRa E32 TTL 100 3Km“versija
„LoRa E32 TTL 1W 8Km“versija
1 žingsnis: biblioteka
Mano biblioteką rasite čia.
Atsisiųsti.
Viršutiniame dešiniajame kampe spustelėkite mygtuką ATSISIŲSTI, pervardykite nesuspaustą aplanką LoRa_E32.
Patikrinkite, ar „LoRa_E32“aplanke yra „LoRa_E32.cpp“ir „LoRa_E32.h“.
Įdėkite „LoRa_E32“bibliotekos aplanką į savo / libraries / aplanką. Jums gali tekti sukurti bibliotekų pakatalogį, jei tai jūsų pirmoji biblioteka.
Iš naujo paleiskite IDE.
2 žingsnis: „Pinout“
Kaip matote, galite nustatyti įvairius režimus naudodami M0 ir M1 kaiščius.
Yra keletas kaiščių, kuriuos galima naudoti statiškai, bet jei prijungsite jį prie mikrovaldiklio ir sukonfigūruosite juos bibliotekoje, gausite našumą ir galėsite valdyti visus režimus naudodami programinę įrangą, tačiau toliau paaiškinsime geriau.
3 žingsnis: AUX kaištis
Kaip jau sakiau, nėra svarbu prijungti visą kaištį prie mikrovaldiklio išvesties, galite nustatyti M0 ir M1 kaiščius į AUKŠTĄ arba ŽEMĄ, kad gautumėte išsamią konfigūraciją, o jei neprijungsite AUX, biblioteka nustatys pagrįstą atidėjimą kad operacija baigta.
AUX kaištis
Kai perduodami duomenys gali būti naudojami pažadinti išorinį MCU ir grįžti HIGH po duomenų perdavimo pabaigos.
Kai AUX gaunamas žemas ir grįžta HIGH, kai buferis yra tuščias.
Jis taip pat naudojamas savikontrolei, kad būtų atkurtas normalus veikimas (įjungus ir miego/programos režimu).
4 žingsnis: visiškai prijungta schema Esp8266
esp8266 ryšio schema yra paprastesnė, nes ji veikia esant vienodai loginės komunikacijos įtampai (3.3v).
Norint gauti gerą stabilumą, svarbu pridėti ištraukiamąjį rezistorių (4, 7Kohm).
5 veiksmas: visiškai prijungta „Arduino“schema
„Arduino“darbinė įtampa yra 5 V, todėl, norėdami išvengti žalos, turime pridėti įtampos skirstytuvą prie „LoRa“modulio RX kaiščio M0 ir M1, daugiau informacijos rasite čia. Įtampos skirstytuvas: skaičiuotuvas ir programa.
Galite naudoti 2Kohm rezistorių GND ir 1Km nuo signalo, nei sudėti į RX.
6 žingsnis: biblioteka: konstruktorius
Aš sukūriau gana daug konstruktorių, nes galime turėti daugiau galimybių ir situacijų, kurias galime valdyti.
LoRa_E32 (baitas rxPin, baitas txPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (baitas rxPin, baitas txPin, baitas auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600); LoRa_E32 (baitas rxPin, baitas txPin, baitas auxPin, baitas m0Pin, baitas m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Pirmasis konstruktorių rinkinys yra sukurtas, kad serijinių ir kitų kaiščių valdymas būtų perduotas bibliotekai.
„rxPin“ir „txPin“yra jungtis prie UART ir jie yra privalomi.
„auxPin“yra smeigtukas, kuris tikrina veikimą, perdavimą ir priėmimą (toliau paaiškinsime geriau), tas kaištis Tai nėra privaloma, jei nenustatysite jos, aš uždelsiu, kad operacija būtų užbaigta (su vėlavimu).
„m0pin“ir „m1Pin“yra kaiščiai, skirti keisti režimą MODE (žr. lentelės viršuje), manau, kad šie „gamybos“kaiščiai bus tiesiogiai sujungti HIGH arba LOW, tačiau bandymui juos naudinga valdyti bibliotekai.
„bpsRate“yra „SoftwareSerial“budratas, paprastai yra 9600 (vienintelė duomenų perdavimo sparta programmin/miego režimu)
Paprastas pavyzdys yra
#include "LoRa_E32.h" LoRa_E32 e32ttl100 (2, 3); // RX, TX // LoRa_E32 e32ttl100 (2, 3, 5, 6, 7); // RX, TX
Mes galime tiesiogiai naudoti „SoftwareSerial“su kitu konstruktoriumi
„LoRa_E32“(„HardwareSerial*“serija, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 („HardwareSerial*“serija, baitas auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 („HardwareSerial*“serija, baitas auxPin, baitas m0Pin, baitas m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Viršutinis šio konstruktoriaus pavyzdys gali būti padarytas taip.
#include #include "LoRa_E32.h"
SoftwareSerial mySerial (2, 3); // RX, TX
LoRa_E32 e32ttl100 (& mySerial);
// LoRa_E32 e32ttl100 (& mySerial, 5, 7, 6);
Paskutinis konstruktoriaus rinkinys yra leisti naudoti „HardwareSerial“, o ne „SoftwareSerial“.
„LoRa_E32“(„SoftwareSerial*“serija, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 („SoftwareSerial*“serija, baitas auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 („SoftwareSerial*“serija, baitas auxPin, baitas m0Pin, baitas m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
7 žingsnis: pradėkite
Pradėti komanda naudojama paleisti seriją ir kaiščius įvesties ir išvesties režimu.
void begin ();
vykdant yra
// Paleiskite visus kaiščius ir UART
e32ttl100.begin ();
8 veiksmas: konfigūravimas ir informacijos metodas
Yra metodų rinkinys, skirtas valdyti konfigūraciją ir gauti informaciją apie įrenginį.
ResponseStructContainer getConfiguration ();
„ResponseStatus setConfiguration“(konfigūracijos konfigūracija, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
ResponseStructContainer getModuleInformation ();
void printParameters (struktūros konfigūracijos konfigūracija);
ResponseStatus resetModule ();
9 veiksmas: atsako talpykla
Kad supaprastintumėte atsakymo valdymą, sukuriu sudėtinių rodinių rinkinį, kuris man labai naudingas klaidoms valdyti ir bendriems duomenims grąžinti.
„ResponseStatus“
Tai būsenos talpykla ir turi 2 paprastus įėjimo taškus, su kuriais galite gauti būsenos kodą ir būsenos kodo aprašymą
Serial.println (c.getResponseDescription ()); // Kodo aprašymas
Serial.println (c.code); // 1 jei sėkmė
Kodas yra
SĖKMĖ = 1, ERR_UNKNOWN, 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“
Šis sudėtinis rodinys sukurtas valdyti eilutės atsaką ir turi 2 įėjimo taškus.
duomenys su eilute grąžinami iš pranešimo ir būsenos „RepsonseStatus“egzempliorius.
ResponseContainer rs = e32ttl.receptMessage ();
Eilutės pranešimas = rs.data;
Serial.println (rs.status.getResponseDescription ());
Serial.println (pranešimas);
„ResponseStructContainer“
Tai sudėtingesnis konteineris, aš jį naudoju struktūrai valdyti. Jis turi tą patį „ResponseContainer“įėjimo tašką, tačiau duomenys yra tuštumos žymeklis sudėtingai struktūrai valdyti.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Svarbu gauti konfigūracijos žymeklį prieš visas kitas operacijas
Konfigūracijos konfigūracija = *(Konfigūracija *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
getConfiguration ir setConfiguration
Pirmasis metodas yra „getConfiguration“, kurį galite naudoti norėdami atkurti visus įrenginyje saugomus duomenis.
ResponseStructContainer getConfiguration ();
Štai naudojimo pavyzdys.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Svarbu gauti konfigūracijos žymeklį prieš visas kitas operacijas
Konfigūracijos konfigūracija = *(Konfigūracija *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
Serial.println (configuration. SPED.getUARTBaudRate ());
Konfigūracijos struktūroje yra visi nustatymų duomenys, ir aš pridedu funkcijų seriją, kad gaučiau visų atskirų duomenų aprašymą.
konfigūracija. ADDL = 0x0; // Pirmoji adreso konfigūracijos dalis. ADDH = 0x1; // Antroji adreso konfigūracijos dalis. CHAN = 0x19; // Kanalo konfigūracija. OPTION.fec = FEC_0_OFF; // Persiųsti klaidų taisymo jungiklio konfigūraciją. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; // Perdavimo režimo konfigūracija. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; // Pull-up valdymo konfigūracija. OPTION.transmissionPower = POWER_17; // dBm perdavimo galios konfigūracija. OPTION.wirelessWakeupTime = WAKE_UP_1250; // Palaukite pabudimo konfigūracijos laiką. SPED.airDataRate = AIR_DATA_RATE_011_48; // Oro duomenų perdavimo greičio konfigūracija. SPED.uartBaudRate = UART_BPS_115200; // Ryšio perdavimo spartos konfigūracija. SPED.uartParity = MODE_00_8N1; // Paritetas
Turite lygiavertę funkciją visiems atributams, kad gautumėte visą aprašymą:
Serial.print (F ("Chan:")); Serial.print (konfigūracija. 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 (configuration. OPTION.fixedTransmission, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFixedTransmissionDescription ()); Serial.print (F ("OptionPullup:")); Serial.print (configuration. OPTION.ioDriveMode, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getIODroveModeDescription ()); Serial.print (F ("OptionWakeup:")); Serial.print (configuration. OPTION.wirelessWakeupTime, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getWirelessWakeUPTimeDescription ()); Serial.print (F ("OptionFEC:")); Serial.print (configuration. OPTION.fec, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getFECDescription ()); Serial.print (F ("OptionPower:")); Serial.print (configuration. OPTION.transmissionPower, BIN); Serial.print (" ->"); Serial.println (configuration. OPTION.getTransmissionPowerDescription ());
Tuo pačiu būdu setConfiguration nori konfigūracijos struktūros, todėl manau, kad geriausias būdas valdyti konfigūraciją yra nuskaityti esamą, pritaikyti vienintelį reikalingą pakeitimą ir jį nustatyti iš naujo.
„ResponseStatus setConfiguration“(konfigūracijos konfigūracija, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
Konfigūracija yra iš anksto parodyta, „SaveType“leidžia jums pasirinkti, ar pakeitimas visam laikui bus taikomas tik dabartinei sesijai.
„ResponseStructContainer“c; c = e32ttl100.getConfiguration (); // Svarbu gauti konfigūracijos žymeklį prieš visas kitas operacijas Configuration configuration = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigūracija); konfigūracija. ADDL = 0x0; konfigūracija. ADDH = 0x1; konfigūracija. CHAN = 0x19; configuration. OPTION.fec = FEC_0_OFF; configuration. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; configuration. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; configuration. OPTION.transmissionPower = POWER_17; configuration. OPTION.wirelessWakeupTime = WAKE_UP_1250; configuration. SPED.airDataRate = AIR_DATA_RATE_011_48; configuration. SPED.uartBaudRate = UART_BPS_115200; configuration. SPED.uartParity = MODE_00_8N1; // Nustatyta konfigūracija pakeista ir nenurodyta konfigūracija ResponseStatus rs = e32ttl100.setConfiguration (konfigūracija, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (konfigūracija);
Visi parametrai valdomi kaip pastovūs:
10 veiksmas: pagrindinė konfigūracijos parinktis
11 veiksmas: siųskite gavimo pranešimą
Pirmiausia turime pristatyti paprastą, bet naudingą metodą, kaip patikrinti, ar kažkas yra priimančiame buferyje
int prieinamas ();
Tiesiog grąžinkite, kiek baitų turite dabartiniame sraute.
12 veiksmas: įprastas perdavimo režimas
Įprastas/skaidrus perdavimo režimas naudojamas pranešimams siųsti į visus įrenginius tuo pačiu adresu ir kanalu.
Yra daug būdų siųsti/gauti pranešimą, mes išsamiai paaiškinsime:
„ResponseStatus“sendMessage (const eilutės pranešimas);
ResponseContainer ReceiveMessage ();
Pirmasis metodas yra sendMessage ir naudojamas eilutei siųsti į įrenginį įprastu režimu.
ResponseStatus rs = e32ttl.sendMessage ("Prova"); Serial.println (rs.getResponseDescription ());
Kitas įrenginys tiesiog atlieka kilpą
if (e32ttl.available ()> 1) {ResponseContainer rs = e32ttl.receptMessage (); Eilutės pranešimas = rs.data; // Pirmą kartą gaukite duomenis Serial.println (rs.status.getResponseDescription ()); Serial.println (pranešimas); }
13 žingsnis: valdykite struktūrą
Jei norite išsiųsti sudėtingą struktūrą, galite naudoti šį metodą
ResponseStatus sendMessage (const void *message, const uint8_t size); ResponseStructContainer ReceiveMessage (const uint8_t size);
Jis naudojamas norint siųsti „strucutre“, pavyzdžiui:
struktura Messaggione {char tipas [5]; char pranešimas [8]; bool mitico; }; struktura Messaggione messaggione = {"TEMP", "Peple", tiesa}; ResponseStatus rs = e32ttl.sendMessage (& messaggione, sizeof (Messaggione)); Serial.println (rs.getResponseDescription ());
o kitoje pusėje galite priimti pranešimą taip
ResponseStructContainer rsc = e32ttl.receptMessage (sizeof (Messaggione)); struk Messaggione messaggione = *(Messaggione *) rsc.data; Serial.println (messaggione.message); Serial.println (messaggione.mitico);
Skaitykite dalinę struktūrą
Jei norite perskaityti pirmąją pranešimo dalį ir valdyti daugiau tipų šablonų, galite naudoti šį metodą.
ResponseContainer ReceiveInitialMessage (const uint8_t size);
Sukuriu jį, kad gaučiau eilutę, kurios tipas ar kitas nurodytų įkeltiną struktūrą.
structure Messaggione {// Dalinis strucutre be rašomosios žinutės [8]; bool mitico; }; char tipas [5]; // pirmoji struktūros dalis ResponseContainer rs = e32ttl.receptInitialMessage (sizeof (type)); // Įdėkite eilutę į char masyvą (nereikia) memcpy (type, rs.data.c_str (), sizeof (type)); Serial.println ("SKAITYTI TIPĄ:"); Serial.println (rs.status.getResponseDescription ()); Serial.println (tipas); // Skaityti likusią struktūros dalį ResponseStructContainer rsc = e32ttl.receptMessage (sizeof („Messaggione“)); struktura Messaggione messaggione = *(Messaggione *) rsc.data;
14 žingsnis: Fiksuotas režimas vietoj įprasto režimo
Tuo pačiu būdu sukuriu metodų rinkinį, kurį reikia naudoti su fiksuotu perdavimu
Fiksuota transmisija
Turite pakeisti tik siuntimo būdą, nes paskirties įrenginys negauna preambulės su adreso ir kanalo quando settato arba fiksuotu režimu.
Taigi String žinutei
ResponseStatus sendFixedMessage (baitas ADDL, baitas ADDH, baitas CHAN, const eilutės pranešimas); ResponseStatus sendBroadcastFixedMessage (baitas CHAN, const eilutės pranešimas);
ir dėl jūsų turimos struktūros
ResponseStatus sendFixedMessage (baitas ADDL, baitas ADDH, baitas CHAN, const void *pranešimas, const uint8_t dydis); ResponseStatus sendBroadcastFixedMessage (baitas CHAN, const void *pranešimas, const uint8_t dydis);
Štai paprastas pavyzdys
ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, & messaggione, sizeof (Messaggione)); // ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, "Ciao");
Fiksuotas perdavimas turi daugiau scenarijų
Jei siunčiate į konkretų įrenginį (antrasis scenarijus Fiksuotas perdavimas), turite pridėti ADDL, ADDH ir CHAN, kad tiesiogiai identifikuotumėte.
ResponseStatus rs = e32ttl.sendFixedMessage (2, 2, 0x17, "Pranešimas įrenginiui");
Jei norite išsiųsti pranešimą visiems nurodyto kanalo įrenginiams, galite naudoti šį metodą.
ResponseStatus rs = e32ttl.sendBroadcastFixedMessage (0x17, "Pranešimas kanalo įrenginiams");
Jei norite gauti visus tinklo pranešimus, turite nustatyti ADDH ir ADDL naudodami BROADCAST_ADDRESS.
„ResponseStructContainer“c; c = e32ttl100.getConfiguration (); // Svarbu gauti konfigūracijos žymeklį prieš visas kitas operacijas Configuration configuration = *(Configuration *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); printParameters (konfigūracija); configuration. ADDL = BROADCAST_ADDRESS; konfigūracija. ADDH = BROADCAST_ADDRESS; // Nustatyta konfigūracija pakeista ir nenurodyta konfigūracija ResponseStatus rs = e32ttl100.setConfiguration (konfigūracija, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); printParameters (konfigūracija);
15 žingsnis: ačiū
Dabar jūs turite visą informaciją savo darbui atlikti, bet manau, kad svarbu parodyti keletą realių pavyzdžių, kad geriau suprastumėte visas galimybes.
- „LoRa E32“įrenginys, skirtas „Arduino“, esp32 arba esp8266: nustatymai ir pagrindinis naudojimas
- „LoRa E32“įrenginys, skirtas „Arduino“, esp32 arba esp8266: biblioteka
- „LoRa E32“įrenginys, skirtas „Arduino“, esp32 arba esp8266: konfigūracija
- „LoRa E32“įrenginys, skirtas „Arduino“, esp32 arba esp8266: fiksuota transmisija
- „LoRa E32“įrenginys, skirtas „Arduino“, esp32 arba esp8266: energijos taupymas ir struktūrinių duomenų siuntimas
Rekomenduojamas:
Belaidis šifruotas ryšys „Arduino“: 5 žingsniai
Belaidis šifruotas ryšys Arduino: Sveiki visi! Šiame antrame straipsnyje aš jums paaiškinsiu, kaip naudoti lustą „Atecc608a“belaidžiam ryšiui apsaugoti. Tam aš naudosiu NRF24L01+ belaidžio ryšio daliai ir „Arduino UNO“. Mikročetą ATECC608A sukūrė
Didelis nuotolis, 1,8 km, nuo Arduino iki Arduino belaidis ryšys su HC-12: 6 žingsniai (su nuotraukomis)
Didelis nuotolis, 1,8 km, nuo Arduino iki Arduino belaidis ryšys su HC-12: Šioje instrukcijoje sužinosite, kaip bendrauti tarp „Arduinos“dideliu atstumu iki 1,8 km lauke. HC-12 yra belaidis nuoseklusis prievadas komunikacijos modulis, kuris yra labai naudingas, labai galingas ir paprastas naudoti. Pirmiausia sužinosite
Belaidis ryšys naudojant „NRF24L01“siųstuvo -imtuvo modulį „Arduino“projektams: 5 žingsniai (su paveikslėliais)
Belaidis ryšys naudojant „NRF24L01“siųstuvo-imtuvo modulį „Arduino“projektams: tai yra mano antroji pamokoma pamoka apie robotus ir mikrovaldiklius. Tikrai nuostabu matyti jūsų robotą gyvą ir veikiantį taip, kaip tikėtasi, ir patikėkite manimi, kad bus smagiau, jei valdysite savo robotą ar kitus dalykus belaidžiu ryšiu greitai ir
Nulaužkite pelę su Arduino. 2500 Ft belaidis ryšys. PS/2: 5 žingsniai
Nulaužkite pelę su Arduino. 2500 Ft belaidis ryšys. PS/2: Šioje instrukcijoje parodysiu, kaip nulaužti pelę, kad galėtumėte ją naudoti kaip LED, variklių, belaidžių programų ir pan. Valdiklį. Ši pamoka apims peles, turinčias vielą. Dauguma šių pelių naudoja PS/2 protokolą. Sąranka
Nuo 1A iki 40A dabartinis BOOST keitiklis iki 1000 W nuolatinės srovės varikliui: 3 žingsniai
Nuo 1A iki 40A dabartinis BOOST keitiklis iki 1000 W nuolatinės srovės varikliui: Sveiki! Šiame vaizdo įraše sužinosite, kaip sukurti srovės stiprintuvo grandinę, skirtą didelės galios nuolatinės srovės varikliams iki 1000 W ir 40 amperų su tranzistoriais ir centrinio čiaupo transformatoriumi. srovė išėjime yra labai didelė, bet įtampa bus r