Датчик pH для ардуино

В различных проектах на ардуино, иногда необходимо знать кислотность жидкости, например воды. Кислотность (pH) измеряется в пределах от 1 до 14 pH. Значение в 7 pH считается нормальной средой, все что больше 7 это кислая среда, ниже 7 щелочная среда.

Для измерения значение pH в жидкости используется датчик Gravity Analog pH sensor. Датчик представляет собой управляющую плату с подключаемым электродом.

датчик pH для ардуино - Gravity Analog pH sensor

ВАЖНО! Электрод должен храниться в колпачке. Если его нужно очистить, прополощите в дистелированной воде. Не допускайте высыхания жидкости, это приведет к неверной работе датчика.

Данный модуль работает на шине I2C, что позволяет подключать к ардуино на одну линии до 100 датчиков, предварительно изменив адрес модуля. На заводе изготовителе, все модули программируются на адрес 0x09.

Характеристики датчика pH для ардуино

  • VCC (Питание) : 3,3 В или 5 В;
  • Потребляемый ток во время работы: до 5 мА.
  • Снятие данных: I2C, аналоговый сигнал.
  • Диапазон определения кислотности жидкости: от 0 до 14 pH.
  • Температура эксплуатации: от 0 до +60 °С.

Схема подключения датчика pH

Схема подключения датчика pH для ардуино

Пример программы для работы с датчиком

Разработка программного кода для работы с датчиком кислотности жидкости, сводится к работе с библиотекой Iarduino_I2C_ph. Данная библиотека полностью реализует все возможности по управлению модулем. Библиотеку можно скачать ниже в статье.

Изменяем адрес модуля датчика pH

uint8_t newAddress = 0x09;                          // Назначаемый модулю адрес (0x07 < адрес < 0x7F).
#include <iarduino_I2C_pH.h>                        // Подключаем библиотеку   для работы с pH-метром I2C-flash.
iarduino_I2C_pH sensor;                             // Объявляем объект sensor для работы с функциями и методами библиотеки iarduino_I2C_pH.
                                                    // Если при объявлении объекта указать адрес, например, iarduino_I2C_pH sensor(0xBB), то пример будет работать с тем модулем, адрес которого был указан.
void setup(){                                       
    Serial.begin(9600);                             
    if( sensor.begin() ){                           // Инициируем работу с модулем.
        Serial.print("Найден модуль 0x");           //
        Serial.println(sensor.getAddress(), HEX);   // Выводим текущий адрес модуля.
        if( sensor.changeAddress(newAddress) ){     // Меняем адрес модуля на newAddress.
            Serial.print("Адрес изменён на 0x");    //
            Serial.println(sensor.getAddress(),HEX);// Выводим текущий адрес модуля.
        }else
           Serial.println("Адрес не изменён!");    
        }                                           
    }else{                                          
        Serial.println("Модуль не найден!");        
    }                                               
}                                                   
void loop(){}            

Читаем данные с модуля датчика pH

#include <iarduino_I2C_pH.h>                      //   Подключаем библиотеку   для работы с pH-метром I2C-flash.
iarduino_I2C_pH sensor(0x09);                     //   Объявляем объект sensor для работы с функциями и методами библиотеки iarduino_I2C_pH, указывая адрес модуля на шине I2C.
                                                  //   Если объявить объект без указания адреса (iarduino_I2C_pH sensor;), то адрес будет найден автоматически.
void setup(){                                     //
     Serial.begin(9600);                          //   Инициируем работу с шиной UART для передачи данных в монитор последовательного порта на скорости 9600 бит/сек.
     sensor.begin();                              //   Инициируем работу с pH-метром I2C-flash.
}                                                 //
                                                  //
void loop(){                                      //
     Serial.print("Кислотность = " );             //
     Serial.print(sensor.getPH() ,1);             //   Выводим водородный показатель жидкости с 1 знаком после запятой.
     Serial.print(" pH.\r\n"       );             //
     delay(1000);                                 //
}                   

Документация

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии