Pūnaehana hōʻiliʻili ʻikepili kūʻokoʻa kūloko

Ua kūʻai ka hui i nā pou kiaʻi NEKST-M, i hana ʻia ma ka home e Next Technologies. No ka hōʻoia ʻana i ka ʻike ʻana i ka hana o nā ʻāpana pumping,
ke ahi a me ka palekana, ka hiki ʻana mai o ka volta ma nā hoʻomaka, ka lumi wela, ka pae wai pilikia. ʻO ka puʻuwai o NEKST-M ʻo ATMEGA 1280 a ʻo kēia ʻoiaʻiʻo e paipai nei i nā ʻōlelo o ka hiki ke hana i kāu pahu ponoʻī no nā pono kikoʻī.

Ua hoʻonohonoho ʻia ka hana e hana i kahi ʻōnaehana hoʻouna kūloko kūʻokoʻa piha no nā pono kikoʻī i ka manawa pōkole loa a me ka uku liʻiliʻi. ʻO ke kumu he microcontroller. Hoʻomohala, hana, hana ʻia e nā limahana ponoʻī.

Pono e hana ka ʻōnaehana me ka ʻole o ka hilinaʻi ʻana i nā pūnaewele kelepona, nā kikowaena, ka Pūnaewele a me ka ʻōnaehana laikini no ka hoʻohana ʻana i nā kumuwaiwai radio frequency, ʻaʻole hoʻohana i nā kamepiula i ka hana o ka ʻōnaehana nānā a me ka hoʻokele a i ʻole, ʻoi aku ka nui, e hoʻohana i nā kamepiula i kēlā me kēia manawa, me ke komo ʻole nā mea no ka manawa lōʻihi (6-9 mahina). ʻO ka hoʻonohonoho pūnaewele he ʻano radial. ʻOhi ʻia ka ʻikepili i hoʻokahi manawa a laila hoʻouna ʻia no ka hana ʻana ma o nā ala kamaʻilio maʻamau a i ʻole he kope paʻa.

Pono ka ʻōnaehana e hāʻawi:

  • ka nānā ʻana i ka hana ʻana o nā ʻāpana pahū
  • ʻenehana ʻenehana
  • palekana mai nā hopena o nā kūlana pilikia
  • hōʻailona pilikia
  • helu manawa hana
  • ka helu ʻana i ka nui o ka uila i hoʻopau ʻia
  • mea hoʻomalu wela
  • ka palekana a me ke ahi ahi
  • ka hoʻopaʻa ʻana i ka ʻike mamao
  • ʻike ʻole ʻia nā koi e hiki mai ana

Kūlana hana:

  • wahi uhi 1 sq. km.
  • ʻike pololei ma waena o nā mea
  • ka mahana mai +50 a -50 C
  • humidity a hiki i 100%
  • nā waihona hoʻolaolaola (mold, sulfate-reducing bacteria)
  • haʻalulu, ʻaʻohe mea hou, o nā mīkini o nā papa 1-2 e like me GOST ISO 10816-1-97
  • kaiapuni electromagnetic - ke hoʻololi ʻana i nā kaʻa uila me nā mea hoʻopili KT 6053, nā mea hoʻomaka palupalu ʻo RVS-DN, SIEMENS MICROMASTER PID mea hoʻomalu, radiation i ka ISM a me GSM e like me nā koi no kēia mau mea hana, manual arc welding ma ka pūnaewele
  • ʻoi aku ka nui o ka uila uila, nā manawa pōkole o ka lako mana, ka uila overvoltages, ke kaulike ʻole o ka manawa i ka wā e haki ai kahi uea ma luna o ka laina 6-10 kV.

ʻOiai nā koi koʻikoʻi, maʻalahi ka hoʻokō ʻana i ka hoʻoponopono ʻana i ka pilikia i kēlā me kēia pae.

I ka noʻonoʻo ʻana i nā mea āpau, ua lilo ka papa "Arduino Nano 3.0" i "lolo" o ka hoʻolālā. ʻO ka papa robotdyn he mea hoʻoponopono ATMEGA 328, ka mea pono 3,3V voltage stabilizer no
i kēia manawa 800 mA a me ka mea hoʻololi i CH340G UART-USB.

ʻO ka mea mua, ua hoʻokumu ʻia nā helu helu ʻoihana e like me nā mea hou loa. ʻO nā mika ʻoihana i hoʻohana mua ʻia i hui ʻia ma nā PIC me kahi kaapuni mana transformerless i hāʻule ma muli o ka piʻi ʻana o ka uila i loko o hoʻokahi makahiki o ka hana. ʻO nā mea i hoʻopili wale ʻia me ka hoʻohana ʻana i nā lako mana 5V homemade i paʻa. No ka wikiwiki o ka hoʻouka ʻana a me ka versatility o ka pilina, lawe ʻia kahi hōʻailona e pili ana i ke kūlana o nā ʻāpana mai nā hopena o nā mea hoʻololi, i.e. ka hoʻopaʻa inoa ʻana o ka hiki ʻana mai o ka 1st phase voltage me kahi lako mana ʻekolu o 380V. No ka hui pū ʻana me ka mea hoʻoponopono, hoʻohana ʻia kahi relay waena me kahi wili 220V a i ʻole kahi optocoupler i haku ʻia me kahi LED a me kahi photoresistor GL5516 a i ʻole PC817 optocoupler. Ua hoʻāʻo ʻia nā koho a pau. Hoʻohana ʻia ka LED e ka uila i hoʻoponopono ʻia me ka palena o kēia manawa me ka hoʻohana ʻana i ʻelua capacitors SVV22 i hoʻolālā ʻia no ka volta o 630V i hoʻopili ʻia i ka moʻo no ka palekana i ka wā o ka hoʻāʻo ʻana i nā kaapuni me ka megohmmeter.
Heluhelu i ka heluhelu manawa hana me ka pale ST7735S LCD, hoʻouna ʻikepili manawa maoli ma o ka lekiō e hoʻohana ana i ka module E01-ML01DP05 ma ke alapine o 2,4 MHz. Loaʻa i kēia hāmeʻa ka nRF24L01+ chip a me ka RFX2401C transmit / loaʻa amplifier,
ka mana puka a hiki i ka 100 mW. Hoʻolālā ʻia nā antenna Helical no ka pae i makemake ʻia ma ka helu helu pūnaewele kahua pūnaewele. Hoʻoholo ʻia ke koho ʻana o ke ʻano antenna e ka haʻalele ʻana i ka loaʻa ʻana o nā nalu i hoʻohālikelike ʻia mai nā hale metala a puni. Pai ʻia nā ʻāpana Antenna ma kahi paʻi 3D. ʻO ke kūlana o kēia manawa o nā helu helu i mālama ʻia i ka EEPROM o ka mea hoʻoponopono ponoʻī a hoʻihoʻi ʻia i ka wā o ka pau ʻole o ka mana. Hāʻawi ʻia nā manawa manawa no ka helu ʻana e ka RTC chip DS3231 ma ke ʻano o kahi module me kahi pākaukau hoʻihoʻi. Hoʻohana ka mana mana i nā modula 3, ke kumu pulse maoli 220/5V HLK-PM01 600mA, kahi mea hoʻololi mai 1-5V a i 5V HW-553 и 03962A - hoʻoponopono pākaukau me papahana ka pale ʻana i ke kaapuni pōkole, overdischarge a overcharge. Ua kūʻai ʻia nā mea āpau ma ka pūnaewele Aliexpress.

Papa palaoaPūnaehana hōʻiliʻili ʻikepili kūʻokoʻa kūloko
4-kanal counter. Aia nā kānana LC ma nā mea hoʻokomo e pale aku i ka hoʻopilikia ʻana ma luna o kahi laina kamaʻilio pālua. Heluhelu mau ʻia nā ʻikepili i ke kūlana o nā mea hoʻomalu i hoʻokahi manawa i kēlā me kēia kekona a hōʻike ʻia i ke kala ma ka LCD. Hoʻopili ʻia nā heluhelu a hoʻopaʻa ʻia i ka hoʻomanaʻo non-volatile i kēlā me kēia 1 kekona. ʻO 36 kekona he 36/1 o ka hola, ʻo ia ke ʻano i koi ʻia ai ka ʻikepili. ʻO kēlā me kēia 100 kekona. hoʻouna ʻia ka ʻike e pili ana i ka helu o kekona o ka hana no kēlā me kēia ʻāpana mana. Loaʻa i ka hoʻomanaʻo EEPROM ka helu palena o nā pōʻai holoi kākau, e like me ka mea hana, 12 mau manawa. ʻO ka koho maikaʻi loa ke hoʻonui mau ʻia ka liʻiliʻi o hoʻokahi kelepona. ʻO ka nui o ka helu helu 100000 he 1 bytes, he helu ʻano lōʻihi kēia, 4 helu helu, he 4 paita ka nui o ka helu hoʻokahi. ʻO ka lōʻihi o ka hoʻomanaʻo ʻana o ka chip he 16 bytes; ma hope o nā helu 1024 o nā helu helu 64, e hoʻomaka hou ka hoʻopaʻa ʻana. I loko o ka waihona EEPROM, ʻaʻole kākau ke ʻano EEPROM.put; inā pili ka waiwai o ke kelepona a me ka ʻike i kākau ʻia, ʻaʻole e hōʻino ʻia nā cell. ʻO ka hopena, ʻoi aku ka manawa o ka hoʻomanaʻo hoʻomanaʻo ʻana ma mua o 4 mau makahiki. ʻOi aku ka lōʻihi o ka manawa o ka hana hiki akā ʻaʻole i hoʻopaʻa ʻia.

Kiʻi kaapuniPūnaehana hōʻiliʻili ʻikepili kūʻokoʻa kūloko
Papahana ma Arduino IDE//12 bytes (328%)

#hoʻokomo // Hale waihona kiʻi kumu
#hoʻokomo // Hale waihona puke lako lako
# komo pū
#hoʻokomo
# komo pū
#hoʻokomo
#hoʻokomo
Lekiō RF24(9, 10); // mea lekiō no ka hana ʻana me ka waihona RF24,
// a me nā helu pine nRF24L01+ (CE, CSN)
#hoʻokomo
DS3231 rtc(SDA, SCL);
Manawa t;

//#define TFT_CS 10
#define TFT_CS 8
#define TFT_RST -1 // hiki iā ʻoe ke hoʻohui i kēia i ka hoʻonohonoho Arduino
// i kēia hihia, e hoʻonoho i kēia pine #define i -1!
//#define TFT_DC 9 // DC=RS=A0 - nā koho koho no ke koho ʻana i ke kauoha a i ʻole ka papa inoa ʻikepili.
#define TFT_DC 3

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

// Koho 2: e hoʻohana i nā pine akā lohi iki!
#define TFT_SCLK 13 // hoʻonoho i kēia i nā pine āu e makemake ai!
#define TFT_MOSI 11 // hoʻonoho i kēia i nā pine āu e makemake ai!
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
#hoʻokomo

hoʻololi paʻa = 52;
byte pinState;
ʻO ka pauma lōʻihi ʻole i kau inoa ʻia [4]; // array me 4 kekona helu helu
lana m = 3600.0;
helu helu inoa ʻole ʻia = 0;
int rc;// hoʻololi no nā helu helu
ʻaʻole i kaulima ʻia ka sumprim lōʻihi = 0;
ka lōʻihi sumsec = 0;
paita i = 0;
byte k = 34;
i kakauinoa ole int z = 0;
byte b = B00000001;
byte pumrcounter[4]; // pūʻulu no ka mālama ʻana i nā kūlana mea, 1 - off, 0 - on.
int hoʻomaka = 0; //

hakahaka hoʻonohonoho () {

rtc.begin();
radio.begin(); // Hoʻomaka i ka hana nRF24L01+
radio.setChannel(120); // kaila ʻikepili (mai 0 a 127).
radio.setDataRate(RF24_250KBPS); // helu hoʻoili ʻikepili (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS).
radio.setPALevel(RF24_PA_MAX); // mana transmitter (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm,
// RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.openWritingPipe(0xAABBCCDD11LL); // Wehe i kahi paipu me kahi mea hōʻike no ka hoʻoili ʻikepili

// No ka hoʻonohonoho ʻana i ka manawa, wehe i nā laina pono
//rtc.setDOW(1); // La o ka pule
//rtc.setTime(21, 20, 0); // Manawa, ma ke ano he 24 hora.
//rtc.setDate(29, 10, 2018); // Ka lā, ʻOkakopa 29, 2018

tft.initR(INITR_BLACKTAB); // hoʻomaka i kahi chip ST7735S, ʻeleʻele ʻaoʻao
// E hoʻohana i kēia mea hoʻomaka (uncomment) inā ʻoe e hoʻohana ana i kahi 1.44" TFT
//tft.initR(INITR_144GREENTAB); // hoʻomaka i kahi chip ST7735S, RED rcB tab
tft.setTextWrap(false); // E ʻae i ke kikokikona e holo i ka ʻaoʻao ʻākau
tft.setRotation( 2 ); // no BLACK PCB a me RED tft.setRotation(0) a i ʻole.
tft.fillScreen(ST7735_BLACK); // pale pale

DDRD = DDRD | B00000000;
PORTD = PORTD | B11110000; // ke hana nei ka hoʻopaʻa ʻana i nā polokalamu, kiʻekiʻe kiʻekiʻe -
// nā mea hoʻomalu "ʻaʻole hana", "4" i kākau ʻia i nā awa kiʻekiʻe 1 D, ʻaʻohe helu helu.

no (rc = 0; rc <4; rc++)
{
tft.setCursor (3, rc * 10 + hoʻololi); // hōʻike i nā helu kūlana o nā mea mana
tft.print(rc + 1);
}

tft.setCursor(12, 0); // hoʻopuka i 3 laina kikokikona
tft.println("NĀ MEA KĀLUA & KUKULU"); // e hoʻomaikaʻi iā ʻoe iho e nā mea aloha
tft.setCursor(24, 10); // a i ʻole kope hewa
tft.print("HOPE MM");
tft.setCursor(28, 20);
tft.print("BUILD-ER DD");

/////////////////////////////////////////// ///////////

no (z = 0; z <1023; z += 16) {/ // Hoʻololi hou ma nā pūnaewele āpau o ka ʻoihana.
//a kākau i ka laha o 4 mau mea hoololi pamu, 4 paita no kela me keia counter, no ka mea
// hoʻololi lōʻihi ʻole ʻia. He 4 helu helu, hoʻokahi moʻolelo o nā 4 a pau he 16 paita.
EEPROM.get(z, pamu[0]); // no laila, me ka ʻole o ka loop loop, emi ka leo
EEPROM.get(z+4, pamu[1]);
EEPROM.get(z+8, pamu[2]);
EEPROM.get(z+12, pamu[3]);

// ka hāʻawi ʻana i kahi waiwai hou no ka huina o nā helu helu 4
sumprim = (pump [0] + pump [1] + pump [2] + pump [3]);

// hoʻohālikelike i ka waiwai hou o ka huina o 4 mau helu ma ka huina hoʻololi me ka waiwai mua ma ka hoʻololi
// sumsec a inā emi ka huina mua a i ʻole like me ka huina hou, ua hāʻawi ʻia ka nui hou a i ʻole like.
// ka waiwai sumsec.

inā ( sumsec <= sumprim ) {
sumsec = sumrim; //

//a ua hāʻawi ʻia ka waiwai o kēia manawa z i ka helu helu helu, ʻo z ka helu o ka hoʻomaka ʻana o kahi poloka 16-byte o 4 mau waiwai.
// nā helu helu i hoʻopaʻa ʻia i ka manawa like (mai ke koho ʻana i kahi awa, ua kākau ʻia nā 8 bit a pau i ka manawa like,
// me kā mākou kiʻekiʻe kiʻekiʻe 4 bits o ke awa D).
helu wahi = z;
}
}

// komo hou i ka hoʻomanaʻo eeprom ma ka helu wahi o ka hoʻomaka ʻana o kahi poloka o 16 bytes o 4 mau helu counter i hoʻopaʻa ʻia
// hope, ʻo ia hoʻi. nā waiwai ma mua o ka pani ʻana a hoʻomaka hou paha ma muli o ka hau. Hoʻopaʻa i nā mea hou loa
// helu helu i loko o kahi pūʻulu o 4 mau mea hoʻololi pump.

EEPROM.get(address, pump[0]);
EEPROM.get(address + 4, pump[1]);
EEPROM.get(address + 8, pump[2]);
EEPROM.get(address + 12, pump[3]);

helu wahi += 16; //e hoʻonui i ka helu wahi no ke kākau ʻana i ka poloka aʻe me ka ʻole o ke kau ʻana i ka ʻikepili o ka moʻolelo hope

//hope o ka hoʻihoʻi ʻikepili ////////////////////////////////////// /////////////////

attachInterrupt(0, helu, RISING); // pin D2, hiki i nā mea hoʻopau, hele mai i kēlā me kēia kekona
// nā puʻupuʻu mai RTC DS3231 mai ka puka SQW

wdt_enable(WDTO_8S); // e hoʻomaka i ka manawa kiaʻi, e hoʻomaka hou i ka mea hoʻoponopono i ka wā maloʻo, manawa,
// no ka mea e pono ai ʻoe e hoʻopuka i ke kauoha reset timer wdt_reset (a pale i ka rebooting i ka wā o ka hana maʻamau - 8 sec.
// no nā hoʻāʻo ʻaʻole ʻōlelo ʻia e hoʻonohonoho i ka waiwai ma lalo o 8 kekona. I kēia hihia, hoʻonohonoho hou ʻia ka manawa.
// hee, a hiki i kēlā me kēia kekona.

}

loop loop () {
// ka pōʻaiapuni ʻole, ma ʻaneʻi e hoʻomalu ʻia ka hana hāmama o ke kaʻa uila
}

helu helu () {

tft.setTextColor(ST7735_WHITE); // hoʻonohonoho i ka waihoʻoluʻu font
t = rtc.getTime(); // heluhelu manawa
tft.setCursor(5, 120); // hoʻonohonoho i ke kūlana cursor
tft.fillRect(5, 120, 50, 7, ST7735_BLACK); // hoʻomaʻemaʻe i ka wahi puka manawa
tft.print(rtc.getTimeStr()); // nā heluhelu uaki puka

wdt_reset(); // hoʻihoʻi i ka ʻīlio kiaʻi i kēlā me kēia pōʻai, ʻo ia hoʻi

no (rc = 0; rc <4; rc ++) // ka hoʻomaka ʻana o ka pōʻai no ka nānā ʻana i ka hoʻokō ʻana o ke kūlana hoʻokomo.
// nā bit port i ka mokuʻāina heluhelu mua o nā bits port D
{
PinState = (PIND >> 4) & ( b << rc );

inā (pumrcounter [rc] != pinState) { // a inā ʻaʻole like, a laila
pumrcounter[rc] = pinState; // ka hāʻawi ʻana i ka hoʻololi kūlana bit port i kahi waiwai hou 1/0
}
// hōʻailona o ke kūlana o nā mea hoʻomalu kala
// ʻO BLUE kahi mea liʻiliʻi liʻiliʻi o ka pale e kū nei (a i ʻole ka waihona?), RGB a me BGR i hui pū ʻia.
inā (pinState == ( b << rc )) {
tft.fillRect(15, ((rc * 10 + hoʻololi)), 7, 7, ST7735_BLUE); // no ka helu haʻahaʻa haʻahaʻa e hoʻololi i ka GREEN i BLUE
} ka mea'ē aʻe {
tft.fillRect(15, ((rc * 10 + hoʻololi)), 7, 7, ST7735_GREEN); // no ka helu haʻahaʻa e hoʻololi i ka BLUE i ka GREEN
pamu [rc] += 1; // hoʻohui i 1 kekona i ka helu manawa hana
}
}

k++;
ina (k == 36) {
k = 0;

tft.fillRect(30, hoʻololi, 97, 40, ST7735_BLACK); // hoʻomaʻemaʻe i ka wahi hōʻike manawa hana
tft.fillRect(60, 120, 73, 7, ST7735_BLACK); // a me nā lā

tft.setCursor(60, 120); // hoʻonohonoho i ke kūlana cursor
tft.print(rtc.getDateStr()); // hōʻike i ka lā ma ka pale LCD

no (rc = 0; rc <4; rc ++) //puka hola hana holoʻokoʻa, hapaʻumi a
{
tft.setCursor (30, rc * 10 + hoʻololi); // mau haneli o ka hola me ka hoʻololi ʻana o ka pale ma lalo o 10 mau pika
tft.println(pum [rc] / m);
}

// kākau i nā waiwai hola hana "raw" (i kekona) i EEPROM //////////////////////////

no (rc = 0; rc < 4; rc++)
{
EEPROM.put(ka helu wahi, pamu [rc]);
helu wahi += sizeof(float); // hoʻonui i ka helu helu kākau
}
}

// hoʻouna i ka ʻikepili ma luna o ka lekiō mai ka ʻikepili e hōʻike ana i ka nui o nā bytes e hoʻouna ʻia.
ina ((k == 6 ) || (k == 18 ) || (k == 30 )) {

ʻikepili lōʻihi ʻole i kau inoa ʻia;

radio.write(&hoomaka, sizeof(hoomaka));

no (i = 0; i < 4; i++) {
ʻikepili = pamu [i];
radio.write(&ʻikepili, nui o(ʻikepili));
}
}
}

He mau memo ma ka hope. Hana ʻia ka helu ʻana ma kahi pae kūpono haʻahaʻa i nā mea hoʻokomo.

ʻO nā pale huki huki R2-R5 he 36 kOhm no ke koho me nā photoresistors GL5516. I ka hihia o ka phototransistor optocoupler a me ka relay, hoʻonoho i 4,7-5,1 kOhm. Ua ho'ololi 'ia ka Arduino Nano v3.0 bootloader me ka Arduino Uno me ka ho'ohana 'ana i ka polokalamu TL866A no ka hana pono o ka manawa kia'i. Hoʻoponopono ʻia nā fuses e hana ma nā volta ma luna o 4,3 V. ʻAʻole i hoʻohana ʻia ke kaapuni hoʻonohonoho waho R6 C3. I ka papahana laʻana, ʻaʻole i kūlike ka alapine transmitter i ka laulā ʻole; ʻo ka 2,4 MHz ka palena i kaupalena ʻia i nā alapine 2400.0-2483.5 MHz.

ʻO ka laulā o ka transmitter E01-ML01DP05 he 2400-2525 MHz. ʻO 1 MHz ka bandwidth o hoʻokahi kahawai, i ka wā e hoʻonohonoho ai i ka wikiwiki e like me "RF24_2MBPS" i ka radio.setChannel (120) i kuhikuhi ʻia a e noho ʻia ka mea aʻe, ʻo ia. ʻo 2 MHz ka hui.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka