1 (2025-11-18 07:43:07 отредактировано Okruru)

Тема: Arduino Микроконтроллеры (Измерить C)

переделал ваш код, как смог, это первая проба. Не все разобрал, но должен, далее справлюсь.
Arduino Микроконтроллеры
на LCD под включение на четыре ноги

 // взято отсюда ..h==://rcl-radio.ru/?p=43106

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();           // инициализация
 // lcd.backlight();      // включить подсветку
}
unsigned long time0, time1, time2;
float c, null0;
byte kn, mk, i;

void loop() {
  lcd.setCursor(15, 0);
  lcd.print("*");
  if (mk == 0) {
    pinMode(13, OUTPUT);
    pinMode(3, INPUT);
    digitalWrite(13, HIGH);
  }

  if (mk == 1) {
    pinMode(3, OUTPUT);
    pinMode(13, INPUT);
    digitalWrite(3, HIGH);
  }

  time0 = micros();
  while (analogRead(A0) < 644) {
    time2 = micros() - time0;
    if (time2 >= 1000000 && mk == 0) {
      mk = 1;
      time0 = 100000000;
      break;
    }
  }

  time1 = micros() - time0;

  while (analogRead(A0) > 0) {
    pinMode(3, OUTPUT);
    pinMode(13, OUTPUT);
    digitalWrite(3, LOW);
    digitalWrite(13, LOW);
  }

  if (mk == 1 && time1 < 1000) {
    mk = 0;
  }

  lcd.setCursor(1, 0);
  c = time1;
  c = c / 1000 - null0;
  c = abs(c);

  if (time1 >= 10000000) {
    lcd.setCursor(1, 0);
    lcd.print(" TEST uF   ");
  } else {                  // Вывод на LCD
    lcd.print(c);

    if (mk == 0) {
      lcd.print(" nF       ");
    }
    if (mk == 1) {
      lcd.print(" uF       ");
    }
  }
  if (i == 0) {              // калибровка нуля
    i++;
    null0 = c + 0.02;
  }
  delay(100);
} 

изменен и работает. Код выше с ошбками.
GitHub

2 (2025-11-18 06:54:59 отредактировано Okruru)

Re: Arduino Микроконтроллеры (Измерить C)

Хм))
вот что нарыл из примеров с полными коментариями, если смотреть через б\хромиюум так вообще сказка, он даже операторы переводит. Сиди подправляй коментарии. Отличненько становится понятен что код делает

//Пример для подключения дисплея по шине I2C
//
//Тип подключения дисплея: 1 - по шине I2C, 2 - десятиконтактное. Обязательно указывать ДО подключения библиотеки
//Если этого не сделать, при компиляции возникнет ошибка: "LCD type connect has not been declared"
#define _LCD_TYPE 1
#include <LCD_1602_RUS_ALL.h>

//Выделим два переопределяемых символа
LCD_1602_RUS lcd(0x27, 16, 2, 2);
//                           ^^^ количество пользовательских символов

//Тип подключения дисплея: 1 - по шине I2C, 2 - десятиконтактное. Обязательно указывать ДО подключения библиотеки
//Если этого не сделать, при компиляции возникнет ошибка:

непонятен вопрос про символы, видимо их колличество на дисплее: значит так написана библиотека))
^^^ количество пользовательских символов

Другой пример отличается

//Пример для подключения дисплея по шине I2C
//
//Тип подключения дисплея: 1 - по шине I2C, 2 - десятиконтактное. Обязательно указывать ДО подключения библиотеки
//Если этого не сделать, при компиляции возникнет ошибка: "LCD type connect has not been declared"
#define _LCD_TYPE 1
#include <LCD_1602_RUS_ALL.h>

LCD_1602_RUS lcd(0x27, 16, 2);

void setup() {
  String str;
  str = ". Hexadecimal";

  lcd.init(); //Инициализация LCD (по умолчанию для ESP8266: 4 - SDA, 5 - SCL)
  //lcd.init(0, 2); //ESP8266-01 I2C: 0 - SDA, 2 - SCL
  
  // Печать сообщения на LCD
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print(1, DEC);
  lcd.print(". Десятичная");
  lcd.setCursor(0, 1);
  lcd.print(15, HEX);
  lcd.print(str);
}

void loop() {

примеры здесь

https://raw.githubusercontent.com/OKRUgit/MOI_chemi/refs/heads/Okrugit/Condensator/%D0%A4%D0%BE%D1%82%D0%BE%20cond/2.png

https://raw.githubusercontent.com/OKRUgit/MOI_chemi/refs/heads/Okrugit/Condensator/%D0%A4%D0%BE%D1%82%D0%BE%20cond/lcd1602.webp
и немого подправил графическое соединение.

Осталось все спаять(самое трудное, такие маленькие детальки)

спаяно
https://raw.githubusercontent.com/OKRUgit/MOI_chemi/refs/heads/Okrugit/Condensator/%D0%A4%D0%BE%D1%82%D0%BE%20cond/333.jpg

3 (2025-11-18 16:41:49 отредактировано Okruru)

Re: Arduino Микроконтроллеры (Измерить C)

Чет ничего не хочется.

op devices  заработал. скажем с пол-пинка.
Это полный код. добавил ссылку в коментарии(не критично). Осталось научиться им работать.
Подправить текст(переведу на РУ), сделать коробченок, а то он из трех макеток на столе.Можно показывать и вид и работу.
Задача, где то попадался код измерений резисторов. Там вообще два резистора и один вход, коротко подправить код и вторая строчка выводит номинал резистора, и питание, от обычных старых зарядок телефонов, валяются без дела, и компактно и удобно.

4 (2025-11-18 07:05:41 отредактировано Okruru)

Re: Arduino Микроконтроллеры (Измерить C)

Прибор провеки конденсаторов.
под LCD на четыре ноги-подлючения. "(-).(+).SDA.SDL";

Прибор провеки конденсаторов. под LCD на четыре ноги-подлючения. "(-).(+).SDA.SDL";

Принцип работы.

Берем обычный прибор, или старого боразца "стрелочный" или нового "электронный" цифровой вывод. Проверяем конденсатор, цифры увеличиваются(зарядка) и уменьшаются, нет обрыва, нет пробоя, возможна утечка.

Стрелочный, так-же, в роли показателя стрелка: показывает увеличение(зарядку) и понижение(разряд).

Этот таботает так-же, Поляризованый конденсатор, прикрепляем согласно полюсов, ждем, как в предыдущих случаях. После цикла заряд-разряд останавливается и выводит номинал.

Вот так лучше. С одной стороны Минус: поключение к общему проводу, со стороны Плюса прибор, он пропускает через себя зарад-разряд и высчиывает номинал после остановки, результат видел на LCD /;.

5 (2025-11-24 09:13:43 отредактировано Okruru)

Re: Arduino Микроконтроллеры (Измерить C)

Вот почти, строчка пока такая, если попробовать изменить, сносно показывает номинал.

Код тут
Сказать что он готов, рано. Нижняя строчка пока по умолчанию показывает без измерений. Подравить к надлежащему виду , думаю вполне.
Есть ещё выводы на Ардуине, прикрутить пищалку на короткое. И будет неплохой прибор.

https://raw.githubusercontent.com/OKRUgit/MOI_chemi/refs/heads/Okrugit/Condensator/%D0%A4%D0%BE%D1%82%D0%BE%20cond/%D0%A0%D0%B5%D0%B7%D0%B8%D1%81%D1%82%D0%BE%D1%80.png

Код тут