সুচিপত্র:

তাপমাত্রা, পিএইচ এবং দ্রবীভূত অক্সিজেনের জন্য কীভাবে একটি ডেটা লগার তৈরি করবেন: 11 টি ধাপ (ছবি সহ)
তাপমাত্রা, পিএইচ এবং দ্রবীভূত অক্সিজেনের জন্য কীভাবে একটি ডেটা লগার তৈরি করবেন: 11 টি ধাপ (ছবি সহ)

ভিডিও: তাপমাত্রা, পিএইচ এবং দ্রবীভূত অক্সিজেনের জন্য কীভাবে একটি ডেটা লগার তৈরি করবেন: 11 টি ধাপ (ছবি সহ)

ভিডিও: তাপমাত্রা, পিএইচ এবং দ্রবীভূত অক্সিজেনের জন্য কীভাবে একটি ডেটা লগার তৈরি করবেন: 11 টি ধাপ (ছবি সহ)
ভিডিও: সর্বাধিক পূর্বাভাসিত NEET 2023 পেপার | ইউনাকাডেমি NEET | ইংরেজি 2024, নভেম্বর
Anonim
Image
Image
ছবি
ছবি

উদ্দেশ্য:

  • Data $ 500 এর জন্য একটি ডেটা লগার তৈরি করুন। এটি তাপমাত্রা, পিএইচ এবং ডিওর জন্য ডেটা স্ট্যাম্প এবং I2C যোগাযোগ ব্যবহার করে সংরক্ষণ করে।
  • I2C (ইন্টার-ইন্টিগ্রেটেড সার্কিট) কেন? একজন একই লাইনে যতগুলি সেন্সর রাখতে পারে তাদের প্রত্যেকের একটি অনন্য ঠিকানা রয়েছে।

ধাপ 1:

ধাপ 2: নীচের অংশগুলি কিনুন:

নিচের অংশগুলি কিনুন
নিচের অংশগুলি কিনুন
  1. Arduino MEGA 2560, $ 35,
  2. Arduino বোর্ডের জন্য পাওয়ার অ্যাডাপ্টার, $ 5.98,
  3. LCD মডিউল I2C (ডিসপ্লে), $ 8.99,
  4. রিয়েল-টাইম ক্লক (RTC) ব্রেকআউট, $ 7.5,
  5. মাইক্রোএসডি কার্ড ব্রেকআউট বোর্ড, $ 7.5,
  6. 4GB SD কার্ড, $ 6.98,
  7. ওয়াটারপ্রুফ DS18B20 ডিজিটাল সেন্সর, $ 9.95,
  8. pH probe + Kits + Standard buffers, $ 149.15,
  9. DO probe + Kits + Standard buffers, $ 247.45,
  10. ব্রেডবোর্ড, জাম্পার কেবল, $ 7.98,
  11. (Alচ্ছিক) ভোল্টেজ আইসোলেটর, $ 24,

মোট: $ 510.48

* কিছু অংশ (জেনেরিক বোর্ডের মতো) অন্যান্য বিক্রেতাদের (ইবে, চীনা বিক্রেতা) থেকে কম দামে কেনা যেতে পারে। পিএইচ এবং ডিও প্রোবগুলি এটলাস সায়েন্টিফিক থেকে পেতে সুপারিশ করা হয়।

* পরিবাহিতা এবং ভোল্টেজ পরীক্ষা করার জন্য একটি মাল্টিমিটার সুপারিশ করা হয়। এর দাম প্রায় 10-15 ডলার (https://goo.gl/iAMDJo)

ধাপ 3: তারের

তারের
তারের
  • নীচের স্কেচে দেখানো অংশগুলি সংযুক্ত করতে জাম্পার/ডুপন্ট কেবলগুলি ব্যবহার করুন।
  • পরিবহন পরীক্ষা করতে মাল্টিমিটার ব্যবহার করুন।
  • পজিটিভ-ভোল্টেজ সাপ্লাই (VCC) এবং গ্রাউন্ড (GND) চেক করুন (যদি আপনি সার্কিটের সাথে পরিচিত না হন তবে বিভ্রান্ত করা সহজ)
  • পাওয়ার অ্যাডাপ্টার লাগান এবং প্রতিটি অংশে পাওয়ার ইন্ডিকেটর চেক করুন। সন্দেহ হলে, VCC এবং GND এর মধ্যে ভোল্টেজ পরীক্ষা করতে মাল্টি-মিটার ব্যবহার করুন (5V)

ধাপ 4: পিএইচ, ডিও সার্কিট, এসডি কার্ড প্রস্তুত করুন

পিএইচ, ডিও সার্কিট, এসডি কার্ড প্রস্তুত করুন
পিএইচ, ডিও সার্কিট, এসডি কার্ড প্রস্তুত করুন
  1. পিএইচ এবং ডিও সার্কিটের জন্য I2C এ স্যুইচ করুন
  2. পিএইচ এবং ডিও ব্রেকআউটগুলি সিরিয়াল যোগাযোগের সাথে ডিফল্ট মোড ট্রান্সমিট/রিসিভ (টিএক্স/আরএক্স) হিসাবে প্রেরণ করা হয়। I2C মোড ক্লক লাইন (এসসিএল), এবং ডেটা লাইন (এসডিএ) ব্যবহার করতে, মোড (1) দ্বারা পরিবর্তন করুন: আন-প্লাগ ভিসিসি, টিএক্স, আরএক্স ক্যাবল, (2): প্রোব, পিজিএনডি (জিএনডি নয়)), (3) সার্কিটে ভিসিসি প্লাগ করুন, (4): সবুজ থেকে নীল হয়ে এলইডি পরিবর্তনের জন্য অপেক্ষা করুন। আরও বিশদ পৃষ্ঠা 39 তে চেক করুন (পিএইচ সার্কিটের জন্য ডেটশীট,
  3. ডিও সার্কিটের সাথে একই ধাপটি করুন
  4. (যদি আপনি বোর্ডে নমুনা কোড আপলোড করতে জানেন, তাহলে আপনি সিরিয়াল মনিটরের মাধ্যমে এটি করতে পারেন)
  5. SD কার্ডকে FAT ফরম্যাটে ফরম্যাট করুন

পদক্ষেপ 5: সফ্টওয়্যার প্রস্তুত করুন

সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
সফটওয়্যার প্রস্তুত করুন
  1. Arduino ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (IDE) ডাউনলোড করুন,
  2. Arduino IDE তে লাইব্রেরি ইনস্টল করুন:
  3. তাদের অধিকাংশই Arduino সফটওয়্যার নিয়ে আসে। LiquidCrystal_I2C.h GitHub https://goo.gl/chLrS7 এর মাধ্যমে পাওয়া যায়
  4. ইউএসবি এর জন্য ড্রাইভার ইন্সটল করুন। প্রকৃত Arduino জন্য, আপনি একটি ইনস্টল করার প্রয়োজন হতে পারে না। একটি জেনেরিকের জন্য, আপনাকে CH340 ড্রাইভার ইনস্টল করতে হবে (GitHub:
  5. আপনি একটি ঝলকানি LED পরীক্ষা চালানোর মাধ্যমে বোর্ড সঠিকভাবে সংযুক্ত কিনা তা পরীক্ষা করুন
  6. 18B20 ডিজিটাল তাপমাত্রার MAC ঠিকানা কিভাবে খুঁজে পাবেন। Arduino IDE তে I2C স্ক্যানার টেমপ্লেট ব্যবহার করে প্রোব প্লাগ ইন করা হয়েছে। প্রতিটি ডিভাইসের একটি অনন্য MAC ঠিকানা আছে, তাই আপনি একটি শেয়ার্ড লাইন (#9) দিয়ে যত বেশি তাপমাত্রা প্রোব ব্যবহার করতে পারেন। 18B20 একটি ওয়্যার I2C ব্যবহার করে, তাই এটি I2C যোগাযোগ পদ্ধতির একটি বিশেষ কেস। ম্যাক খুঁজে বের করার একটি পদ্ধতি নিচে দেওয়া হল - মেডিকেল অ্যাক্সেস কন্ট্রোল ("রম" যখন আপনি নীচের পদ্ধতিটি চালান)।

ধাপ 6: কোডিং শুরু করুন

কোডিং শুরু করুন
কোডিং শুরু করুন
  • Arduino IDE তে নিচের কোডটি কপি পেস্ট করুন:
  • অথবা কোড (.ino) ডাউনলোড করুন এবং Arduino IDE তে একটি নতুন উইন্ডো পপ আপ করা উচিত।

/*

রেফারেন্স টিউটোরিয়াল:

1. তাপমাত্রা, ORP, pH লগার:

2. নিরাপদ ডিজিটাল (SD) শিল্ড:

এই কোডটি Arduino সিরিয়াল মনিটরে ডেটা আউটপুট করবে। I2C মোডে EZO pH সার্কিট নিয়ন্ত্রণ করতে Arduino সিরিয়াল মনিটরে কমান্ড টাইপ করুন।

উপরের রেফারেন্স টিউটোরিয়াল থেকে সংশোধন করা হয়েছে, বেশিরভাগই অ্যাটলাস-সায়েন্টিফিকের I2C কোড থেকে

সর্বশেষ আপডেট: জুলাই 26, 2017 বিনহ এনগুয়েন দ্বারা

*/

#অন্তর্ভুক্ত // I2C সক্ষম করুন।

EZO pH সার্কিটের জন্য pH_address 99 // ডিফল্ট I2C আইডি নম্বর নির্ধারণ করুন।

EZO DO সার্কিটের জন্য DO_address 97 // ডিফল্ট I2C আইডি নম্বর নির্ধারণ করুন।

#অন্তর্ভুক্ত করুন "RTClib.h" // তারিখ এবং সময় ফাংশন একটি DS1307 RTC ব্যবহার করে I2C এবং Wire lib এর মাধ্যমে সংযুক্ত

RTC_DS1307 rtc;

#অন্তর্ভুক্ত // এসডি লাইব্রেরির জন্য

#অন্তর্ভুক্ত // ডাটা সংরক্ষণের জন্য SD কার্ড

const int chipSelect = 53; // অ্যাডাফ্রুট এসডি ব্রেকআউটের জন্য বের করতে হবে //

// DO = MISO, DI = MOSI, ATmega পিন#: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS)

char logFileName = "dataLT.txt"; // আপনার পরীক্ষা শনাক্ত করতে logFileName সংশোধন করুন, পরীক্ষার জন্য PBR_01_02, datalog1

দীর্ঘ আইডি = 1; // আইডি নম্বর লগ অর্ডার লিখতে

#অন্তর্ভুক্ত

LiquidCrystal_I2C lcd (0x27, 20, 4);

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

# ডিফাইন ONE_WIRE_BUS 9 // তাপমাত্রা অনুসন্ধানের জন্য পিন # সংজ্ঞায়িত করুন

ওয়ান ওয়্যার ওয়ান ওয়্যার (ONE_WIRE_BUS);

ডালাস তাপমাত্রা সেন্সর (& oneWire);

DeviceAddress ProbeP = {0x28, 0xC2, 0xE8, 0x37, 0x07, 0x00, 0x00, 0xBF}; // MAC ঠিকানা, প্রতিটি প্রোবের জন্য অনন্য

স্ট্রিং ডেটা স্ট্রিং; // সমস্ত তথ্য সংরক্ষণের প্রধান বৈকল্পিক

স্ট্রিং dataString2; // মুদ্রণের জন্য তাপমাত্রা/পিএইচ/ডিও সংরক্ষণ করার জন্য একটি অস্থায়ী রূপ

char computerdata [20]; // অ্যাটলাস সায়েন্টিফিক থেকে নির্দেশনা: আমরা একটি পিসি/ম্যাক/অন্য থেকে ইনকামিং ডেটা রাখার জন্য একটি 20 বাইট অক্ষর অ্যারে তৈরি করি।

বাইট প্রাপ্ত_ফ্রোম_কম্পিউটার = 0; // আমাদের জানতে হবে কত অক্ষর প্রাপ্ত হয়েছে।

বাইট সিরিয়াল_ভেন্ট = 0; // পিসি/ম্যাক/অন্যান্য থেকে ডেটা পাওয়ার পরে সংকেত দেওয়ার জন্য একটি পতাকা।

বাইট কোড = 0; // I2C রেসপন্স কোড ধরে রাখতে ব্যবহৃত।

char pH_data [20]; // আমরা পিএইচ সার্কিট থেকে ইনকামিং ডেটা ধরে রাখার জন্য একটি 20 বাইট ক্যারেক্টার অ্যারে তৈরি করি।

বাইট ইন_চার = 0; // পিএইচ সার্কিট থেকে আবদ্ধ বাইটে সংরক্ষণ করতে 1 বাইট বাফার হিসাবে ব্যবহৃত হয়।

বাইট i = 0; // ph_data অ্যারের জন্য ব্যবহৃত কাউন্টার।

int time_ = 1800; // EZO ক্লাস pH সার্কিটে পাঠানো কমান্ডের উপর নির্ভর করে প্রয়োজনীয় বিলম্ব পরিবর্তন করতে ব্যবহৃত হয়।

ভাসমান pH_float; // float var pH এর ভাসমান মান ধরে রাখতে ব্যবহৃত হয়।

চর DO_data [20];

// float temp_C;

অকার্যকর সেটআপ () // হার্ডওয়্যার আরম্ভ।

{

Serial.begin (9600); // সিরিয়াল পোর্ট সক্ষম করুন।

Wire.begin (pH_address); // পিএইচ প্রোবের জন্য I2C পোর্ট সক্ষম করুন

Wire.begin (DO_address);

lcd.init ();

lcd.begin (20, 4);

lcd.backlight ();

lcd.home ();

lcd.print ("হ্যালো PBR!");

lcd.setCursor (0, 1);

lcd.print ("সূচনা …");

Serial.print ("RTC হল …");

যদি (! rtc.begin ())

{

Serial.println ("RTC: রিয়েল-টাইম ঘড়ি … খুঁজে পাওয়া যায়নি");

while (1); // (Serial.println ("RTC: Real-time clock… FOUND"));

}

Serial.println ("RUNNING");

সিরিয়াল.প্রিন্ট ("রিয়েল-টাইম ক্লক …");

যদি (! rtc.isrunning ())

{rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));

}

Serial.println ("WORKING");

lcd.setCursor (0, 0);

lcd.println ("RTC: OK");

Serial.print ("SD card …"); // দেখুন কার্ডটি উপস্থিত আছে কি না এবং আরম্ভ করা যেতে পারে:

যদি (! SD.begin (chipSelect))

{Serial.println ("ব্যর্থ"); // আর কিছু করবেন না:

প্রত্যাবর্তন;

}

Serial.println ("ঠিক আছে");

lcd.setCursor (0, 1);

lcd.println ("এসডি কার্ড: ঠিক আছে");

Serial.print ("লগ ফাইল:");

Serial.print (logFileName);

সিরিয়াল.প্রিন্ট ("…");

ফাইল logFile = SD.open (logFileName, FILE_WRITE); // ফাইলটি খুলুন। "ডেটালগ" এবং হেডার মুদ্রণ করুন

যদি (logFile)

{

logFile.println (",,,"); // নির্দেশ করে যে আগের রানটিতে ডেটা ছিল

স্ট্রিং হেডার = "তারিখ -সময়, টেম্প (সি), পিএইচ, ডিও";

logFile.println (হেডার);

logFile.close ();

Serial.println ("প্রস্তুত");

// সিরিয়াল.প্রিন্টলন (ডেটা স্ট্রিং); // সিরিয়াল পোর্টেও মুদ্রণ করুন:

}

অন্যথায় {Serial.println ("ত্রুটি খোলার ডেটালগ"); } // যদি ফাইলটি খোলা না থাকে, একটি ত্রুটি পপ আপ করুন:

lcd.setCursor (0, 2);

lcd.print ("লগ ফাইল:");

lcd.println (logFileName);

বিলম্ব (1000);

sensors.begin ();

sensors.setResolution (ProbeP, 10); // 10 হল রেজোলিউশন (10 বিট)

lcd.clear ();

আইডি = 0;

}

অকার্যকর লুপ ()

{// প্রধান লুপ।

dataString = স্ট্রিং (আইডি);

dataString = স্ট্রিং (',');

তারিখের সময় এখন = rtc.now ();

dataString = স্ট্রিং (এখন। বছর (), DEC);

dataString += স্ট্রিং ('/');

dataString += স্ট্রিং (এখন। মাস (), DEC);

dataString += স্ট্রিং ('/');

dataString += স্ট্রিং (now.day (), DEC);

dataString += স্ট্রিং ('');

dataString += স্ট্রিং (এখন। ঘন্টা (), DEC);

dataString += স্ট্রিং (':');

dataString += স্ট্রিং (now.minute (), DEC);

dataString += স্ট্রিং (':');

dataString += স্ট্রিং (now.second (), DEC);

lcd.home ();

lcd.print (dataString);

সেন্সর অনুরোধ তাপমাত্রা ();

displayTemperature (ProbeP);

Wire.beginTransmission (pH_address); // সার্কিটকে তার আইডি নম্বর দিয়ে কল করুন

Wire.write ('r'); // হার্ড কোড r ক্রমাগত পড়তে

Wire.endTransmission (); // I2C ডেটা ট্রান্সমিশন শেষ করুন।

বিলম্ব সময়_); // সার্কিটের নির্দেশনা সম্পূর্ণ করার জন্য সঠিক সময়ের অপেক্ষা করুন।

Wire.requestFrom (pH_address, 20, 1); // সার্কিটকে কল করুন এবং 20 বাইটের অনুরোধ করুন (এটি আমাদের প্রয়োজনের চেয়ে বেশি হতে পারে)

যখন (Wire.available ()) // সেখানে বাইট আছে

{

in_char = Wire.read (); // একটি বাইট পান।

যদি ((in_char> 31) && (in_char <127)) // চেকটি ব্যবহারযোগ্য কিনা তা পরীক্ষা করুন (মুদ্রণযোগ্য)

{

pH_data = ইন_চার; // এই বাইটটি আমাদের অ্যারেতে লোড করুন।

আমি+= 1;

}

যদি (in_char == 0) // যদি আমরা দেখি যে আমাদের একটি নাল কমান্ড পাঠানো হয়েছে।

{

আমি = 0; // কাউন্টার i কে 0 রিসেট করুন।

Wire.endTransmission (); // I2C ডেটা ট্রান্সমিশন শেষ করুন।

বিরতি; // যখন লুপ থেকে প্রস্থান করুন।

}

}

serial_event = 0; // সিরিয়াল ইভেন্ট পতাকা পুনরায় সেট করুন।

dataString2 += ",";

dataString2 += স্ট্রিং (pH_data);

Wire.beginTransmission (DO_address); // সার্কিটকে তার আইডি নম্বর দিয়ে কল করুন

Wire.write ('r');

Wire.endTransmission (); // I2C ডেটা ট্রান্সমিশন শেষ করুন

বিলম্ব সময়_); // সার্কিটের নির্দেশনা সম্পূর্ণ করার জন্য সঠিক সময়ের অপেক্ষা করুন

Wire.requestFrom (DO_address, 20, 1); // সার্কিট কল এবং 20 বাইট অনুরোধ

যখন (Wire.available ()) // সেখানে বাইট আছে।

{

in_char = Wire.read (); // একটি বাইট পান।

if ((in_char> 31) && (in_char <127)) // চেকটি ব্যবহারযোগ্য (মুদ্রণযোগ্য) কিনা তা পরীক্ষা করুন, অন্যথায় in_char এ.txt ফাইলের শুরুতে একটি চিহ্ন রয়েছে

{DO_data = in_char; // এই বাইটটি আমাদের অ্যারেতে লোড করুন

আমি+= 1; // অ্যারে এলিমেন্টের জন্য কাউন্টার লাগান

}

যদি (in_char == 0)

{// যদি আমরা দেখি যে আমাদের একটি নাল কমান্ড পাঠানো হয়েছে

আমি = 0; // কাউন্টার i কে 0 রিসেট করুন।

Wire.endTransmission (); // I2C ডেটা ট্রান্সমিশন শেষ করুন।

বিরতি; // যখন লুপ থেকে প্রস্থান করুন।

}

}

serial_event = 0; // সিরিয়াল ইভেন্ট পতাকা পুনরায় সেট করুন

pH_float = atof (pH_data);

dataString2 += ",";

dataString2 += স্ট্রিং (DO_data);

lcd.setCursor (0, 1);

lcd.print ("তাপমাত্রা/ pH/ DO");

lcd.setCursor (0, 2);

lcd.print (dataString2);

dataString += ',';

dataString += dataString2;

ফাইল dataFile = SD.open (logFileName, FILE_WRITE); // ফাইলটি খুলুন। মনে রাখবেন যে একবারে কেবল একটি ফাইল খোলা যেতে পারে, তাই অন্যটি খোলার আগে আপনাকে এটি বন্ধ করতে হবে।

যদি (dataFile) // যদি ফাইলটি পাওয়া যায়, তাতে লিখুন:

{

dataFile.println (dataString);

dataFile.close ();

Serial.println (dataString); // সিরিয়াল পোর্টেও মুদ্রণ করুন:

}

অন্যথায় {Serial.println ("ডেটালগ ফাইল খোলার ত্রুটি"); } // যদি ফাইলটি খোলা না থাকে, একটি ত্রুটি পপ আপ করুন:

lcd.setCursor (0, 3);

lcd.print ("চলমান (x5m):");

lcd.setCursor (15, 3);

lcd.print (id);

আইডি ++; // পরবর্তী পুনরাবৃত্তি একটি আইডি বৃদ্ধি

dataString = "";

বিলম্ব (300000); // বিলম্ব 5 মিনিট = 5*60*1000 ms

lcd.clear ();

} // শেষ প্রধান লুপ

অকার্যকর প্রদর্শন তাপমাত্রা (ডিভাইস ঠিকানা ডিভাইস ঠিকানা)

{

float tempC = sensors.getTempC (deviceAddress);

যদি (tempC == -127.00) lcd.print ("তাপমাত্রা ত্রুটি");

অন্য dataString2 = স্ট্রিং (tempC);

} // কোড এখানেই শেষ

  • সরঞ্জাম/পোর্টের অধীনে Arduino IDE এর মাধ্যমে সঠিক COM পোর্ট নির্বাচন করুন
  • ডান Arduino বোর্ড চয়ন করুন। আমি মেগা 2560 ব্যবহার করেছি কারণ এর অভ্যন্তরীণ মেমরি বেশি। Arduino Nano বা Uno এই সেটআপের সাথে ভাল কাজ করে।
  • চেক করুন এবং কোড করুন এবং কোড আপলোড করুন

ধাপ 7: তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে

তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
তারের ফলাফল (উন্নত করা যেতে পারে) এবং এলসিডি ডিসপ্লে
  • বিজ্ঞপ্তি: আমি ডিও প্রোব থেকে পিএইচ প্রোব পর্যন্ত 2-3 মাসের ক্রমাগত অপারেশনের পরে গোলমালের সম্মুখীন হয়েছি। অ্যাটলাস সায়েন্টিফিকের মতে, পিএইচ, কন্ডাক্টিভিটি প্রোব একসঙ্গে কাজ করার সময় ইন-লাইন ভোল্টেজ আইসোলেটর সুপারিশ করা হয়। আরো বিস্তারিত পৃষ্ঠা 9 (https://goo.gl/d62Rqv)
  • লগ করা ডেটা (প্রথমটিতে পিএইচ এবং ডিও ডেটার আগে অপ্রকাশিত অক্ষর রয়েছে)। আমি কেবল মুদ্রণযোগ্য অক্ষরের অনুমতি দিয়ে কোডে ফিল্টার করেছি।

ধাপ 8: ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন

ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
ডেটা আমদানি করুন এবং একটি গ্রাফ তৈরি করুন
  1. ডেটা ট্যাবের অধীনে পাঠ্য থেকে ডেটা আমদানি করুন (এক্সেল 2013)
  2. কমা দ্বারা ডেটা আলাদা করুন (এজন্য প্রতিটি ডেটা ইনপুটের পরে কমা থাকা সহায়ক)
  3. ডেটা প্লট করুন। নীচের প্রতিটি ডেটাতে প্রায় 1700 পয়েন্ট রয়েছে। পরিমাপের ব্যবধান 5 মিনিট (নিয়মিত)। DO এবং pH সার্কিটের ডেটা পড়ার জন্য সর্বনিম্ন 1.8 সেকেন্ড।

ধাপ 9: ক্রমাঙ্কন

ক্রমাঙ্কন
ক্রমাঙ্কন
  1. ডিজিটাল টেম্পারেচার সেন্সর (18B20) এর সাথে সরাসরি পার্থক্য সমন্বয় করে ক্যালিব্রেট করা যায়। অন্যথায়, যদি ক্ষতিপূরণ এবং opeালের জন্য ক্রমাঙ্কনের প্রয়োজন হয়, আপনি #লাইব্রেরি / ডালাস টেম্পারেচার ফোল্ডারে #453 লাইনের মান পরিবর্তন করে করতে পারেন।
  2. পিএইচ এবং ডিও প্রোবের জন্য, আপনি সহিত সমাধান সহ প্রোবগুলি ক্যালিব্রেট করতে পারেন। আপনাকে অ্যাটলাস সায়েন্টিফিকের নমুনা কোড ব্যবহার করতে হবে এবং এই ফাইলের নির্দেশনা অনুসরণ করতে হবে।
  3. অনুপাত এবং তাপমাত্রা ক্ষতিপূরণের জন্য pH প্রোবের (https://goo.gl/d62Rqv) পৃষ্ঠাগুলি 26 এবং 50 অনুসরণ করুন এবং DO প্রোবের জন্য পৃষ্ঠাগুলি 7-8 এবং 50 অনুসরণ করুন (https://goo.gl/mA32mp)। প্রথমে, দয়া করে অ্যাটলাস দ্বারা প্রদত্ত জেনেরিক কোডটি পুনরায় আপলোড করুন, একটি সঠিক কমান্ডে সিরিয়াল মনিটর এবং কী খুলুন।

ধাপ 10: খুব বেশি তারের?

  1. আপনি Arduino বোর্ডের জন্য Dragino Yun Shield (https://goo.gl/J9PBTH) ব্যবহার করে SD কার্ড এবং রিয়েল টাইম ক্লক মডিউল নির্মূল করতে পারেন। ইউন শিল্ডের সাথে কাজ করার জন্য কোডটি সংশোধন করা প্রয়োজন। এখানে শুরু করার জন্য একটি ভাল জায়গা (https://goo.gl/c1x8Dm)
  2. এখনও অনেক বেশি ওয়্যারিং: অ্যাটলাস সায়েন্টিফিক তাদের EZO সার্কিট (https://goo.gl/dGyb12) এবং সোল্ডারলেস বোর্ড (https://goo.gl/uWF51n) এর জন্য একটি গাইড তৈরি করেছে। 18B20 ডিজিটাল তাপমাত্রা সংহত করা এখানে (https://goo.gl/ATcnGd)। রাস্পবেরি পাই (https://goo.gl/549xvk) তে চলমান রাস্পবিয়ান (ডেবিয়ান লিনাক্সের একটি সংস্করণ) -এর কমান্ডের সাথে আপনাকে পরিচিত হতে হবে

ধাপ 11: স্বীকৃতি:

আমার পোস্টডক্টরাল গবেষণার সময় এটি আমার পার্শ্ব প্রকল্প যা আমি মাইক্রোএলজি চাষের জন্য একটি অগ্রিম ফটোবায়োরেক্টর নিয়ে কাজ করেছি। তাই আমি ভেবেছিলাম এটা করার জন্য দলগুলো যে শর্ত দিয়েছে তা ক্রেডিট করা প্রয়োজন। প্রথমত, অনুদান, DE-EE0007093: "বায়ুমণ্ডলীয় CO2 সমৃদ্ধি এবং বিতরণ (ACED)," মার্কিন যুক্তরাষ্ট্রের শক্তি বিভাগ, শক্তি দক্ষতা এবং পুনর্নবীকরণযোগ্য শক্তি লক্ষ্যযুক্ত অ্যালগাল জৈব জ্বালানি এবং জৈবপণ্য। অ্যারিজোনা স্টেট ইউনিভার্সিটির বায়োডিজাইন সোয়েট সেন্টার ফর এনভায়রনমেন্টাল বায়োটেকনোলজিতে ড Dr. ব্রুস ই। আমি পরিবেশগত প্রকৌশল, বেশিরভাগ রসায়ন, কিছুটা মাইক্রোবায়োলজিতে প্রশিক্ষণ পেয়েছিলাম।

প্রস্তাবিত: