Комментарии 34
Вспоминаются журналы из 90х, ммм…
И благодаря вам, Хабр — торт, спасибо за статью!
Кстати, вопрос к автору, а чем аргументированно отсутствие панельки? Наличием отваги и хорошего паяльного оборудования + опыт пайки или отсутствием панельки в хозяйстве?
Спасибо большое, весьма интересно! Приятно читать такое в век JS в каждом втором чайнике.
ДШ рекомендует не более ~16 раз в секунду, в схеме ~4 раза в секунду. Эхо от предыдущих измерений отсекается внутри датчика путем игнорирования нового сигнала запуска измерения, если он был выдан слишком рано.
Кстати говоря, некоторое время я назад наткнулся на youtube-канал товарища Ben Eater, который простыми словами рассказывает о том, как добиться впечатляющих результатов на вполне обычных компонентах начиная с того, как построить логические элементы на транзисторах, до 8-битного компьютера и видеокарты свомими руками, параллельно давая кучу полезных советов
Красиво сделана динамическая индикация через инвертор на дополнительный адресе ПЗУ и полудешифратор на 2И-НЕ.
Забавно, что несмотря на чудовищный расход адресного пространства, половину адресных выводов пришлось все равно заземлить. Тут красиво и олдскульно бы смотрелось что-то вроде 556РТ4/7, причем катодный коммутатор можно было бы сделать целиком тоже на нем (нагрузочная способность выходов с ОК там ЕМНИП адская)
Теперь бы ещё сам HC-SR04 на логике воссоздать. Должно быть не намного сложнее этой схемы.
Спасибо, приятный pr0n.
С первого прочтения не нашёл, к чему-бы придраться. RC-цепочки — ладно уж…
Разве что — резистор на десяток-другой килоом последовательно на 11 вывод 4060-й, что бы облегчить работу защитных диодов на этом входе.
В инструкции надо написать — не относить датчик от предмета дальше 199 см во избежание порчи выходного каскада :)
PS — желание автора уложиться в 4*2И-НЕ вполне понимаемо. Но можно было бы симулировать инвертор сигнала ECHO на А10/Q7, а освободившийся элемент 2И-НЕ использовать для инверсии CLK5
Нули не гашу, все знакоместа горят с хорошей одинаковой яростью. Я понимаю, что выход ПЗУ скорее всего перегружен по току, но что поделать. Плохо быть ПЗУ =(
Для душевного спокойствия можно увеличить резисторы на анодах до 2.2к, индикатор даже на низких токах читается, хотя выглядит не так красиво, конечно.
А ноль ваш дальномер не выдает регулярно вперемешку с измеренными значениями? По моей практике, надо еще ноль отсекать, иначе большую часть времени видим именно его на выходе. Если правильно помню, как раз 5v датчик (без плюса в названии, который 3.3/5v) этим грешит.
Минимальное значение, которое я видел на индикаторе — 2. 0 и 1 вообще ни разу не было. Датчик 5v. Если поверхность отражения "плохая", слишком близко или слишком далеко, то уходит в зашкал. Для ровных поверхностей в допустимом диапазоне работает вообще без "неудачных" измерений. Не знаю, может условия случайно хорошо сложились, но датчик мне показался довольно стабильным.
Интересно, у меня пара таких датчиков (5V), купленных в разных местах, и они очень часто вперемешку с измеренными значениями выдают 0. А вот более современная версия датчика (plus, поддерживает и 3V и 5V) этим не страдает. Можете глянуть, у вас точно HC-SR04 (не работает от 3V), не HC-SR04+ (HC-SR04P)? Было бы полезно узнать.
На двоично-десятичных счетчиках сделать конечно можно. Решений к задаче существует больше одного, а описанный способ далеко не по всем критериям оптимален.
статья ведь об этом
Одна из основных целей статьи — побудить на эксперимент (в том числе, мысленный) по поиску наиболее элегантного решения в условиях искусственных ограничений. (=
С двоично-десятичными счетчиками вижу один большой плюс: значение больше не ограничено 254 и может быть до 998. Однако, без выходного регистра будут мерцания: дело в том, что "прямой ход" счетчика случается 4 раза в секунду (хоть и занимает несколько миллисекунд). А увеличить количество опросов мы можем максимум до 16 (ограничение датчика), что все равно будет заметно глазу. К тому же, при частых опросах, дерганья показаний в младших разрядах будут дополнительно мешать.
Пробежался по диагонали по тексту — понравилось.
И весьма находчивое применение ПЗУ.
В плане схемотехники и всего — автору респект.
Но всё это не сильно глубже в плане интеграции микроконтроллера ушло:) ПЗУ + обвес логики, по-сути, эквивалентны примитивному очень малофункциональному, но микроконтроллеру. Это так, капля желчи от меня:)
Измеритель расстояния на HC-SR04 без микроконтроллера