Назад   Львівський форум акваріумістів > Прісноводна акваріумістика > Інше устаткування
Правила форуму !!!
Громадські гурти Баня Галерея Нагороди ЧаПи Учасники Календар Позначити усі розділи як прочитані

Інше устаткування СО-установки, УФ-стерилізатори, автоматичні годівниці, автодолив, таймери, термометри, контролери і т. п.

Відповідь
 
Параметри теми
Старий 20.08.2016, 14:03   #1
Bobus
Живу на форумі
 
Аватар для Bobus
Львів
 

Реєстрація: 13.04.2010
Дописи: 5.001
Подякував(ла): 3.634
Подякували 15.624 разів в 4.154 дописах
Репутація: 15813

Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року 

Типово Саморобний колориметр

Все почалося з того, що крапельні нітрат-фосфат тести трохи дістали.
У дешевих - ті кольорові шкали не співпадають з реальним кольором у баночці незалежно від освітлення. Тому процес вимірювання перетворюється на догадки.
У дорогих - з поліграфією краще. Але шкали надто грубі, тому результат оцінюєш з точністю "десь біля".
А ще чекати від кількох хвилин до десяти і лише тоді витріщатися на ті кольори ...
А ще тести з часом дохнуть ... А дешеві тести відрізняються в залежності від партії..

Тому виникло бажання зробити колориметр.
Колориметр - то така штука, за допомогою котрої можна оцінити інтенсивність кольору.
Хіміки то використовують віддавна для вимірювання концентрації речовини в розчині.
Ідея, власне, стара як світ: світлом відповідного кольору просвічуємо розчин і вимірюємо освітленість з протилежного боку.
Попередньо треба зробити і протестувати кілька розчинів з відомою концентрацією, щоб побудувати відповідний графік по кількох точках. Але то лише один раз, потім досить час від часу перевіряти свій тест на стандартному розчині.
Враховуючи те, що тест на нітрати і фосфати різного кольору, то колориметр може автоматично визначати вид тесту.

В результаті вийшла така коробочка



Робимо тест згідно інструкції і вставляємо баночку в отвір. Починається відлік часу.



Коли час закінчився - з'являється значення виміру, котре загасне, коли витягнемо баночку.



Ото й усе. Якщо комусь цікаво - з часом опишу прилад в подробицях.
Долучені зображення
Тип файлу: jpg 1.JPG (40,9 КБ, 125 переглядів)
Тип файлу: jpg 2.JPG (46,9 КБ, 126 переглядів)
Тип файлу: jpg 3.JPG (60,8 КБ, 123 переглядів)
__________________
Choc juz zycia, psiamac, popoludnie - Jest cudnie
Bobus зараз поза форумом   Відповісти з цитуванням
16 користувачів подякували Bobus:
Andrew1 (31.03.2017), Burij (20.08.2016), colinmcrae (26.08.2016), george795 (20.08.2016), kinolog (20.08.2016), KRustik (21.08.2016), Mlevo (20.08.2016), Rain (26.08.2016), ressi (21.08.2016), Sasha@ (20.08.2016), sergiy (20.08.2016), YuraIF (20.08.2016), Yurskiy (21.08.2016), Нічна Лють (20.08.2016), тешнер (20.08.2016), Ярослав (20.08.2016)
Реклама
Старий 21.08.2016, 11:13   #2
sergiy
Учасник
Львів
 

Реєстрація: 04.08.2010
Дописи: 165
Подякував(ла): 631
Подякували 225 разів в 161 дописах
Репутація: 240
Типово Відповідь: Саморобний колориметр

Цитата:
Допис від Bobus Переглянути допис
Якшо комусь цікаво - з часом опишу прилад в подробицях.
Чекаємо з нетерпінням,дуже цікаво
sergiy зараз поза форумом   Відповісти з цитуванням
Старий 25.08.2016, 20:06   #3
Bobus
Живу на форумі
 
Аватар для Bobus
Львів
 

Реєстрація: 13.04.2010
Дописи: 5.001
Подякував(ла): 3.634
Подякували 15.624 разів в 4.154 дописах
Репутація: 15813

Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року Акваріуміст року 

Типово Відповідь: Саморобний колориметр

Якщо справді комусь цікаво, то почну.

Звісно, хотілось, щоб то було недорого, тому купуємо китайські клони
1. Arduino Nano v3.0 (CH340G) - 1шт
2. LCD OLED 0.96Є" 128X64 SPI ДИСПЛЕЙ (СИНІЙ) - 1шт
3. RGB cвітлодіод діаметром 5мм зі спільним анодом - 1шт
4. Фоторезистор (найзвичайнісінький для Arduino) - 1шт
5. Транзистор MPS404A - 3 шт. (або будь-який малопотужний pnp транзистор)
6. Резистор 1 КОм - 1шт
7. Резистор 470 Ом - 1шт
8. Резистор 68 Ом - 1шт ( можливо прийдеться зменшити, щоб струм через діод був біля 10мА)
9. Відсік для шести елементів ААА (кому більше до вподоби "Крона" 6F22 - то відсік для неї, або роз’єм. )

10. Корпус. В мене Z45P PS (Kradex) 43x55x100мм ( чи який кому сподобається ).
11. Мікровимикач живлення. Ось такий.


12. Кусочки акрилу, клей.

Ну і про вартість того.
Позиції з 1 по 5 включно - приблизно 280 грн з доставкою того ж дня до під'їзду. Звісно можна знайти дешевше, але мені було ліньки, тому брав тут http://diylab.com.ua/
Позиції 9 і 10 близько 80 грн ( "радіомаг" на радіобазарі )
Решта - лежало у шухляді. А якщо то купувати - то ще + 20 грн.
Важливо :
Пристрій працюватиме вкрай неточно, якщо на контакт VIN не подається напруга живлення більша ніж 7 Вольт. Тому живити через USB не варто. Як і від інших джерел напруги менше 7 Вольт.
Стабілізатор струму світлодіода є необхідним, інакше виміри доволі сильно залежатимуть від температури.

Для баночки треба склеїти "шахту". На її протилежних стінках висверлити отвори і клеєвим пістолетом приліпити світлодіод і фоторезистор на висоті половини рівня рідини в баночці.



А збоку закріпити мікровимикач, щоб він вмикався при вставлянні баночки.



З'єднання виглядають так



Ну і скетч

Код:
#include <SPI.h>
#include <Adafruit_SSD1306.h>

// Using software SPI (the default case):

#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

// first raw of calibrate array is the values coming from the photoresistor according to 0; 0.25; 0.5; 1.0; 2.0; 5.0 phosphate concentration : 
// third raw of calibrate array is the values coming from the photoresistor according to 0; 2.5; 5.0; 10.0; 20.0; 50.0 nitrate concentration :

float calibrate[4][6]=
{
  {536,565,595,633,709,814},
  {0,25,50,100,200,500},
  {740,780,815,845,890,940},
  {0,250,500,1000,2000,5000}
};


int timeoftest[2]= {180,600}; // time in sec for PO4 and NO3 test
int sensorPin = A0;    // select the input pin for the photoresistor
int sensorValue1 = 0;  // variable to store the value coming from the photoresistor
int sensorValue2 = 0;  // variable to store the value coming from the photoresistor
byte index = 0;        // array raw number
byte NorP = 0;         // if 0 - then phosphate, if 2 - then nitrate

void setup()   
{                
    Serial.begin(9600);

    
    display.begin(SSD1306_SWITCHCAPVCC); // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
   
    display.clearDisplay();              // init done
    display.display();
    
   // pinMode(6, OUTPUT); //green led reserved
    pinMode(7, OUTPUT);   //red led
    pinMode(8, OUTPUT);   //blue led
    
     digitalWrite(7, HIGH); //red led off
     digitalWrite(8, HIGH); //blue led off

 }

void loop()
{ 
  delay (1000);
  digitalWrite(8, LOW);   //blue led on
  delay (1000);
  sensorValue1 = analogRead(sensorPin);
  digitalWrite(8, HIGH);   //blue led off

  digitalWrite(7, LOW);   //red led on
  delay (1000);
  sensorValue2 = analogRead(sensorPin);
  digitalWrite(7, HIGH);   //red led off
 
  // definite NO3 or PO4 
  if (sensorValue2 + 100 <=  sensorValue1) {
    NorP = 2;
    digitalWrite(8, LOW);}
    else {
    NorP = 0;
    digitalWrite(7, LOW);}
    delay (5000);
  sensorValue1 = analogRead(sensorPin);
  

  // timer
  for ( int i = 0; i < timeoftest[NorP / 2]; i++)  
  {delay (1000);
   display.clearDisplay();
   display.setTextSize(4);
   display.setTextColor(WHITE);
   display.setCursor(0,0); 
   display.print(timeoftest[NorP / 2] - i);
   display.println ("s");
   display.display();
  }

 sensorValue1 = analogRead(sensorPin); 

 digitalWrite(8, HIGH);   //blue led off
 digitalWrite(7, HIGH);   //red led off
 
 if (sensorValue1 <=  calibrate[NorP][0]) { sensorValue1 = calibrate[NorP][0] +1 ; }
 
 
  for (int i = 0; i < 5; i++)
  { if (sensorValue1 > calibrate[NorP][i]) {index = i ; } }

float result = (( calibrate[NorP + 1][index + 1] - calibrate[NorP + 1][index]) / (calibrate[NorP][index + 1] - calibrate[NorP][index]) * ( sensorValue1 - calibrate[NorP][index]) + calibrate[NorP + 1][index])/100;

Serial.print (NorP);
Serial.print ("   ");
Serial.print (index);
Serial.print ("   ");
Serial.println (sensorValue1);
  display.clearDisplay();
  display.setTextSize(4);
  display.setTextColor(WHITE);
  display.setCursor(0,0);

  if (NorP < 1 ) {
                  if (result > 8) {display.println("> 8.0");}
                  else            {display.println(result,1);}
                 }
  else           {
                  if (result > 80) {display.println("> 80");}
                   else {display.println(result,1);}
                 }
  
  display.setTextSize(1);
  display.println(" ");
  display.setTextSize(2);
   if ( NorP <= 1) {display.println(" mg/L PO4");}
   else {display.println(" mg/L NO3");} 
  display.display();
  delay(4000000);
  display.clearDisplay(); 
  

}
Будуть питання - відповім.
Долучені зображення
Тип файлу: jpg micro.JPG (26,1 КБ, 68 переглядів)
Тип файлу: jpg відсік.jpg (102,4 КБ, 68 переглядів)
Тип файлу: jpg ledin.jpg (18,3 КБ, 68 переглядів)
Тип файлу: jpg мікро.jpg (30,7 КБ, 67 переглядів)
Тип файлу: jpg colorimetr.jpg (178,9 КБ, 66 переглядів)
__________________
Choc juz zycia, psiamac, popoludnie - Jest cudnie
Bobus зараз поза форумом   Відповісти з цитуванням
7 користувачів подякували Bobus:
Andrew1 (31.03.2017), bermooood (24.04.2017), george795 (25.08.2016), Rain (26.08.2016), ressi (26.08.2016), sergiy (27.08.2016), Ярослав (26.08.2016)
Відповідь

Закладки


Тут присутні: 1 (учасників - 0 , гостей - 1)
 
Параметри теми

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід

Схожі теми
Тема Автор Розділ Відповідей Останній допис
Саморобний Lilypipe Ye_Lviv Інше устаткування 32 17.02.2013 00:29
Мій саморобний акваріум vladlv Прісноводні акваріуми учасників форуму 45 21.08.2012 04:01
Саморобний Акватерраріум Терлецький Дмитро Палюдаріум 1 02.03.2011 14:22
Саморобний інкубатор ікри Roman71 Інше устаткування 13 09.02.2011 00:04


Часовий пояс GMT +3. Поточний час: 22:47.


All rights reserved