Пробуй питание 5в напрямую воткнуть в АЦП. Пляшут или нет показания?
А соединения не Дюпонтами случаем?
Три ``` до и 3 после кода.
Вот примерно по такой схеме, что слева внизу у меня в одном проекте подключено 43 потенциометра (естественно, не все к А0, а каждый к своему, включая 4 корпуса внешних АЦП). Так вот, за сутки ни по одному каналу из 43 не происходит ни единого переключения хотя бы на одну единицу. Единственная разница: каждый вход зашунтирован конденсатором 0.1мкФ.
Колись, что ты в схеме сделал не так?
Скорей всего, это китайская нано корявая. т.к. делал на уно, работало лучше.
Смелое предположение.
Напрямую - скачут.
Да китайские проводочки гейские)
#define CLK 2
#define DIO 3
#define BUZ 4
#include "GyverTM1637.h"
GyverTM1637 disp(CLK, DIO);
const int potPin = A0;
void setup() {
Serial.begin(9600);
wakeUp();
disp.clear();
disp.brightness(7); // яркость, 0 - 7 (минимум - максимум)
byte digs[4] = {0, 0, 0, 0};
disp.twist(digs, 40); // скорость прокрутки 100
delay(500);
}
void loop() {
amperDisp();
}
void wakeUp() {
tone(BUZ, 400);
delay(200);
noTone(BUZ);
tone(BUZ, 600);
delay(200);
noTone(BUZ);
}
void amperDisp(){
int potValue = map(analogRead(potPin), 0, 1023, 10, 130);
disp.displayInt(potValue); // выводим значение на дисплей
delay(200);
}
void alarm(){
}
каднёры ставил и тк и этак, в фирит совал провод.
Осталось фото сборки выложить.
лови, сёдня день сварщика, ты после Натахи второй )))
#define CLK 2
#define DIO 3
#define BUZ 4
#include "GyverTM1637.h"
GyverTM1637 disp(CLK, DIO);
const int potPin = A0;
void setup() {
Serial.begin(9600);
wakeUp();
disp.clear();
disp.brightness(7); // яркость, 0 - 7 (минимум - максимум)
byte digs[4] = {0, 0, 0, 0};
disp.twist(digs, 40); // скорость прокрутки 100
delay(500);
}
void loop() {
amperDisp();
}
void wakeUp() {
tone(BUZ, 400);
delay(200);
noTone(BUZ);
tone(BUZ, 600);
delay(200);
noTone(BUZ);
}
void amperDisp() {
int potValue1 = analogRead(potPin);
potValue1 = 0;
for (int i = 0; i < 10; i++) {
potValue1 = potValue1 + analogRead(potPin);
delay(5);
}
potValue1 = potValue1 / 10;
potValue1 = map(analogRead(potPin), 0, 1023, 1, 26);
int potValue = map(potValue1, 1, 26, 10, 130);
disp.displayInt(potValue);
}
void alarm() {
}
5в не на Vin случаем питаешь? А то последнее время это модно стало…
Не, в USB, но от телефонной зарядки.
Блин, ну конденсатор можт тогда на 100-200-500-1000мкФ. Я хз. Выкладывай фото этого чуда. Зарядники часто грешать очень сильными пульсациями.
Не гоните коней. Это было предположение. Может там нормальный БП. С выходным током 0.05А и когда появляются 6/8/9 - напряжение автоматически снижается, цифры меняются и так по кругу.
Хоть одна умная мысль! Конечно же, китайцы в штаны нагадили
Что за сарафанное радио?) Питать пробовал от компа, лабараторника и батареи. Кандёры ставил всякие. И на кой чёрт на лемку подавать 5в чтоб получить 5в?)
у батареи тоже?)
Я про это ещё в самом начале писал, после теста с уно.
Да всё равно дёргается) Дискретизация цифорок уменьшилась, а кривляние осталось с 1 на 5 скачет сразу)
Тут надо делать ветвление. пока ацп в определённых рамках дёргается, функция с выводом отдельно крутится и показывает значение со внутренней переменной, как ток изменение на ацп выше, то на ту переменную кидается значение и дисплей показывает новые цифорки. Вчера пробовал, но пока не дошло как это прально сделать) Во у чувака из интенетов тож там дёргается. https://youtu.be/xGBFFYNLAds
Эта шоль Натаща?)
Кароч поставил поц вплотную сигнальным выводом к ацп и питание жирными короткими проводами. проблема решена. Буду знать, что для таких дел китайские радужные(гейские) проводки не годятся))
Ты с поцем поосторожнее. Смотри что бы током не долбануло.