Բովանդակություն:

Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)
Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)

Video: Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)

Video: Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)
Video: SCP-1730 Ինչ է պատահել կայքի-13. 2024, Դեկտեմբեր
Anonim
Image
Image
Պատկեր
Պատկեր

Նպատակներ:

  • Ստեղծեք տվյալների գրանցիչ ≤ 500 դոլարով: Այն պահում է ջերմաստիճանի, pH- ի և DO- ի տվյալները ժամանակային կնիքով և I2C հաղորդակցության միջոցով:
  • Ինչու՞ I2C (ինտեգրված սխեմա): Կարելի է միևնույն տողում հավաքել նույնքան տվիչ ՝ հաշվի առնելով, որ դրանցից յուրաքանչյուրն ունի յուրահատուկ հասցե:

Քայլ 1:

Քայլ 2: Գնեք ստորև բերված մասերը

Գնեք ստորև բերված մասերը
Գնեք ստորև բերված մասերը
  1. Arduino MEGA 2560, 35 դոլար,
  2. Էլեկտրական ադապտեր Arduino տախտակի համար, $ 5.98,
  3. LCD մոդուլ I2C (ցուցադրում), 8.99 դոլար,
  4. Իրական ժամանակի ժամացույցի (RTC) բեկում, 7.5 դոլար,
  5. MicroSD քարտի բեկման տախտակ, 7.5 դոլար,
  6. 4 ԳԲ SD քարտ, $ 6.98,
  7. Անջրանցիկ DS18B20 Թվային տվիչ, $ 9.95,
  8. pH զոնդ + Կոմպլեկտներ + Ստանդարտ բուֆերներ, $ 149.15,
  9. DO probe + Kits + Standard buffers, $ 247.45,
  10. Breadboard, jumper cable, $ 7.98,
  11. (Լրացուցիչ) Լարման մեկուսիչ, $ 24,

Ընդհանուր `$ 510.48

* Որոշ մասեր (ինչպես ընդհանուր տախտակը) կարելի է գնել այլ վաճառողներից (eBay, չինացի վաճառող) ավելի ցածր գնով: pH և DO զոնդերը խորհուրդ են տրվում դրանք ստանալ Atlas Scientific- ից:

* Հաղորդունակությունը և լարումը ստուգելու համար առաջարկվում է բազմաչափ: Այն արժե մոտ $ 10-15 (https://goo.gl/iAMDJo)

Քայլ 3: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
  • Օգտագործեք jumper/DuPont մալուխներ `մասերը միացնելու համար, ինչպես ցույց է տրված ստորև ներկայացված ուրվագծում:
  • Օգտագործեք մուլտիմետրը `հաղորդունակությունը ստուգելու համար:
  • Ստուգեք Positive-Voltage Supply (VCC) and Ground (GND) (հեշտ է շփոթել, եթե դուք ծանոթ չեք միացումին)
  • Միացրեք հոսանքի ադապտերը և ստուգեք յուրաքանչյուր մասի էներգիայի ցուցիչը: Երբ կասկածներ ունեք, օգտագործեք բազմաչափը `ստուգելու VCC- ի և GND- ի լարումը (5V)

Քայլ 4. Պատրաստեք PH, DO Circuits, SD քարտ

Պատրաստեք PH, DO Circuits, SD քարտ
Պատրաստեք PH, DO Circuits, SD քարտ
  1. Անցնել I2C- ի pH և DO սխեմաների համար
  2. PH- ի և DO- ի ճեղքումները առաքվում են Սերիական հաղորդակցությամբ ՝ որպես փոխանցման/ստացման կանխադրված ռեժիմ (TX/RX): I2C ռեժիմի ժամացույցի գիծը (SCL) և տվյալների գիծը (SDA) օգտագործելու համար ռեժիմը փոխեք (1) -ով `անջատեք VCC, TX, RX մալուխներ, (2). Ցատկեք TX to Ground for Probe, PGND (ոչ GND), (3) միացրեք VCC- ն միացմանը, (4). Սպասեք, որ LED- ը կանաչից դառնա կապույտ: Առավել մանրամասն ստուգեք 39 -րդ էջում (pH միացման տվյալների թերթիկ,
  3. Նույն քայլը կատարեք DO միացումով
  4. (եթե գիտեք, թե ինչպես պետք է նմուշի կոդը վերբեռնել տախտակ, կարող եք դա անել Սերիական մոնիտորի միջոցով)
  5. Ձևաչափեք SD քարտը FAT ձևաչափով

Քայլ 5: Պատրաստեք ծրագրակազմ

Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
Պատրաստեք ծրագրակազմ
  1. Ներբեռնեք Arduino ինտեգրված զարգացման միջավայր (IDE),
  2. Տեղադրեք գրադարան Arduino IDE- ում ՝
  3. Նրանցից շատերը գալիս են Arduino ծրագրային ապահովմամբ: LiquidCrystal_I2C.h հասանելի է GitHub- ի միջոցով
  4. Տեղադրեք վարորդը USB- ի համար: Իսկական Arduino- ի համար, գուցե, կարիք չկա տեղադրել այն: Ընդհանուրի համար անհրաժեշտ է տեղադրել CH340 վարորդ (GitHub ՝
  5. Ստուգեք, թե արդյոք տախտակը ճիշտ եք միացնում `գործարկելով թարթող LED թեստ
  6. Ինչպես գտնել 18B20 թվային ջերմաստիճանի MAC հասցեն: Օգտագործելով I2C սկաների ձևանմուշը Arduino IDE- ում `զոնդը միացված: Յուրաքանչյուր սարք ունի յուրահատուկ MAC հասցե, այնպես որ կարող եք օգտագործել նույնքան ջերմաստիճանի զոնդ մեկ ընդհանուր գծով (#9): 18B20- ն օգտագործում է մեկ լարի I2C, ուստի դա I2C հաղորդակցության մեթոդի հատուկ դեպք է: Ստորև բերված է MAC- ի ՝ Բժշկական մուտքի վերահսկման («ROM») գտնելու մեկ մեթոդ ՝ ստորև նշված ընթացակարգը վարելիս:

Քայլ 6: Սկսեք կոդավորումը

Սկսեք կոդավորումը
Սկսեք կոդավորումը
  • Պատճենեք տեղադրեք ստորև նշված կոդը Arduino IDE- ում:
  • Կամ ներբեռնեք կոդը (.ino), և նոր պատուհան պետք է հայտնվի Arduino IDE- ում:

/*

Տեղեկատվական ձեռնարկներ.

1. peratերմաստիճան, ORP, pH անտառահատ ՝

2. Ապահով թվային (SD) վահան ՝

Այս ծածկագիրը տվյալներ կտա Arduino սերիական մոնիտորին: Arduino սերիական մոնիտորի մեջ մուտքագրեք հրամաններ ՝ I2C ռեժիմում EZO pH սխեման վերահսկելու համար:

Փոփոխված է վերը նշված ձեռնարկներից, հիմնականում I2C ծածկագրից ՝ Atlas-Scientific- ի կողմից

Վերջին անգամ թարմացվել է ՝ 2017 թվականի հուլիսի 26 -ին, Binh Nguyen- ի կողմից

*/

#ներառել // միացնել I2C- ն:

#սահմանել pH_ հասցե 99 // կանխադրված I2C ID համար EZO pH սխեմայի համար:

#սահմանեք DO_address 97 // կանխադրված I2C ID համար EZO DO Circuit- ի համար:

#ներառել «RTClib.h» // Ամսաթիվ և ժամ գործառույթներ ՝ օգտագործելով DS1307 RTC ՝ միացված I2C և Wire lib- ի միջոցով

RTC_DS1307 rtc;

#ներառել // SD գրադարանի համար

#ներառել // SD քարտ ՝ տվյալները պահելու համար

const int chipSelect = 53; // պետք է պարզել Adafruit SD- ի բեկումը //

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

char logFileName = "dataLT.txt"; // փոփոխել logFileName- ը `ձեր փորձը նույնականացնելու համար, փորձաշրջանի համար PBR_01_02, datalog1

երկար id = 1; // գրանցման կարգը մուտքագրելու id համարը

#ներառում

LiquidCrystal_I2C LCD (0x27, 20, 4);

#ներառում

#ներառում

# սահմանել ONE_WIRE_BUS 9 // սահմանել ջերմաստիճանի զոնդի համար քորոցը #

OneWire oneWire (ONE_WIRE_BUS);

DallasTemperature տվիչներ (& oneWire);

DeviceAddress ProbeP = {0x28, 0xC2, 0xE8, 0x37, 0x07, 0x00, 0x00, 0xBF}; // MAC հասցե ՝ յուրահատուկ յուրաքանչյուր զոնդի համար

Լարային տվյալներ Լարային; // բոլոր տվյալները պահելու հիմնական տարբերակը

Լարային տվյալներString2; // printերմաստիճանը/pH/DO տպելու համար ժամանակավոր տարբերակ պահելու համար

char համակարգչային տվյալներ [20]; // հրահանգ Atlas Scientific- ից. մենք կազմում ենք 20 բայթ բնույթի զանգված `համակարգչից/մակ/այլից մուտքային տվյալները պահելու համար:

բայթ ստացված_համակարգչից = 0; // մենք պետք է իմանանք, թե քանի նիշ է ստացվել:

բայթ serial_event = 0; // դրոշ `ազդանշան տալու համար, երբ տվյալները ստացվել են համակարգչից/mac/other- ից:

բայթ կոդը = 0; // օգտագործվում է I2C արձագանքման կոդը պահելու համար:

char pH_data [20]; // մենք կազմում ենք 20 բայթ բնույթի զանգված `pH միացումից մուտքային տվյալները պահելու համար:

բայթ in_char = 0; // օգտագործվում է որպես 1 բայթ բուֆեր `pH շղթայից կապված բայթերում պահելու համար:

բայթ i = 0; // հաշվիչ, որն օգտագործվում է ph_data զանգվածի համար:

int ժամանակ_ = 1800; // օգտագործվում է անհրաժեշտ հետաձգումը փոխելու համար ՝ կախված EZO դասի pH շղթա ուղարկված հրամանից:

բոց pH_float; // float var օգտագործվում է pH- ի բոց արժեքը պահելու համար:

char DO_data [20];

// float temp_C;

void setup () // ապարատային նախաստորագրում:

{

Serial.begin (9600); // միացնել սերիական նավահանգիստը:

Wire.begin (pH_հասցե); // միացնել I2C նավահանգիստը pH զոնդի համար

Wire.begin (DO_address);

lcd.init ();

lcd. սկսել (20, 4);

lcd. լուսարձակը ();

lcd. տուն ();

lcd.print («Ողջույն PBR»);

lcd.setCursor (0, 1);

lcd.print («Նախագծում…»);

Serial.print («RTC- ն է…»);

եթե (! rtc.gegin ())

{

Serial.println ("RTC: Իրական ժամանակի ժամացույց … ՉԻ ԳՏԵԼ");

իսկ (1); // (Serial.println ("RTC: Իրական ժամանակի ժամացույց … Գտնվել է"));

}

Serial.println («ՎԱUNԱՌՎՈ Մ»);

Serial.print («Իրական ժամանակի ժամացույց…»);

եթե (! rtc.isrunning ())

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

}

Serial.println («ԱՇԽԱՏԱՆՔ»);

lcd.setCursor (0, 0);

lcd.println ("RTC: OK");

Serial.print («SD քարտ …»); // տեսնել, արդյոք քարտը ներկա է և կարող է նախաստորագրվել.

եթե (! SD.begin (chipSelect))

{Serial.println ("Չհաջողվեց"); // ավել ոչինչ մի արա.

վերադարձ;

}

Serial.println («Լավ»);

lcd.setCursor (0, 1);

lcd.println ("SD քարտ. OK");

Serial.print ("Մատյան ֆայլ.");

Serial.print (logFileName);

Serial.print ("…");

Ֆայլ logFile = SD.open (logFileName, FILE_WRITE); // բացեք ֆայլը: «datalog» և տպել վերնագիրը

եթե (logFile)

{

logFile.println (",,,"); // նշեք, որ նախորդ աշխատանքում եղել են տվյալներ

Լարերի վերնագիր = "Ամսաթիվ -imeամանակ, Տեմպ (C), pH, DO";

logFile.println (վերնագիր);

logFile.close ();

Serial.println («ՊԱՏՐԱՍՏ»);

//Serial.println(dataString); // տպել նաև սերիական պորտին.

}

else {Serial.println ("սխալ բացում է տվյալների ցուցակ"); } // եթե ֆայլը բաց չէ, բացեք սխալ.

lcd.setCursor (0, 2);

lcd.print ("Մատյան ֆայլ.");

lcd.println (logFileName);

ուշացում (1000);

տվիչներ. սկսել ();

sensors.setResolution (ProbeP, 10); // 10 -ը բանաձևն է (10 բիթ)

lcd. հստակ ();

id = 0;

}

դատարկ շրջան ()

{// հիմնական հանգույցը:

dataString = Լար (id);

dataString = Լար (',');

DateTime now = rtc.now ();

dataString = Լար (այժմ. տարի (), DEC);

dataString += Լար ('/');

dataString += Լար (այժմ. ամիս (), DEC);

dataString += Լար ('/');

dataString += Լար (այժմ. օր (), DEC);

dataString += Լար ('');

dataString += Լար (այժմ. ժամ (), DEC);

dataString += Լար (':');

dataString += Լար (այժմ. րոպե (), DEC);

dataString += Լար (':');

dataString += Լար (այժմ. երկրորդ (), DEC);

lcd. տուն ();

lcd.print (dataString);

տվիչներ. խնդրում ենք ջերմաստիճաններ ();

displayTemperature (ProbeP);

Wire.beginTransmission (pH_address); // միացում զանգահարեք իր ID համարով

Wire.write ('r'); // կոշտ ծածկագիր r անընդհատ կարդալ

Wire.endTransmission (); // ավարտել I2C տվյալների փոխանցումը:

ուշացում (ժամանակ_); // սպասեք ճիշտ ժամանակին, մինչև միացումն ավարտի իր հրահանգը:

Մետաղալար. Խնդրում ենք (pH_ հասցե, 20, 1); // զանգահարեք միացում և պահանջեք 20 բայթ (սա կարող է ավելին լինել, քան մեզ պետք է)

while (Wire.available ()) // կա՞ն բայթ ստանալու համար

{

in_char = Wire.read (); // ստանալ բայթ:

եթե ((in_char> 31) && (in_char <127)) // ստուգեք, արդյոք նշանը օգտագործելի է (տպելի՞ է)

{

pH_data = in_char; // բեռնել այս բայթը մեր զանգվածում:

i+= 1;

}

if (in_char == 0) // եթե տեսնենք, որ մեզ ուղարկվել է null հրաման:

{

i = 0; // հաշվիչը զրոյի հասցնել 0 -ի:

Wire.endTransmission (); // ավարտել I2C տվյալների փոխանցումը:

ընդմիջում; // դուրս գալ while հանգույցից:

}

}

սերիալային իրադարձություն = 0; // վերականգնել սերիայի իրադարձության դրոշը:

dataString2 += ",";

dataString2 += Լար (pH_data);

Wire.beginTransmission (DO_address); // միացում զանգահարեք իր ID համարով

Wire.write ('r');

Wire.endTransmission (); // ավարտել I2C տվյալների փոխանցումը

ուշացում (ժամանակ_); // սպասեք ճիշտ ժամանակին, մինչև միացումն ավարտի իր հրահանգը

Մետաղալար. Խնդրում ենք (DO_address, 20, 1); // զանգահարեք միացում և պահանջեք 20 բայթ

while (Wire.available ()) // կա՞ն բայթ ստանալու համար:

{

in_char = Wire.read (); // ստանալ բայթ:

եթե ((in_char> 31) && (in_char <127)) // ստուգեք, արդյոք նշանը օգտագործելի է (տպելի՞ է), հակառակ դեպքում in_char- ը սկզբնական խորհրդանիշ է պարունակում.txt ֆայլում

{DO_data = in_char; // բեռնել այս բայթը մեր զանգվածում

i+= 1; // առաջացնել հաշվիչ զանգվածի տարրի համար

}

եթե (in_char == 0)

{// եթե տեսնենք, որ մեզ ուղարկվել է null հրաման

i = 0; // հաշվիչը զրոյի հասցնել 0 -ի:

Wire.endTransmission (); // ավարտել I2C տվյալների փոխանցումը:

ընդմիջում; // դուրս գալ while հանգույցից:

}

}

սերիալային իրադարձություն = 0; // վերականգնել սերիայի իրադարձության դրոշը

pH_float = atof (pH_data);

dataString2 += ",";

dataString2 += Լար (DO_data);

lcd.setCursor (0, 1);

lcd.print («Temերմաստիճանը/ pH/ DO»);

lcd.setCursor (0, 2);

lcd.print (dataString2);

dataString += ',';

dataString += dataString2;

Ֆայլի dataFile = SD.open (logFileName, FILE_WRITE); // բացեք ֆայլը: նշեք, որ միաժամանակ կարող է բացվել միայն մեկ ֆայլ, այնպես որ մյուսը բացելուց առաջ այն պետք է փակեք:

if (dataFile) // եթե ֆայլը հասանելի է, գրեք դրան.

{

dataFile.println (dataString);

dataFile.close ();

Serial.println (dataString); // տպել նաև սերիական պորտին.

}

else {Serial.println ("սխալ է բացում datalog ֆայլը"); } // եթե ֆայլը բաց չէ, բացեք սխալ.

lcd.setCursor (0, 3);

lcd.print ("Վազում (x5 մ).");

lcd.setCursor (15, 3);

lcd.print (id);

id ++; // մեծացնել մեկ ID հաջորդ կրկնությունը

dataString = "";

ուշացում (300000); // ուշացում 5 րոպե = 5*60*1000 մս

lcd. հստակ ();

} // ավարտել հիմնական հանգույցը

դատարկ ցուցադրում peratերմաստիճանը (DeviceAddress deviceAddress)

{

float tempC = sensors.getTempC (deviceAddress);

if (tempC == -127.00) lcd.print ("Temերմաստիճանի սխալ");

else dataString2 = Լար (tempC);

} // կոդը ավարտվում է այստեղ

  • Ընտրեք ճիշտ COM նավահանգիստ Arduino IDE- ի միջոցով Գործիքներ/նավահանգիստ
  • Ընտրեք ճիշտ Arduino տախտակը: Ես օգտագործել եմ Mega 2560- ը, քանի որ այն ունի ավելի շատ ներքին հիշողություն: Arduino Nano- ն կամ Uno- ն լավ են աշխատում այս կարգավորմամբ:
  • Ստուգեք և ծածկագրեք և վերբեռնեք ծածկագիրը

Քայլ 7. Լարերի (կարող է բարելավվել) արդյունքները և LCD էկրանը

Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Էլեկտրագծերի արդյունքները (կարող են բարելավվել) և LCD էկրանը
Արդյունքները լարերի վրա (կարող է բարելավվել) և LCD էկրանին
Արդյունքները լարերի վրա (կարող է բարելավվել) և LCD էկրանին
  • Iceանուցում. Ես աղմուկի հանդիպեցի DO զոնդից մինչև pH զոնդ, 2-3 ամիս շարունակական աշխատանքից հետո: Ըստ Atlas Scientific- ի, առաջարկվում է լարման մեկուսիչ, երբ pH- ն, հաղորդունակության զոնդերը գործում են միասին: Առավել մանրամասն ՝ 9 -րդ էջում (https://goo.gl/d62Rqv)
  • Մուտքագրված տվյալները (առաջինն ունի pH- ի և DO- ի տվյալներից առաջ չտպագրված նիշեր): Ես զտեցի կոդը ՝ թույլ տալով միայն տպելի նիշեր:

Քայլ 8: Տվյալների ներմուծում և գծապատկեր կազմեք

Ներմուծեք տվյալները և կազմեք գրաֆիկ
Ներմուծեք տվյալները և կազմեք գրաֆիկ
Ներմուծեք տվյալները և կազմեք գրաֆիկ
Ներմուծեք տվյալները և կազմեք գրաֆիկ
Ներմուծեք տվյալները և կազմեք գրաֆիկ
Ներմուծեք տվյալները և կազմեք գրաֆիկ
  1. Տվյալների ներմուծում Տվյալների տակ ՝ Տվյալների ներքո (Excel 2013)
  2. Տվյալներն առանձնացրեք ստորակետով (այդ իսկ պատճառով յուրաքանչյուր տվյալների մուտքագրումից հետո ստորակետ ունենալն օգտակար է)
  3. Պատկերացրեք տվյալները: Ստորև բերված յուրաքանչյուր տվյալ ունի մոտ 1700 միավոր: Չափման միջակայքը 5 րոպե է (կարգավորելի): Տվյալները կարդալու համար DO և pH սխեմաների համար նվազագույնը 1.8 վրկ է:

Քայլ 9: Կալիբրացում

Կալիբրացիա
Կալիբրացիա
  1. Digitalերմաստիճանի թվային տվիչը (18B20) կարող է ճշգրտվել ՝ տարբերությունը անմիջապես կարգավորելով: Հակառակ դեպքում, եթե փոխհատուցումը և թեքությունը պահանջում են ճշգրտում, կարող եք դա անել ՝ փոխելով արժեքները #453 տողում, DallasTemperature.cpp, / libraries / DallasTemperature պանակում:
  2. PH և DO զոնդերի համար կարող եք չափագրել զոնդերը ուղեկցող լուծումներով: Դուք պետք է օգտագործեք Atlas Scientific- ի օրինակելի կոդը և հետևեք այս ֆայլի հրահանգներին:
  3. Խնդրում ենք հետևել 26-րդ և 50-րդ էջերին pH զոնդի համար (https://goo.gl/d62Rqv) տրամաչափման և ջերմաստիճանի փոխհատուցման համար, ինչպես նաև 7-8 և 50-րդ էջերին ՝ DO զոնդի համար (https://goo.gl/mA32mp): Նախ, խնդրում ենք վերբեռնել Atlas- ի տրամադրած ընդհանուր ծածկագիրը, բացել Serial Monitor- ը և մուտքագրել համապատասխան հրաման:

Քայլ 10: Չափից շատ լարեր:

  1. Դուք կարող եք վերացնել SD քարտը և իրական ժամանակի ժամացույցի մոդուլը ՝ օգտագործելով Argino տախտակների համար նախատեսված Dragino Yun Shield- ը (https://goo.gl/J9PBTH): Յուն Շիլդի հետ աշխատելու համար անհրաժեշտ էր փոփոխել ծածկագիրը: Ահա լավ վայր է սկսելու համար (https://goo.gl/c1x8Dm)
  2. Դեռևս չափազանց շատ էլեկտրագծեր. Atlas Scientific- ը պատրաստեց ուղեցույց իրենց EZO սխեմաների համար (https://goo.gl/dGyb12) և առանց զոդման տախտակի (https://goo.gl/uWF51n): 18B20 թվային ջերմաստիճանի ինտեգրումն այստեղ է (https://goo.gl/ATcnGd): Դուք պետք է ծանոթ լինեք Raspbian Pi- ով աշխատող Raspbian- ի (Debian Linux- ի տարբերակ) հրամաններին (https://goo.gl/549xvk)

Քայլ 11: Ընդունում

Սա իմ կողմնակի նախագիծն է հետդոկտորական հետազոտություններիս ընթացքում, որը ես աշխատել եմ նախապես ֆոտոբիորակտորի վրա `միկրոջրիմուռներ մշակելու համար: Այսպիսով, ես մտածեցի, որ անհրաժեշտ է վարկավորել, որ կողմերը պայմաններ են ապահովել դա իրականացնելու համար: Նախ ՝ դրամաշնորհը ՝ DE-EE0007093 ՝ «Մթնոլորտային CO2 հարստացում և առաքում (ACED)», ԱՄՆ էներգետիկայի դեպարտամենտի, Էներգաարդյունավետության և վերականգնվող էներգիայի գրասենյակի նպատակային ջրիմուռային կենսավառելիք և կենսապրանքներ: Շնորհակալ եմ դոկտոր Բրյուս Է. Ռիթմանին Biodesign Swette Environmental Biotechnology, Arizona State Univesity- ում, որն ինձ հնարավորություն տվեց անդրադառնալ էլեկտրոնիկայի և Arduino- ի հետ: Ես սովորել եմ շրջակա միջավայրի ճարտարագիտության, հիմնականում քիմիայի, մի փոքր մանրէաբանության բնագավառում:

Խորհուրդ ենք տալիս: