Оглавление:

Детектор зомби: 3 шага
Детектор зомби: 3 шага

Видео: Детектор зомби: 3 шага

Видео: Детектор зомби: 3 шага
Видео: ВЛАДА А4 УБИЛИ ! 2024, Ноябрь
Anonim
Детектор зомби
Детектор зомби

Когда я учился в колледже, я работал на ферме Knott’s Berry Farm, а когда Хэллоуин выпал на выходные, мы собрали большую толпу. Мы все оделись и повеселились, и большинство клиентов оценили наши усилия. Одна из «девиц-монеток», с которой я работала, была отлично стилизована под Мортишу Аддамс. В то время готический образ еще не был изобретен (если не считать Муну Лизу), поэтому по дороге на работу она увидела преувеличенное закатывание глаз от парня, сидевшего рядом с ней на светофоре. Она посмотрела на него и широко улыбнулась - клыки и все такое. Очевидно, выражение его лица было бесценным.

В том же духе я думал о том, чтобы сохранить этот пост примерно до Хэллоуина, но потом я вспомнил, что зомби-апокалипсис может случиться в любой момент. Когда я показал это внукам, я сказал им, что он определяет их пульс, если они живы, но отсутствие пульса означает, что они зомби. Его можно использовать как игру на выбывание (своего рода странная версия музыкальных стульев), если у вас много людей. Один из способов, которым мы играли, - это передавать его по кругу. Если вы получили «человеческий» ответ, вы получили монету, если нет, вы заплатили монету. Детям всегда нравятся игры с монетами.

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Схема показана на схеме, приведенной выше. Детекторная часть представляет собой простой емкостный сенсорный переключатель, обычно рекламируемый как TTP223. Я купил набор из 10 почти бесплатно, но с ними есть небольшая проблема. Рекламируется, что модули работают от 2,5 до 5 вольт, но это не так. Я обнаружил, что напряжение ниже 4,75 В приводило к фиксации модуля во включенном состоянии. Я хотел запустить весь проект, используя пару батареек AAA (около 3 вольт), поэтому мне пришлось разобраться в проблеме. После проверки микросхемы на модуле я определил, что пустая пара контактных площадок должна иметь конденсатор, определяющий чувствительность. Рекомендуемый диапазон составляет от 0 до 50 пФ с увеличением чувствительности при уменьшении емкости. Я не мог заставить его работать, закоротив контактные площадки (0pf), но он хорошо работал с конденсаторами 22pf и 47pf, которые у меня есть. При значении 22pf я легко заставил модуль работать при 2,5 вольтах.

Другой основной компонент этого проекта (кроме микроконтроллера PIC) - это светодиодная матрица 8x8. Первоначально я использовал простую матрицу, но мне пришлось добавить пару регистров сдвига для адресации строк и столбцов и мультиплексировать их, чтобы получить полное отображение. Затем я обнаружил недорогой светодиодный модуль, который был прикреплен к печатной плате с микросхемой драйвера светодиодного дисплея MAX7219. Микросхема драйвера принимает последовательные команды, которые затем использует для включения нужных строк и столбцов. Чип также выполняет мультиплексирование автоматически, так что нагрузка на микроконтроллер снимается. Это открытие снизило сложность как аппаратного, так и программного обеспечения.

Шаг 2: Project Box

Коробка проекта
Коробка проекта
Коробка проекта
Коробка проекта

Мне нужен был полупрозрачный красный фильтр, чтобы закрыть светодиодную матрицу. Я мог бы вырезать кусок красного плексигласа, который у меня есть, а затем приклеить его в коробку для проекта, но вместо этого решил немного переделать. Ящик, в который я его встроил, представляет собой контейнер, в котором когда-то хранилась связка патронов 22-го калибра. Большинство этих контейнеров из прозрачного пластика, но у меня есть пара красных. Не слишком элегантно, но внуки не заботятся об элегантности.

Шаг 3: Программное обеспечение

Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение

Программное обеспечение довольно простое. Timer0 может работать автономно, и значение проверяется всякий раз, когда обнаруживается датчик касания. Я произвольно решил, что отображение зомби появится, если счетчик Timer0 меньше 100. Учитывая, что Timer0 8-битный, это означает, что отображение «человека» будет отображаться для значений от 100 до 255. Это соотношение примерно 3: 2, и его можно легко изменить в программе.

При обнаружении касания и определении типа отображения вызывается соответствующая процедура для отправки данных на светодиодную матрицу. Для этого отправляется серия команд в виде 8-битного адреса и 8-битных данных. Регистры, к которым можно обращаться, указаны в передней части листинга. Пара из них используется для инициализации матрицы (например, яркости), а одна используется для включения / выключения всей матрицы. Матрица может работать в режиме, в котором BCD (двоично-десятичный код) будет отображать соответствующее число. Процедура Init отключает это, чтобы мы могли управлять отдельными светодиодами. Другая часть инициализации - установить предел столбца. Нам нужны все восемь столбцов, поэтому предел сканирования установлен на 7.

Есть восемь регистров, которые используются для включения желаемых отдельных светодиодов - по одному регистру для каждого столбца. «1» в бите данных включает светодиод этого столбца. Как упоминалось ранее, в программном обеспечении не требуется мультиплексирования. «Человеческий» дисплей - это бьющееся сердце. После того, как в матрицу отправлены правильные битовые комбинации, биение моделируется простым включением / выключением матрицы (с промежуточными задержками) до тех пор, пока датчик касания активен. Процедура зомби отображает фиксированный узор «X», пока касание не будет удалено.

Это все для этого поста. Ознакомьтесь с моими другими проектами в области электроники на сайте: www.boomerrules.wordpress.com

Рекомендуемые: