КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Измеритель кислотности (pH) на Arduino, Piranha, ESP

Общие сведения

Измеритель кислотности можно использовать для анализа жидкостей, используемых в гидропонике, аквариумах, колодцах для полива растений и т.д.

У нас также есть проекты по созданию измерителя концентрации (TDS/EC-метр), универсального измерителя pH и TDS, а таже устройств для автоматической нормализации кислотности и концентрации.

Если это ваш первый опыт программирования контроллеров, прочитайте статью о настройке Arduino IDE и об установке библиотек.

Видео

Нам понадобится

* Можно использовать любой контроллер серии PiranhaArduino, или ESP-32.

Схема

Не забудьте перед сборкой схемы откалибровать датчик pH. О том, как это сделать, читайте в статье.

Измеритель кислотности pH

Установка библиотек 

Перед загрузкой кода в контроллер, установите необходимые библиотеки:

При необходимости воспользуйтесь инструкцией по установке.

Скетч

#include <iarduino_I2C_pH.h>         // Подключаем библиотеку для работы с pH-метром I2C-flash.
#include <LiquidCrystal_I2C.h>       //  Подключаем библиотеку для работы с LCD дисплеем по шине I2C

iarduino_I2C_pH pH;                  // Объявляем объект tds  для работы с функциями и методами библиотеки iarduino_I2C_pH, адрес модуля на шине I2C не указываем - он будет обнаружен автоматически.
LiquidCrystal_I2C lcd(0x27,20,4);    // Объявляем объект lcd для работы с дисплеем(адрес I2C = 0x27, количество столбцов = 20, количество строк = 4) (для дисплея 1602 параметры будут 16 и 2)

uint8_t symbol[3][8] = {             // Объявляем массив из 3 собственных символов, каждый символ состоит из 8 байт
  {B10001,B10011,B10011,B10101,B11001,B11001,B10001,B00000,},  // Буква "И"
  {B00011,B00111,B00101,B00101,B01101,B01001,B11001,B00000,},  // Буква "Л"
  {B10000,B10000,B10000,B11110,B10001,B10001,B11110,B00000,}}; // Буква "Ь"
 

void setup(){                                    
  pH.begin();                        // Инициируем работу с TDS/EC-метром I2C-flash.
  lcd.init();                        // Инициируем работу с LCD дисплеем
  lcd.backlight();                   // Включаем подсветку LCD дисплея
  lcd.createChar(1, symbol[0]);      // Загружаем 1 символ "И" в ОЗУ дисплея
  lcd.createChar(2, symbol[1]);      // Загружаем 2 символ "Л" в ОЗУ дисплея
  lcd.createChar(3, symbol[2]);      // Загружаем 3 символ "Ь" в ОЗУ дисплея
}                                                 
                                                  
void loop(){    
  lcd.clear();                       // Очищаем дисплей
  lcd.setCursor(0, 0);               // Устанавливаем курсор в 0 столбец 1 строку дисплея
  lcd.print("K\1C\2OTHOCT\3 ");      // Выводим текст на дисплей
  lcd.print(pH.getPH());             // Выводим показания с датчика на дисплей
  lcd.print(" pH");                  // Выводим текст на дисплей
  delay(1000);                       // Задержка
}

Ссылки




Обсуждение

Гарантии и возврат Используя сайт Вы соглашаетесь с условями