مقامي خودمختيار ڊيٽا گڏ ڪرڻ جو نظام

ڪمپني خريد ڪئي NEKST-M مانيٽرنگ پوسٽون، گهريلو طور تي ايندڙ ٽيڪنالاجيز پاران تيار ڪيل. پمپنگ يونٽ جي آپريشن جي تصور کي يقيني بڻائڻ لاء،
فائر ۽ سيڪيورٽي الارم، وولٹیج جي موجودگي شروع ڪرڻ تي، ڪمري جي حرارت، ايمرجنسي پاڻي جي سطح. NEKST-M جي دل ATMEGA 1280 آهي ۽ اها حقيقت خاص ضرورتن لاءِ توهان جي پنهنجي کٽ ٺاهڻ جي امڪان جي لحاظ کان حوصلا افزائي آهي.

اهو ڪم مقرر ڪيو ويو هو ته هڪ مڪمل طور تي خودمختيار مقامي ترسيل نظام کي مخصوص ضرورتن لاءِ گهٽ ۾ گهٽ وقت ۾ ۽ گهٽ ۾ گهٽ قيمت تي. بنياد هڪ microcontroller آهي. ترقي، پيداوار، پاڻ اسٽاف پاران پيدا ڪيل.

سسٽم کي لازمي طور تي سيلولر نيٽ ورڪن، سرورز، انٽرنيٽ ۽ لائسنسنگ سسٽم تي انحصار ڪرڻ کان سواء ريڊيو فریکوئنسي وسيلن جي استعمال لاء، ڪمپيوٽرن کي استعمال نه ڪرڻ گهرجي نگراني ۽ ڪنٽرول سسٽم جي آپريشن ۾، يا گهڻو ڪري، وقتي طور تي ليپ ٽاپ استعمال ڪريو، بغير رسائي جي. هڪ ڊگهي وقت لاء شيون (6-9 مهينن). نيٽ ورڪ جي جوڙجڪ ۾ هڪ ريڊيل ڍانچي آهي. ڊيٽا هڪ نقطي تي گڏ ڪئي وئي آهي ۽ پوء پروسيسنگ لاء باقاعده ڪميونيڪيشن چينلز ذريعي يا هارڊ ڪاپي جي طور تي موڪليو ويو.

سسٽم مهيا ڪرڻ گهرجي:

  • پمپنگ يونٽ جي آپريشن جي نگراني
  • ٽيڪنالاجي خودڪار
  • هنگامي حالتن جي نتيجن کان تحفظ
  • ايمرجنسي سگنلنگ
  • آپريٽنگ وقت جو حساب
  • استعمال ٿيل بجلي جي مقدار جي حساب سان
  • سامان جي گرمي پد ڪنٽرول
  • سيڪيورٽي ۽ فائر الارم
  • معلومات جي دور دراز رڪارڊنگ
  • اڻڄاتل مستقبل جي گهرج

ڪم جون حالتون:

  • ڪوريج جي ايراضي 1 چورس ڪلوميٽر.
  • شين جي وچ ۾ سڌي نمائش
  • گرمي پد +50 کان -50 سي
  • نمي 100٪ تائين
  • حياتياتي طور تي فعال ذخيرا (مولڊ، سلفيٽ کي گهٽائڻ وارا بيڪٽيريا)
  • GOST ISO 1-2-10816 جي مطابق ڪلاس 1-97 جي مشينن جو وائبريشن، وڌيڪ ڪونهي
  • برقياتي مقناطيسي ماحول - KT 6053 ڪنيڪٽرز سان برقي موٽرز جي سوئچنگ، RVS-DN نرم شروع ڪرڻ وارو سامان، SIEMENS MICROMASTER PID ڪنٽرول سامان، ISM ۽ GSM رينج ۾ تابڪاري انهن ڊوائيسز جي گهرجن مطابق، سائيٽ تي دستي آرڪ ويلڊنگ
  • ضرورت کان وڌيڪ نيٽ ورڪ وولٽيج، بجلي جي فراهمي ۾ مختصر مدي واريون رڪاوٽون، بجليءَ جي اوور وولٽيجز، مرحلي ۾ عدم توازن جڏهن 6-10 kV ڊسٽريبيوشن نيٽ ورڪ ۾ اوور هيڊ لائن تار ٽٽي ٿي.

اهڙين سخت ضرورتن جي باوجود، عمل درآمد بلڪل سادو آهي جڏهن مسئلو حل ڪيو وڃي قدم قدم سان.

هر شي کي حساب ۾ رکندي، "Arduino Nano 3.0" بورڊ منصوبي جو "دماغ" بڻجي ويو. Robotdyn بورڊ وٽ هڪ ATMEGA 328 ڪنٽرولر آهي، ضروري 3,3V وولٽيج اسٽيبلائزر
موجوده 800 ايم اي ۽ ڪنورٽر کي CH340G UART-USB.

سڀ کان پهريان، آپريٽنگ ڪلاڪ ڳڻپيوڪر ٺاهيا ويا آهن جيئن ته سڀ کان وڌيڪ تازه ڪاريون. اڳ ۾ استعمال ٿيل صنعتي ميٽرز PICs تي گڏ ڪيا ويا جن ۾ ٽرانسفارمر لیس پاور سپلائي سرڪٽ ناڪام ٿي ويا ڇاڪاڻ ته آپريشن جي هڪ سال اندر وولٽيج جي واڌ جي ڪري. صرف اھي ڳنڍيل آھن جيڪي گھر جي 5V پاور سپلائي استعمال ڪندي برقرار رھيا. تنصيب کي تيز ڪرڻ ۽ ڪنيڪشن جي استحڪام کي تيز ڪرڻ لاء، يونٽ جي حالت بابت سگنل سوئچنگ ڊوائيسز جي ٽرمينل مان ورتو وڃي ٿو، يعني. 1V جي ٽي-مرحلي بجلي جي فراهمي سان 380st مرحلي جي وولٹیج جي موجودگي جي رجسٽريشن. ڪنٽرولر سان هم آهنگ ڪرڻ لاءِ، 220V وائنڊنگ سان هڪ وچولي رلي يا هڪ LED ۽ هڪ GL5516 ڦوٽو ريسٽور يا هڪ PC817 آپٽوڪوپلر تي مشتمل هڪ آپٽڪوپلر استعمال ڪيو ويندو آهي. سڀ اختيار آزمايا ويا. LED هڪ ريڪٽيڊ وولٽيج سان هلندڙ آهي موجوده حد جي استعمال سان ٻه SVV22 ڪيپيسيٽرز ٺاهيل 630V جي وولٽيج لاءِ سيريز ۾ ڳنڍيل حفاظت جي لاءِ سرڪٽ جي حادثاتي جانچ دوران ميگو هومٽر سان.
ST7735S LCD اسڪرين استعمال ڪندي آپريٽنگ ٽائيم ريڊنگ، ريئل ٽائيم ڊيٽا ٽرانسميشن ريڊيو ذريعي E01-ML01DP05 ماڊل استعمال ڪندي 2,4 MHz جي فريڪوئنسي تي. ھن ڊوائيس تي مشتمل آھي nRF24L01+ چپ ۽ RFX2401C ٽرانسمٽ/رسيو ايمپليفائر،
پيداوار جي طاقت 100 ميگاواٽ تائين. آن لائن ڪيلڪيوليٽر ۾ گهربل حد تائين ٺهيل هلڪي اينٽينا سائٽ. اينٽينا جي قسم جو انتخاب ڀرپاسي جي ڌاتو جي اڏاوتن مان اڪيلو موٽندڙ لهرن جي استقبال جي خارج ٿيڻ سان طئي ڪيو ويندو آهي. اينٽينا جا حصا 3D پرنٽر تي ڇپيل آهن. ڳڻپيندڙن جي موجوده حالت پاڻ سنڀاليندڙ جي EEPROM ۾ محفوظ ڪئي وئي آهي ۽ غير متوقع بجلي جي بندش جي صورت ۾ بحال ڪئي وئي آهي. ڳڻپ لاءِ وقت جا وقفا RTC چپ DS3231 پاران مهيا ڪيا ويا آهن ماڊل جي صورت ۾ هڪ بيڪ اپ بيٽري سان. پاور سپلائي 3 ماڊل استعمال ڪري ٿي، اصل نبض جو ذريعو 220/5V HLK-PM01 600mA، هڪ ڪنورٽر 1-5V کان 5V تائين ايڇ ڊي -553 и 03962A - بيٽري ڪنٽرولر سان اسڪيم شارٽ سرڪٽ، اوور ڊسچارج ۽ اوور چارج جي خلاف تحفظ. سڀئي اجزاء خريد ڪيا ويا Aliexpress ويب سائيٽ تي.

مانيءَ جو تختومقامي خودمختيار ڊيٽا گڏ ڪرڻ جو نظام
4-چينل ڪائونٽر. ان پٽن تي LC فلٽر آھن جيڪي موڙيندڙ جوڙي ڪميونيڪيشن لائن تي مداخلت کان بچائڻ لاءِ. ڪنٽرول آبجیکٹ جي حالت تي ڊيٽا مسلسل هڪ ڀيرو في سيڪنڊ پڙهڻ ۽ LCD تي رنگ ۾ ڏيکاريل آهي. ريڊنگ هر 1 سيڪنڊن ۾ غير مستحڪم ياداشت ۾ اپڊيٽ ۽ رڪارڊ ٿيل آهن. 36 سيڪنڊ هڪ ڪلاڪ جو 36/1 آهي، هي فارميٽ آهي جنهن ۾ ڊيٽا گهربل آهي. هر 100 سيڪنڊ. معلومات هر ڪنٽرول يونٽ لاء آپريشن جي سيڪنڊن جي تعداد جي باري ۾ منتقل ڪيو ويو آهي. EEPROM ياداشت ۾ محدود تعداد ۾ لکڻ-مٽڻ واري چڪر آهي، ٺاهيندڙ جي مطابق، 12 ڀيرا. بدترين اختيار اهو آهي جڏهن گهٽ ۾ گهٽ هڪ سيل مسلسل اپڊيٽ ڪيو پيو وڃي. پهرين ڪائونٽر جو حجم 100000 بائيٽ آهي، هي هڪ ڊگهو فارميٽ نمبر آهي، 1 ڪائونٽر، ڪل 4 بائيٽ هڪ رڪارڊ تي قبضو آهي. microcircuit جي ميموري جي ڊيگهه 4 بائيٽ آهي، 16 ڳڻپيندڙن جي 1024 داخلا کان پوء، رڪارڊنگ شروع ٿيندي. EEPROM لائبريري ۾، EEPROM.put طريقو نه لکندو آهي؛ جيڪڏهن سيل جي قيمت ۽ ڄاڻايل معلومات ملن ٿا، سيلز جي ڪا به خرابي نه ٿيندي. نتيجي طور، ضمانت واري ميموري آپريٽنگ وقت 64 سالن کان وڌيڪ هوندي. ممڪن آهي پر گارنٽي ٿيل ڪم جو وقت گهڻو ڊگهو ٿي سگهي ٿو.

سرڪٽ ڊراگراممقامي خودمختيار ڊيٽا گڏ ڪرڻ جو نظام
Arduino IDE ۾ پروگرام//12 بائيٽ (328%)

#شامل // ڪور گرافڪس لائبريري
#شامل // هارڊويئر-مخصوص لائبريري
# شامل ڪريو
#شامل
# شامل ڪريو
#شامل
#شامل
RF24 ريڊيو (9, 10)؛ // ريڊيو اعتراض RF24 لائبريري سان ڪم ڪرڻ لاء،
// ۽ پن نمبر nRF24L01+ (CE, CSN)
#شامل
DS3231 rtc (SDA، SCL)؛
وقت ٽي؛

//#TFT_CS 10 جي وضاحت ڪريو
TFT_CS 8 جي وضاحت ڪريو
# define TFT_RST -1 // توھان پڻ ھن کي Arduino ري سيٽ سان ڳنڍي سگھو ٿا
// انهي صورت ۾، هن # define پن کي -1 تي سيٽ ڪريو!
//#define TFT_DC 9 // DC=RS=A0 - ڪمانڊ يا ڊيٽا رجسٽر چونڊڻ لاءِ نامزدگي جا اختيار.
TFT_DC 3 جي وضاحت ڪريو

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS، TFT_DC، TFT_RST)؛

// آپشن 2: ڪي پن استعمال ڪريو پر ٿورڙو سست!
# define TFT_SCLK 13 // انهن کي سيٽ ڪريو جيڪي به پن توهان چاهيو ٿا!
# define TFT_MOSI 11 // انهن کي سيٽ ڪريو جيڪي به پن توهان چاهيو ٿا!
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS، TFT_DC، TFT_MOSI، TFT_SCLK، TFT_RST)؛
#شامل

بائيٽ شفٽ = 52؛
بائيٽ پن اسٽيٽ؛
غير دستخط ٿيل ڊگهو پمپ[4]؛// 4 سيڪنڊن جي ڪاؤنٽر ويلز سان صف
فلوٽ م = 3600.0؛
غير دستخط ٿيل انٽ ايڊريس = 0؛
int rc؛// ڳڻپيندڙن لاءِ متغير
غير دستخط ٿيل ڊگهو سمپريم = 0؛
غير دستخط ٿيل ڊگهو sumsec = 0؛
بائيٽ i = 0؛
بائيٽ ڪ = 34؛
unsigned int z = 0;
byte b = B00000001؛
بائيٽ پم ڪائونٽر[4]؛ // آبجیکٹ اسٽيٽس کي محفوظ ڪرڻ لاءِ صف، 1 - بند، 0 - آن.
int start = 0؛ //

باطل سيٽ اپ () {

rtc.begin();
radio.begin(); // ڪم شروع ڪريو nRF24L01+
radio.setChannel(120)؛ // ڊيٽا چينل (0 کان 127 تائين).
radio.setDataRate(RF24_250KBPS)؛ // ڊيٽا جي منتقلي جي شرح (RF24_250KBPS، RF24_1MBPS، RF24_2MBPS).
radio.setPALevel(RF24_PA_MAX)؛ // ٽرانسميٽر پاور (RF24_PA_MIN=-18dBm، RF24_PA_LOW=-12dBm،
// RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.openWritingPipe(0xAABBCCDD11LL)؛ // ڊيٽا جي منتقلي لاءِ سڃاڻپ ڪندڙ سان پائپ کوليو

// وقت مقرر ڪرڻ لاء، ضروري لائنن کي غير تبصرو ڪريو
//rtc.setDOW(1)؛ // هفتي جو ڏينهن
//rtc.setTime(21, 20, 0); // وقت، 24 ڪلاڪ فارميٽ ۾.
//rtc.setDate(29، 10، 2018)؛ // تاريخ، آڪٽوبر 29، 2018

tft.initR(INITR_BLACKTAB)؛ // هڪ ST7735S چپ شروع ڪريو، ڪارو ٽيب
// هي شروعاتي استعمال ڪريو (غير تبصرو) جيڪڏهن توهان 1.44 "TFT استعمال ڪري رهيا آهيو
//tft.initR(INITR_144GREENTAB)؛ // هڪ ST7735S چپ شروع ڪريو، ريڊ آر سي بي ٽيب
tft.setTextWrap(false); // متن کي ساڄي ڪنڊ کي هلائڻ جي اجازت ڏيو
tft.set گھمڻ (2)؛ // BLACK PCB ۽ RED tft.setRotation(0) لاءِ يا نه.
tft.fillScreen(ST7735_BLACK)؛ // صاف اسڪرين

DDRD = DDRD | B00000000؛
PORTD = پورٽ | B11110000؛ // سافٽ ويئر سخت ڪم ڪري رهيو آهي، اعلي سطحي -
// ڪنٽرول ٿيل شيون "ڪم نه ڪريو"، "4" سڀني 1 سينئر بندرگاهن ڊي ڏانهن لکيو ويو آهي، ڪابه ڳڻپ نه ٿيندي آهي.

لاءِ (rc = 0؛ rc <4؛ rc++)
{
tft.setCursor (3, rc * 10 + شفٽ)؛ // ڪنٽرول شين جي پوزيشن نمبر ڏيکاريندي
tft.print(rc + 1)؛
}

tft.setCursor(12, 0)؛ // ٽيڪسٽ جون 3 لائينون ٻاھر ڪڍو
tft.println("ڊيولپرز ۽ بلڊ")؛ // پنهنجي پيارن جي ساراهه ڪرڻ
tft.setCursor(24, 10)؛ // يا برائي ڪاپي رائيٽ
tft.print("ڊيولپر ايم ايم")؛
tft.setCursor(28, 20)؛
tft.print("BUILD-ER DD")؛

ڊيٽا وصولي /////////////////////////////////////// /////////

لاءِ ( z = 0؛ z < 1023؛ z += 16 ) { // صنعت جي سڀني سيلن ذريعي ورجائي ٿو
// ۽ 4 پمپ متغيرن جي هڪ صف ڏانهن لکندو آهي، هر ڪائونٽر لاء 4 بائيٽ، ڇاڪاڻ ته
// غير دستخط ٿيل ڊگهو متغير. هتي 4 ڳڻپيندڙ آهن، سڀني 4 جو هڪ رڪارڊ 16 بائيٽ وٺندو آهي.
EEPROM.get(z، پمپ[0])؛ // تنهن ڪري، بغير لوپ لاء، گهٽ حجم
EEPROM.get(z+4, پمپ[1]);
EEPROM.get(z+8, پمپ[2]);
EEPROM.get(z+12, پمپ[3]);

// 4 ڳڻپيندڙن جي رقم لاءِ نئين ايندڙ قيمت تفويض ڪرڻ
sumprim = (پمپ [0] + پمپ [1] + پمپ [2] + پمپ [3])؛

// سمپريم متغير ۾ 4 ڳڻپيندڙن جي رقم جي نئين قيمت کي متغير ۾ پوئين قيمت سان موازنہ ڪري ٿو
// sumsec ۽ جيڪڏهن پوئين رقم نئين رقم کان گهٽ يا برابر آهي، نئون وڏو يا برابر لڳايو ويو آهي
// sumsec قدر.

جيڪڏهن ( sumsec <= sumprim ) {
sumsec = سمپريم؛ //

// ۽ موجوده قيمت z ايڊريس متغير کي لڳايو ويو آهي، z 16 قدرن جي 4 بائيٽ بلاڪ جي شروعات جو پتو آهي
// ڳڻپيوڪر هڪ ئي وقت ۾ رڪارڊ ٿيل (جڏهن کان پولنگ هڪ پورٽ، ان جا سڀئي 8 بٽ هڪ ئي وقت ۾ لکيل آهن،
// پورٽ ڊي جي اسان جي ضروري اعلي 4 بٽ سميت).
پتو = ز؛
}
}

// هڪ ڀيرو ٻيهر ايپروم ميموري تائين رسائي حاصل ڪرڻ جي شروعات جي ايڊريس تي 16 بائيٽ جي بلاڪ جي 4 رڪارڊ ڪيل ڪائونٽر ويلز
// آخري، يعني. منجمد ٿيڻ جي ڪري بند ڪرڻ يا ريبوٽ ڪرڻ کان اڳ قدر. تازه ترين رڪارڊنگ
// 4 variables پمپ جي هڪ صف ۾ counter values.

EEPROM.get(ائڊريس، پمپ[0])؛
EEPROM.get(ائڊريس + 4، پمپ[1])؛
EEPROM.get(ائڊريس + 8، پمپ[2])؛
EEPROM.get(ائڊريس + 12، پمپ[3])؛

پتو += 16؛ // آخري رڪارڊ جي ڊيٽا کي ختم ڪرڻ کان سواء ايندڙ بلاڪ کي لکڻ لاء پتو وڌائڻ

// ڊيٽا وصولي جي آخر///////////////////////////////////// ///////////////

منسلڪ مداخلت (0، شمار، اڀرڻ)؛ // پن D2، مداخلت کي فعال ڪريو، هر سيڪنڊ ۾ اچو
// دال RTC DS3231 کان SQW آئوٽ مان

wdt_enable(WDTO_8S)؛ // واچ ڊاگ ٽائمر شروع ڪريو، منجمد ٿيڻ جي صورت ۾ ڪنٽرولر کي ريبوٽ ڪريو، وقت،
// جنهن لاءِ توهان کي ٽائمر ري سيٽ ڪمانڊ جاري ڪرڻ جي ضرورت آهي wdt_reset (۽ عام آپريشن دوران ريبوٽ ڪرڻ کان پاسو ڪريو - 8 سيڪنڊ.
// ٽيسٽن لاءِ 8 سيڪنڊن کان گھٽ قيمت مقرر ڪرڻ جي سفارش نه ڪئي وئي آھي. ھن حالت ۾، ٽائمر کي ترجيح ڏني وڃي.
// جرڪنگ، ۽ اهو هر سيڪنڊ ٿئي ٿو.

}

باطل لوپ () {
// خالي چڪر، هتي برقي موٽر جي اوپن فيز آپريشن تي ڪنٽرول هوندو
}

باطل شمار () {

tft.setTextColor(ST7735_WHITE)؛ // فونٽ رنگ مقرر ڪريو
t = rtc.getTime(); // پڙهڻ جو وقت
tft.setCursor(5, 120)؛ // سيٽنگ ڪرسر پوزيشن
tft.fillRect(5, 120, 50, 7, ST7735_BLACK)؛ // وقت جي پيداوار واري علائقي کي صاف ڪرڻ
tft.print(rtc.getTimeStr())؛ // ٻاھرين گھڙي پڙھڻ

wdt_reset()؛ // ري سيٽ ڪريو واچ ڊاگ هر چڪر، يعني سيڪنڊ

لاءِ (rc = 0؛ rc <4؛ rc ++) // ان پٽ اسٽيٽ جي تعميل کي جانچڻ لاءِ چڪر جي شروعات
// پورٽ بٽس پورٽ ڊي بٽس جي پوئين پڙهڻ واري حالت ڏانهن
{
pinState = (PIND >> 4) ۽ (b << rc)؛

جيڪڏھن (pumrcounter [rc] != pinState) {// ۽ جيڪڏھن نٿو ملي ته پوءِ
pumrcounter[rc] = پن اسٽيٽ؛ // پورٽ بٽ اسٽيٽ متغير کي تفويض ڪرڻ هڪ نئين قيمت 1/0
}
// رنگ ڪنٽرول شين جي حالت جو اشارو
// BLUE موجوده اسڪرين (يا لائبريري؟) جي هڪ ننڍڙي خرابي آهي، آر بي بي ۽ بي جي آر ملايا ويا آهن.
جيڪڏھن (pinState == ( b << rc )) {
tft.fillRect(15، ((rc * 10 + شفٽ))، 7، 7، ST7735_BLUE)؛ // گھٽ سطح جي ڳڻپ لاءِ گرين کان نيري تبديل ڪريو
} ٻيو {
tft.fillRect(15، ((rc*10 + شفٽ))، 7، 7، ST7735_GREEN)؛ // گھٽ سطح جي ڳڻپ لاءِ تبديل ڪريو BLUE کان GREEN
پمپ [rc] += 1؛ // شامل ڪريو 1 سيڪنڊ کي آپريٽنگ ٽائيم ڪائونٽر تي
}
}

k++;
جيڪڏهن (k == 36) {
ڪ = 0 ؛

tft.fillRect(30، شفٽ، 97، 40، ST7735_BLACK)؛ // آپريٽنگ ٽائيم ڊسپلي واري علائقي کي صاف ڪرڻ
tft.fillRect(60, 120, 73, 7, ST7735_BLACK)؛ // ۽ تاريخون

tft.setCursor(60, 120)؛ // سيٽنگ ڪرسر پوزيشن
tft.print(rtc.getDateStr())؛ // LCD اسڪرين تي تاريخ ڏيکاريو

لاءِ (rc = 0؛ rc <4؛ rc ++) //آؤٽ پُٽ آپريٽنگ ڪلاڪ سڄي، ڏهين ۽
{
tft.setCursor ( 30, rc * 10 + shift)؛ // هڪ ڪلاڪ جو سوين حصو اسڪرين شفٽ سان 10 پکسلز هيٺ
tft.println(پمپ [rc] / m)؛
}

// لکڻ “خام” آپريٽنگ ڪلاڪ جا قدر (سيڪنڊن ۾) EEPROM ڏانهن /////////////////////////////////////

لاءِ (rc = 0؛ rc <4؛ rc++)
{
EEPROM.put(ائڊريس، پمپ [rc])؛
پتو + = سائيز جو (فلوٽ)؛ // لکڻ ايڊريس متغير کي وڌايو
}
}

// ريڊيو چينل تي ڊيٽا موڪليو ڊيٽا مان اشارو ڪيو ته ڪيترا بائيٽ موڪليا وڃن.
جيڪڏهن ((ڪ == 6) || (ڪ == 18) || (ڪ == 30)) {

غير دستخط ٿيل ڊگهو ڊيٽا؛

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

لاءِ (i = 0؛ i <4؛ i++) {
ڊيٽا = پمپ [i]؛
radio.write(&data, sizeof(data));
}
}
}

آخر ۾ ڪجھ نوٽس. ڳڻپ ان پٽن تي گهٽ منطقي سطح تي ٿيندي آهي.

پل اپ مزاحمت R2-R5 آهن 36 kOhm photoresistors GL5516 سان اختيار لاءِ. هڪ phototransistor optocoupler ۽ رلي جي صورت ۾، 4,7-5,1 kOhm تي مقرر. Arduino Nano v3.0 bootloader تبديل ڪيو ويو Arduino Uno سان TL866A پروگرامر استعمال ڪندي واچ ڊاگ ٽائمر جي صحيح آپريشن لاءِ. 4,3 V کان مٿي وولٽيج تي هلائڻ لاءِ فيوز درست ڪيا ويا آهن. خارجي ري سيٽ سرڪٽ R6 C3 استعمال نه ڪيو ويو. نموني پروگرام ۾، ٽرانسميٽر فریکوئنسي غير لائسنس ٿيل رينج سان ملندڙ نه آهي؛ 2,4 ميگاواٽ جي حد تائين محدود آهي تعدد 2400.0-2483.5 MHz.

E01-ML01DP05 ٽرانسميٽر جي حد 2400-2525 MHz آهي. هڪ چينل جي بينڊوڊٿ 1 ميگا هرٽز آهي، جڏهن رفتار کي مقرر ڪيو ويو آهي “RF24_2MBPS” مخصوص ريڊيو.setChannel(120) چينل ۽ ايندڙ هڪ تي قبضو ڪيو ويندو، يعني. بينڊ 2 MHz هوندو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو