На корпусе МК “чисто”, ни единой надписи.
В “интернетах” пишут, что это либо STM8.., либо N76E..
“Вызвонил” разъём для программирования (??) - что-то не катит для STM..
Это не тот случАй.. Это всё я уже находил..
Схема не совпадает с тем, что я “вызвонил” на своём.
И “дырочек” на моём всего 6, а не 8..
На вашей фотке явно STM8S003.
Да это понятно. И такое решение в “интернетах” я видел.
Но просто жалко ардуиной по воробьям.
Хочется без аппаратной переделки вопрос решить.
А точности мне будет достаточно. По сути нужен почти “показометр”.
Да походу не он это. Этот новутон почти один-в-один стм8.
Не вписывается по “распайке” разъёма.
Для него на программатор должен выходить RST(пин 4), а на моей плате он не выходит на разъём..
ну что сказать, забейте тогда.
судя по тому что маркировка отсутствует напрочь, это очередной китайский клон какой то, похожее встречалось на уно, заменили сн340 неизвестным зверьком каким то.
Решений может быть много разных. Зависит от того, что измеряете.
Простейшее - конденсатор на вход АЦП.
Или - пишем значения измерений в буфер. После каждого нового - буфер сдвигаем, и вычисляем среднее значение.
В любом случае , время реакции на изменение измеряемого сигнала увеличивается
Напряжение и ток высоковольного БП (напряжение - до 2500V, ток - до 500-800 mA).
Нагрузка - ламповый усилитель мощности.
Задача - получить “сглаженные” значения, вывести результат на родной дисплей DSN
и параллельно передать через serial в “контроллер управления”.
Тоже об этом подумал в первую очередь.
Может действительно, не стОит заморачиваться с софтовым решением?
P.S. Кстати, “дребезг” наблюдаю на “настольном измерении”.
При постоянном напряжении 14V и токе 180mA.
Предполагаю, что в реальном БП “дребезг” будет ещё больше.
Так выше же привёл пример. Буфер можно переменную, можно массив - как удобнее.
У Гайвера есть об этом неплохо(наберите “цифровые фильтры”), очень доходчиво для начинающих ИМХО
Чёт ничего не помогает.. Ни конденсаторы на пинах, ни плюсом к ним софтовые выкрутасы..
Может в коде что-то не так?
void loop() {
uint16_t v = analogRead(A6);// напряжение
v = ( v * 3 + analogRead(A6)) / 4;
float sensorValue = v/5.632362459546925;
disp.print((int)(sensorValue * 10.), 3, 0); // напечатать результат на 1 дисплей
disp.digit[1] |= 0x80;// зажечь точку 2 разряда 1-го дисплея
Serial.print("VOLT: ");
Serial.println(sensorValue);
uint16_t a = analogRead(A7);// ток
a = ( a * 3 + analogRead(A7)) / 4;
float sensorValue2 = a-12;// уберем погрешность
float T=sensorValue2*0.04;// полученный результат умножаем
if (T < 0.0) T = 0;
disp.print2((int)(T * 100.), 3, 0);// напечатать результат на 2 дисплей
Serial.print("AMP: ");
Serial.println(T);
disp.digit[5] |= 0x80;// зажечь точку 3 разряда 2-го дисплея или же по сути он же 5 разряд по счету
delay(500);
}