Поиском “Ничего не найдено”, поэтому новым топиком.
На шине также висит LCD1602, есть подтяжка 4.7к (делал и на 5в и на 3.3, модуль LCD тоже отключал). MCP SOIC, собрана на перфорированной макетке через адаптер с обычными пинами через 2,54. Все адреса на землю. Соединена обычным 4х шлейфом (земля-питание-данные-часики) длиной 18см с основной макеткой.
Скетч предельно простой: инициализация и блинк (всё завёрнуто в функции, поэтому здесь условно развернул)
setup()
Wire.beginTransmission(0x20);
Wire.write((byte)bank); // два вызова с 0x00 банк и 0x01
Wire.write((byte)mask); // здесь 0х00 в обоих случаях
Wire.endTransmission()
Wire.beginTransmission(0x20);
Wire.write((byte)bank); // два вызова с 0x00 банк и 0x01
Wire.write((byte)mask); // здесь 0х00 в обоих случаях
Wire.endTransmission()
loop()
Wire.beginTransmission(0х20);
Wire.write((byte)bank); // здесь 0x12
Wire.write((byte)mask); // 0xAA
Wire.endTransmission();
Wire.beginTransmission(0х20);
Wire.write((byte)bank); // здесь 0x13
Wire.write((byte)mask); // 0xAA
Wire.endTransmission();
delay(500);
Wire.beginTransmission(0х20);
Wire.write((byte)bank); // здесь 0x12
Wire.write((byte)mask); // 0x55
Wire.endTransmission();
Wire.beginTransmission(0х20);
Wire.write((byte)bank); // здесь 0x13
Wire.write((byte)mask); // 0x55
Wire.endTransmission();
delay(500);
То есть, мигаем в шахматном порядке. Напаял несколько диодов - в пределах этих портов всё отлично (полностью не проверял, проблема не в этом).
Сама проблема:
рандомно после 30-100 циклов мигать перестаёт.
если прикоснуться к корпусу или к распаянным портам - мигать перестаёт.
если прикасаться к нераспаянным портам - пофиг.
если сжать шлейф в руке - пофиг.
покачивать соединительный разъём - пофиг.
убрать-вернуть инициализацию дисплея - пофиг.
Кроме того, иногда мигалка не запускается и при ребуте.
На данный момент заводская нано, в будущем проект переедет на камень. Питание по USB.
Диоды в сборке с резисторами порядка 180 (или 250) ом, переезжают от теста к тесту, к ним претензий не должно быть, по идее. Горят с обычной яркостью, все. Могу замерить, но надо термоусадки резать, немного жалко.
upd замерил рандомно - 240 ом.
По пунктам Евгения скину чуть позже схему со скетчем.
Про касания уже написал: к корпусу чипа сверху или к уже распаянным портам, что странно. Соплями не паяю с детства, уж извините. К тому же места пайки никакого влияния не оказывают.
Схема (без LCD, так как его полное электрическое отключение не спасает):
Вот в точечку. Ресет и пакостил. Я вообще про него не вспомнил, ломаю голову, явно дело в каких-то наводках - а в чём… замылился глаз, пока схему не прорисовал. Смотрю и думаю: а чего это он у меня нигде? )))))
Кто и где? В любом случае у наны 3.3 не для питания или подтяжек. 3.3 используют если плата питается от силовых 3.3, но тогда между наной и платой нужно ставит преобразователь 3.3-5 вольт.
Кстати, к подтяжке на 3.3 - при всей неумелой игре в сарказм, пубертатной агрессии и некоторой ограниченности в понимании матчасти в двух вопросах, есть пара рассуждений. Самая очевидная версия, конечно, бездумное тиражирование по интернетам. Тем более, что по даташиту 0.8Vdd, а это заметно выше, как ни крути (хотя второй день тестов показывает стабильную работу). Сэкономить потребление на два миллиампера на подтяжках тоже не довод, так как намного проще поднять токоограничивающие до 500 ом и вписаться в лимит по Vdd со всеми 16 портами (но не по Vss, там понадобится поднять ещё немного выше). Отмечу, что чип начинает некомфортно греться при длительной работе далеко до достижения лимита. Для AMS эти два миллиампера тоже не делают никакой погоды, так что да.