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
Papa palaoa
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 kaapuni
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