Обновить
71
52.2
Дмитрий@m039

Пользователь

Отправить сообщение

Спасибо за развёрнутый комментарий, это действительно странно, что я сам не догадался избавиться от фреймворка Ардуино и оптимизировать код, да и никто в комментариях не предложил это. По ощущениям должно помочь, но могу сразу сказать, что алгоритм для ATtiny2313A и CH32V003 похожи, надо тогда оптимизировать оба. Но думаю лучше результат будет для ATtiny2313A. Пока вы совершенно правы, что я писал что горят 8 светодиодов одновременно, а по факту меньше из-за отсутствия оптимизации.

Вспомнил почему решил не оптимизировать, не избавляться от digitalWrite, потому что так легко от этой абстракции не избавиться, потому что используются все ножки микроконтроллера подряд (а по-другому плату не развести), т.е. там они не относятся к одному порту. Но это я так подумал, по-хорошему надо было попробовать оптимизировать и уже потом делать выводы, если не получается.

Сейчас правда понимаю, что и оптимизация не всесильна, там от многих задержек не избавиться, но возможно яркость в два раза удасться подтянуть. Я потом попробую это сделать.

Интересно, но можете пояснить подробнее про преобразователь? Про ADC1, ADC2, ШИМ понятно, а почему если подать ШИМ на 74AC04, то получится регулировать напряжение или стабилизировать ток? Логический инвертор же просто инвертирует сигнал ШИМ, т.е. это же можно сделать даже программно. В сети сходу про эту схему ничего не нашел.

Или подается ШИМ на питание 74AC04? Как в таком случае будет получаться повышение напряжения?

Батарейки при такой схеме очевидно хватит не надолго. Надо будет больше держать устройство во сне, использовать лучше BLE, чем WiFi и коннектиться лучше после нажатия по кнопке. Я думал делать брелок с Bluetooth, устройство сразу бы получилось интереснее, чем без него, но есть нюанс, что надо это все уложить в размеры светодиодный матрицы и может не получится. По-крайней мере скорее всего не получится на односторонней плате, как делал я, но на двухсторонней можно попробовать. Правда на момент поисков я не рассматривал ESP, а смотрел в сторону HC-05.

У вас может быть совершенно другие критерии и все может быть по-другому. Например, можно взять ESP + MAX7219 + литиевую батарейку с модулем заряда и устройство будет скажем в 1.5 раза больше, но зато с радикоаналом и возможностью подзарядки через USB. Но, как по мне, этот брелок ближе к игрушке и зачем все так усложнять - не понятно. Более, чем достаточно запрограммировать через программатор, включить, поморгать и выключить.

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

Да, можете посмотреть репозиторий, там больше фотографий, есть фотографии с обратной стороны.

По логике должны одинаково светить, но после теста резистров по 100 и 200 Ом думаю, что разница будет небольшая или не понятная для глаза. Но даже при этом, если делаешь законченное устройство их стоит поставить, чтобы пользователь был уверен, что цветопередача корректная, например, в каком-нибудь дисплее. Если кто-то лучше разбирается в этом вопросе, поправьте, пожалуйста, т.к. пишу по своим рассуждениям.

Только что вышло продолжение этой статьи, его можете прочитать здесь.

ИИ гугла подсказывает, что при 0.2 мА достигается указанная емкость из даташита, но сама батарейка может испытывать пики по 100 мА и выше. И это верно, т.к. иначе бы брелок вообще не светился, потому что 0.2 мА это совсем как-то мало. Странно, что в даташите от Panasonic про пики и большие токи ничего не написано.

Спасибо большое за то, что нашли ошибки. 40 мА это опечатка, почему не догадался, что что-то не то, не понятно. А про светодиодные матрицы согласен, но почему-то был уверен, что можно смело брать данные из википедии, т.к. это уже стандартизированно. Надо было и то и другое привести. В целом для статьи это не критично, с учетом последнего комментария и разных фотографий, но так было бы грамотнее.

Согласен, но хочу добавить, что они работают нормально, когда только-только их вставишь, а через время все как вы описали.

Пока ждал ответа разобрался. В любой непонятной ситуации собирай схему на симуляторе. С неактивными устройствами все понятно. С активным изобразил приблизительно на схеме. Задача подать низкий уровень. В схеме с диодом учитывается падение напряжение, точнее примерно оно и будет значение при низком уровне сигнала. Если диод убрать, будет заметно больше, там делитель получается. Т.е. теоретически какой-то МК может засчитать такой сигнал как за низкий уровень, смотря какой делитель получится, но если добавить диод, то получается наверняка.

Спасибо за интересную схему в статье, заставила меня задуматься!

Кому интересно, на последний вывод меня натолкнул этот ответ с реддита https://www.reddit.com/r/AskElectronics/comments/pb6czs/do_the_diodes_drop_voltage_for_the_parallel/ - там простая задачка и говорится, что параллельный диод просто фиксирует напряжение на резисторе.

Ну так линию SDA и SCL всегда подтягивают к питанию через pull-up резисторы, здесь как раз они и получаются. Кстати, замечу, что мы не подтягиваем к питаную активное устройство, там линия делается на вход.

Хотя, еще чуть-чуть и кажется пойму!

Такое ощущение, что здесь важно падение напряжение на диоде и из-за него получается опустить линию на активном устройстве, а не активные не могут опустить, правильно?

Объясните, пожалуйста, про диод Шоттки по линии i2c, разве не то, что мы подаем на линии высокий сигнал (например, D2) делает это устройство неактивным, а не диод шоттки? Кажется, что его можно убрать, но не понимаю почему он нужен, как написано на скриншоте.

Да мне просто захотелось оставить этот комментарий, потому что всю боль из статьи понимаю, сам потратил 3-4 года в стол, с одной стороны было очень интересно и полезно, изучал геймдев, а с другой стороны понимаю, что жалко, т.к. если сейчас начал бы сначала то делал бы по-другому, больше доверял своей интуиции и делал как просит душа. Так где-то после 4-го года, я принял участие в геймджеме и понял эту ошибку, что по-хорошему готовая игра это совершенно другое, т.е. оказывается вот оно как должно быть! Код, модели, рисунки, все может быть кривым, а игра нет. Или наоборот, все может быть идеальным, а игра нет. А под интуиции и душой я понимаю, что это вам решать, какой конкретно цели вы достигли, возможно все получилось хорошо.

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

Согласен, если подходить увлеченно к тому, что делаешь, то сам процесс уже награда.

Да можно и за 10 лет сделать такого монстра, которого уже не отрефакторишь. :) От целей зависит, но как по мне главное, что с самим с собой в ладах быть, чтобы не жалеть о потраченном времени и говорит, как классно и с пользой я провел эти пять лет, хоть и нет успешной игры.

Можно пойти по этому пути, потратить пять лет и не сделать игру. Но каждый месяц или чаще проходят геймджемы и люди делают игру за 3 дня, другими словами сделать игру не за 5 минут, а за 3 дня или неделю (некоторые джемы дольше идут), вполне обычно.

Как альтернатива можно использовать вместо HIGH/LOW - ON/OFF.

Информация

В рейтинге
152-й
Зарегистрирован
Активность