Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Maktaba
- Hatua ya 2: pinout
- Hatua ya 3: AUX Pin
- Hatua ya 4: Schema Esp8266 iliyounganishwa kikamilifu
- Hatua ya 5: Schema Arduino iliyounganishwa kikamilifu
- Hatua ya 6: Maktaba: Mjenzi
- Hatua ya 7: Anza
- Hatua ya 8: Usanidi na Njia ya Habari
- Hatua ya 9: Chombo cha majibu
- Hatua ya 10: Chaguo la Usanidi wa Msingi
- Hatua ya 11: Tuma Pokea Ujumbe
- Hatua ya 12: Njia ya Maambukizi ya Kawaida
- Hatua ya 13: Simamia Muundo
- Hatua ya 14: Njia iliyosasishwa Badala ya Njia ya Kawaida
- Hatua ya 15: Asante
Video: LoRa 3Km hadi 8Km Mawasiliano isiyo na waya na Gharama ya chini E32 (sx1278 / sx1276) Kifaa cha Arduino, Esp8266 au Esp32: 15 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Ninaunda maktaba ya kusimamia EBYTE E32 kulingana na safu ya Semtech ya kifaa cha LoRa, yenye nguvu sana, kifaa rahisi na cha bei rahisi.
Unaweza kupata toleo la 3Km hapa, toleo la 8Km hapa
Wanaweza kufanya kazi kwa umbali wa 3000m hadi 8000m, na wana huduma na vigezo vingi. Kwa hivyo ninaunda maktaba hii ili kurahisisha matumizi.
Ni suluhisho la kupata data kutoka kwa sensorer za mji mkuu au kudhibiti drone.
Vifaa
Arduino UNO
Wemos D1 mini
Toleo la LoRa E32 TTL 100 3Km
Toleo la LoRa E32 TTL 1W 8Km
Hatua ya 1: Maktaba
Unaweza kupata maktaba yangu hapa.
Ili kupakua.
Bonyeza kitufe cha DOWNLOADS kwenye kona ya juu kulia, ipatie jina tena folda isiyoshinikizwa ya LoRa_E32.
Angalia kama folda ya LoRa_E32 ina LoRa_E32.cpp na LoRa_E32.h.
Weka folda ya maktaba ya LoRa_E32 yako / maktaba / folda. Unaweza kuhitaji kuunda folda ndogo ya maktaba ikiwa ni maktaba yako ya kwanza.
Anzisha tena IDE.
Hatua ya 2: pinout
Kama unaweza kuona unaweza kuweka njia anuwai kupitia pini za M0 na M1.
Kuna pini ambazo zinaweza kutumika kwa njia tuli, lakini Ukiiunganisha kwa microcontroller na usanidi kwenye maktaba unayopata katika utendaji na unaweza kudhibiti hali zote kupitia programu, lakini tutaelezea vizuri zaidi.
Hatua ya 3: AUX Pin
Kama nilivyosema tayari sio muhimu kuunganisha pini zote kwenye pato la microcontroller, unaweza kuweka pini za M0 na M1 kwa HIGH au LOW kupata usanidi uliopangwa, na ikiwa hautaunganisha AUX maktaba iliweka ucheleweshaji mzuri ili kuwa na uhakika kwamba operesheni imekamilika.
Pini ya AUX
Wakati wa kupeleka data inaweza kutumika kuamsha MCU ya nje na kurudi Juu kwenye kumaliza uhamishaji wa data.
Wakati wa kupokea AUX kwenda CHINI na kurudi Juu wakati bafa haina kitu.
Inatumika pia kwa kukagua kibinafsi ili kurudisha operesheni ya kawaida (kwenye hali ya kuwasha umeme na kulala / mpango).
Hatua ya 4: Schema Esp8266 iliyounganishwa kikamilifu
esp8266 schema ya unganisho ni rahisi zaidi kwa sababu inafanya kazi kwa voltage sawa ya mawasiliano ya kimantiki (3.3v).
Ni muhimu kuongeza kontena la kuvuta (4, 7Kohm) ili kupata utulivu mzuri.
Hatua ya 5: Schema Arduino iliyounganishwa kikamilifu
Voltage ya kazi ya Arduino ni 5v, kwa hivyo tunahitaji kuongeza mgawanyiko wa voltage kwenye RX pin M0 na M1 ya moduli ya LoRa kuzuia uharibifu, unaweza kupata habari zaidi hapa Mgawanyiko wa Voltage: kikokotoo na matumizi.
Unaweza kutumia kipingaji cha 2Kohm kwa GND na 1Kohm kutoka kwa ishara kuliko kuweka pamoja kwenye RX.
Hatua ya 6: Maktaba: Mjenzi
Nilifanya seti ya waundaji kadhaa, kwa sababu tunaweza kuwa na chaguzi zaidi na hali za kusimamia.
LoRa_E32 (byte rxPin, byte txPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (byte rxPin, byte txPin, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600); LoRa_E32 (byte rxPin, byte txPin, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Seti ya kwanza ya wajenzi ni kuunda kukabidhi usimamizi wa pini za siri na zingine kwenye maktaba.
rxPin na txPin ni pini ya kuungana na UART na ni lazima.
auxPin ni pini inayoangalia hali ya operesheni, usafirishaji na upokeaji (tutaelezea vizuri baadaye), pini hiyo sio lazima, ikiwa hautaiweka mimi hutumia kuchelewesha ruhusa ya shughuli kukamilisha yenyewe (na latency).
m0pin na m1Pin ni pini za kubadilisha operesheni ya MODE (tazama jedwali juu), nadhani pini hizi katika "uzalishaji" zitaunganisha moja kwa moja JUU au LOW, lakini kwa jaribio ni muhimu kusimamiwa na maktaba.
bpsRate ni boudrate ya SoftwareSerial kawaida ni 9600 (kiwango pekee cha baud katika hali ya programu / hali ya kulala)
Mfano rahisi ni
# pamoja na "LoRa_E32.h" LoRa_E32 e32ttl100 (2, 3); // RX, TX // LoRa_E32 e32ttl100 (2, 3, 5, 6, 7); // RX, TX
Tunaweza kutumia moja kwa moja SoftwareSerial na mjenzi mwingine
LoRa_E32 (HardwareSerial * serial, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial * serial, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (HardwareSerial * serial, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Mfano wa juu na mjenzi huyu anaweza kufanya kama hivyo.
# pamoja na # pamoja na "LoRa_E32.h"
SoftwareSerial mySerial (2, 3); // RX, TX
LoRa_E32 e32ttl100 (& mySerial);
// LoRa_E32 e32ttl100 (& mySerial, 5, 7, 6);
Seti ya mwisho ya mjenzi ni kuruhusu kutumia HardwareSerial badala ya SoftwareSerial.
LoRa_E32 (SoftwareSerial * serial, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial * serial, byte auxPin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
LoRa_E32 (SoftwareSerial * serial, byte auxPin, byte m0Pin, byte m1Pin, UART_BPS_RATE bpsRate = UART_BPS_RATE_9600);
Hatua ya 7: Anza
Amri ya kuanza hutumiwa kuanzisha Serial na pini katika hali ya kuingiza na kutoa.
tupu kuanza ();
katika utekelezaji ni
// Anzisha pini zote na UART
e32ttl100. anza ();
Hatua ya 8: Usanidi na Njia ya Habari
Kuna seti ya njia za kudhibiti usanidi na kupata habari ya kifaa.
ResponseStructContainer getConfiguration ();
Hali ya kujibu imewekwaUsanidi (Usanidi wa usanidi, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
ResponseStructContainer getModuleInformation ();
uchapishaji batiliParameters (muundo Usanidi wa usanidi);
ResponseStatus resetModule ();
Hatua ya 9: Chombo cha majibu
Ili kurahisisha usimamizi wa jibu ninaunda seti ya kontena, kwangu kwa faida sana kusimamia makosa na kurudisha data ya kawaida.
Hali ya Majibu
Hii ni kontena la hali na ina sehemu 2 rahisi ya kuingia, na hii unaweza kupata nambari ya hali na maelezo ya nambari ya hali
Serial.println (c.getResponseDescription ()); // Maelezo ya nambari
Serial.println (c.code); // 1 ikiwa Mafanikio
Nambari ni
MAFANIKIO = 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
Jibu la Kontena
Chombo hiki kimeundwa kusimamia majibu ya Kamba na kuwa na sehemu 2 ya kuingia.
data na kamba iliyorudishwa kutoka kwa ujumbe na hadhi mfano wa RepsonseStatus.
ResponseContainer rs = e32ttl.receiveMessage ();
Ujumbe wa kamba = rs.data;
Serial.println (rs.status.getResponseDescription ());
Serial.println (ujumbe);
JibuKuundaKontena
Hii ndio kontena "ngumu" zaidi, ninatumia hii kudhibiti muundo, ina sehemu sawa ya kuingia ya ResponseContainer lakini data ni pointer tupu ya kusimamia muundo tata.
MajibuStructContainer c;
c = e32ttl100.getConfiguration (); // Ni muhimu kupata pointer ya usanidi kabla ya shughuli nyingine zote
Usanidi wa usanidi = * (Usanidi *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
pataConfiguration na setConfiguration
Njia ya kwanza ni kupata usanidi, unaweza kuitumia kurudisha data zote zilizohifadhiwa kwenye kifaa.
ResponseStructContainer getConfiguration ();
Hapa ni mfano wa matumizi.
ResponseStructContainer c;
c = e32ttl100.getConfiguration (); // Ni muhimu kupata pointer ya usanidi kabla ya shughuli nyingine zote
Usanidi wa usanidi = * (Usanidi *) c.data;
Serial.println (c.status.getResponseDescription ());
Serial.println (c.status.code);
Serial.println (usanidi. SPED.getUARTBaudRate ());
Muundo wa usanidi una data zote za mipangilio, na ninaongeza safu ya kazi kupata maelezo yote ya data moja.
usanidi. ADDL = 0x0; // Sehemu ya kwanza ya usanidi wa anwani. ADDH = 0x1; // Sehemu ya pili ya usanidi wa anwani. CHAN = 0x19; // Usanidi wa Kituo. OPTION.fec = FEC_0_OFF; // Usanidi wa mbele wa kurekebisha urekebishaji wa makosa. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; // Usanidi wa hali ya usambazaji. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; // Usanidi wa usimamizi wa kuvuta. OPTION.transmissionPower = POWER_17; // usanidi wa umeme wa dBm. OPTION.wirelessWakeupTime = WAKE_UP_1250; // Wakati wa kusubiri usanidi wa kuamka. SPED.airDataRate = AIR_DATA_RATE_011_48; // Usanidi wa kiwango cha data ya hewa. SPED.uartBaudRate = UART_BPS_115200; // Usanidi wa kiwango cha baud ya mawasiliano. SPED.uartParity = MODE_00_8N1; // Usawa kidogo
Una kazi sawa kwa sifa zote kupata maelezo yote:
Printa ya serial (F ("Chan:")); Serial.print (usanidi. CHAN, DEC); Serial.print ("->"); Serial.println (Configuration.getChannelDescription ()); Serial.println (F ("")); Serial.print (F ("SpeedParityBit:")); Serial.print (usanidi. SPED.uartParity, BIN); Serial.print ("->"); Serial.println (usanidi. SPED.getUARTParityDescription ()); Serial.print (F ("SpeedUARTDatte:")); Serial.print (usanidi. SPED.uartBaudRate, BIN); Serial.print ("->"); Serial.println (usanidi. SPED.getUARTBaudRate ()); Serial.print (F ("SpeedAirDataRate:")); Serial.print (usanidi. SPED.airDataRate, BIN); Serial.print ("->"); Serial.println (usanidi. SPED.getAirDataRate ()); Serial.print (F ("ChaguoTrans:")); Serial.print (Configuration. OPTION.fixedTransmission, BIN); Serial.print ("->"); Serial.println (usanidi. OPTION.getFixedTransmissionDescription ()); Serial.print (F ("ChaguoPullup:")); Serial.print (usanidi. OPTION.ioDriveMode, BIN); Serial.print ("->"); Serial.println (usanidi. OPTION.getIODroveModeDescription ()); Serial.print (F ("ChaguoWakeup:")); 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 (usanidi. OPTION.getFECDescription ()); Serial.print (F ("Nguvu ya Chaguo:")); Serial.print (Configuration. OPTION.transmissionPower, BIN); Serial.print ("->"); Serial.println (usanidi. OPTION.getTransmissionPowerDescription ());
Kwa njia ile ile setConfiguration inataka strucutre ya usanidi, kwa hivyo nadhani njia bora ya kudhibiti usanidi ni kupata ile ya sasa, tumia mabadiliko pekee unayohitaji na uiweke tena.
Hali ya kujibu imewekwaUsanidi (Usanidi wa usanidi, PROGRAM_COMMAND saveType = WRITE_CFG_PWR_DWN_LOSE);
usanidi ni onyesho la previsouly, C = e32ttl100.getConfiguration (); ResponseStructContainer c; // Ni muhimu kupata pointer ya usanidi kabla ya usanidi mwingine wote wa usanidi wa usanidi = * (Usanidi *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); PrintParameters (usanidi); usanidi. ADDL = 0x0; usanidi. ADDH = 0x1; usanidi. CHAN = 0x19; usanidi. OPTION.fec = FEC_0_OFF; usanidi. OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION; usanidi. OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; usanidi. OPTION.transmissionPower = POWER_17; usanidi. OPTION.wirelessWakeupTime = WAKE_UP_1250; usanidi. SPED.airDataRate = AIR_DATA_RATE_011_48; usanidi. SPED.uartBaudRate = UART_BPS_115200; usanidi. SPED.uartParity = MODE_00_8N1; // Kuweka usanidi umebadilishwa na kuweka kushikilia usanidi ResponseStatus rs = e32ttl100.setConfiguration (Configuration, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); PrintParameters (usanidi);
Vigezo vyote vinasimamiwa kama kawaida:
Hatua ya 10: Chaguo la Usanidi wa Msingi
Hatua ya 11: Tuma Pokea Ujumbe
Kwanza lazima tuanzishe njia rahisi lakini yenye faida ya kuangalia ikiwa kuna kitu katika bafa ya kupokea
int inapatikana ();
Ni kurudi tu ni kaiti ngapi unazo katika mkondo wa sasa.
Hatua ya 12: Njia ya Maambukizi ya Kawaida
Njia ya kawaida ya uambukizi / uwazi hutumiwa kutuma ujumbe kwa kifaa chochote kilicho na anwani na kituo sawa.
Kuna njia nyingi za kutuma / kupokea ujumbe, tutaelezea kwa undani:
ResponseStatus sendMessage (const String message);
ResponseContainer kupokeaMessage ();
Njia ya kwanza ni kutumaMessage na hutumiwa kutuma Kamba kwenye kifaa kwa hali ya Kawaida.
ResponseStatus rs = e32ttl.sendMessage ("Prova"); Serial.println (rs.getResponseDescription ());
Kifaa kingine hufanya tu kwenye kitanzi
ikiwa (e32ttl haipatikani ()> 1) {ResponseContainer rs = e32ttl.receiveMessage (); Ujumbe wa kamba = rs.data; // Kwanza pata data Serial.println (rs.status.getResponseDescription ()); Serial.println (ujumbe); }
Hatua ya 13: Simamia Muundo
Ikiwa unataka kutuma mkato tata unaweza kutumia njia hii
ResponseStatus sendMessage (const void * message, const uint8_t size); ResponseStructContainer kupokeaMessage (const uint8_t size);
Inatumika kutuma strucutre, kwa mfano:
muundo Messaggione {char aina [5]; ujumbe wa char [8]; mitico ya bool; }; muundo Messaggione messaggione = {"TEMP", "Pilipili", kweli}; ResponseStatus rs = e32ttl.sendMessage (& messaggione, sizeof (Messaggione)); Serial.println (rs.getResponseDescription ());
na upande wa pili unaweza kupokea ujumbe hivyo
ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); muundo Messaggione messaggione = * (Messaggione *) rsc.data; Serial.println (messaggione.message); Serial.println (messaggione.mitico);
Soma sehemu ndogo
Ikiwa unataka kusoma sehemu ya kwanza ya ujumbe ili kudhibiti aina zaidi ya strucutre unaweza kutumia njia hii.
ResponseContainer receiveInitialMessage (const uint8_t size);
Ninaiunda ili ipokee kamba na aina au nyingine kutambua mkato wa kupakia.
muundo Messaggione {// Sehemu ndogo bila ujumbe wa aina [8]; mitico ya bool; }; aina ya char [5]; // sehemu ya kwanza ya muundo ResponseContainer rs = e32ttl.ceceInitialMessage (sizeof (type)); // Weka kamba katika safu ya char (haihitajiki) memcpy (aina, rs.data.c_str (), sizeof (aina)); Serial.println ("SOMA AINA:"); Serial.println (rs.status.getResponseDescription ()); Serial.println (aina); // Soma muundo uliobaki ResponseStructContainer rsc = e32ttl.receiveMessage (sizeof (Messaggione)); muundo Messaggione messaggione = * (Messaggione *) rsc.data;
Hatua ya 14: Njia iliyosasishwa Badala ya Njia ya Kawaida
Vivyo hivyo ninaunda njia ya kutumia na usambazaji wa kudumu
Uhamisho uliowekwa
Unahitaji kubadilisha njia tu ya kutuma, kwa sababu kifaa cha marudio hakipati utangulizi na Anwani na Kituo cha hali ya kudumu.
Kwa hivyo kwa ujumbe wa String unayo
ResponseStatus sendFixedMessage (byte ADDL, byte ADDH, byte CHAN, const String message); ResponseStatus sendBroadcastFixedMessage (baiti CHAN, ujumbe wa Kamba);
na kwa muundo ulio nao
ResponseStatus sendFixedMessage (byte ADDL, byte ADDH, byte CHAN, const void * message, const uint8_t size); ResponseStatus sendBroadcastFixedMessage (byte CHAN, const void * message, const uint8_t size);
Hapa ni mfano rahisi
ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, & messaggione, sizeof (Messaggione)); // ResponseStatus rs = e32ttl.sendFixedMessage (0, 0, 0x17, "Ciao");
Uhamisho wa kudumu una matukio zaidi
Ikiwa utatuma kwa kifaa maalum (matukio ya pili Uhamisho uliowekwa) lazima uongeze ADDL, ADDH na CHAN ili kuitambua moja kwa moja.
ResponseStatus rs = e32ttl.sendFixedMessage (2, 2, 0x17, "Ujumbe kwa kifaa");
Ikiwa unataka kutuma ujumbe kwa kifaa chochote kwenye Kituo maalum unaweza kutumia njia hii.
ResponseStatus rs = e32ttl.sendBroadcastFixedMessage (0x17, "Ujumbe kwa vifaa vya kituo");
Ikiwa unataka kupokea ujumbe wote wa matangazo kwenye mtandao lazima uweke ADDH yako na ADDL na BROADCAST_ADDRESS.
C = e32ttl100.getConfiguration (); ResponseStructContainer c; // Ni muhimu kupata pointer ya usanidi kabla ya usanidi mwingine wote wa usanidi wa usanidi = * (Usanidi *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); PrintParameters (usanidi); usanidi. ADDL = BROADCAST_ADDRESS; usanidi. ADDH = BROADCAST_ADDRESS; // Kuweka usanidi umebadilishwa na kuweka kushikilia usanidi ResponseStatus rs = e32ttl100.setConfiguration (Configuration, WRITE_CFG_PWR_DWN_LOSE); Serial.println (rs.getResponseDescription ()); Serial.println (rs.code); PrintParameters (usanidi);
Hatua ya 15: Asante
Sasa unayo habari yote ya kufanya kazi yako, lakini nadhani ni muhimu kuonyesha mifano halisi ili kutafakari uwezekano wote.
- Kifaa cha LoRa E32 cha Arduino, esp32 au esp8266: mipangilio na matumizi ya kimsingi
- Kifaa cha LoRa E32 cha Arduino, esp32 au esp8266: maktaba
- Kifaa cha LoRa E32 cha Arduino, esp32 au esp8266: usanidi
- Kifaa cha LoRa E32 cha Arduino, esp32 au esp8266: usafirishaji uliowekwa
- Kifaa cha LoRa E32 cha Arduino, esp32 au esp8266: kuokoa nguvu na kutuma data iliyopangwa
Ilipendekeza:
Nguvu isiyo na waya isiyo na waya kutoka kwa NYWELE: Hatua 4 (na Picha)
Nguvu isiyokuwa na waya isiyo na waya kutoka kwa NYWELE: Leo ningependa kushiriki jinsi ya kuwasha taa za umeme kwa njia ya umeme bila waya kutoka kwa chaja ya mswaki na koili za vali za solenoid ambazo zilichukuliwa kutoka kwa scrapyard. Kabla ya kuanza, tafadhali angalia video hapa chini:
Kufanya Gharama isiyo na gharama kubwa iliyovunjika / iliyochanwa / iliyochanwa / iliyoyeyushwa / iliyounganishwa / Chombo cha Kuondoa Uzio wa Spark: 3 Hatua
Kufanya kifaa cha gharama nafuu kilichovunjika / kilichopasuliwa / kilichopigwa / kilichoyeyushwa / kilichounganishwa / Chombo cha Kuondoa Boot. Kwa wewe DIYers inayofanya kazi kwenye gari lako mwenyewe, hakuna kitu kama kuchukua nafasi ya cheche yako
Dupin - Gharama ya kiwango cha chini cha bei ya chini inayosafirishwa ya Chanzo cha Nuru: Mbinu 11
Dupin - Chanzo cha Mwangaza cha mawimbi ya mawimbi ya kiwango cha chini cha bei ya chini: Iliyopewa jina la Auguste Dupin, anayechukuliwa kuwa mpelelezi wa kwanza wa uwongo, chanzo hiki cha taa nyepesi huendesha chaja yoyote ya 5V ya USB au pakiti ya umeme. Kila kichwa cha kichwa cha LED kwenye sumaku. Kutumia viongozo vya nyota 3W vya bei ya chini, kilichopozwa kikamilifu na shabiki mdogo,
Masafa marefu, 1.8km, Arduino kwa Mawasiliano ya Arduino isiyo na waya na HC-12: Hatua 6 (na Picha)
Masafa marefu, 1.8km, Arduino kwa Mawasiliano ya Wavu ya Arduino na HC-12: Katika mafunzo haya utajifunza jinsi ya kuwasiliana kati ya Arduinos kwa umbali mrefu hadi 1.8km kwa hewa wazi. moduli ya mawasiliano ambayo ni muhimu sana, yenye nguvu sana na rahisi kutumia. Kwanza utaacha
Nguvu isiyo na waya isiyo na waya: Hatua 9 (na Picha)
Nguvu isiyo na waya ya kiwango cha juu: Jenga mfumo wa Usambazaji wa Nguvu isiyo na waya ambao unaweza kuwasha balbu ya taa au kuchaji simu kutoka hadi futi 2 mbali! Hii hutumia mfumo wa coil resonant kupeleka uwanja wa sumaku kutoka kwa coil inayopitisha hadi kwenye coil inayopokea. Tulitumia hii kama onyesho wakati wa