Съдържание:

Детектор за зомбита: 3 стъпки
Детектор за зомбита: 3 стъпки

Видео: Детектор за зомбита: 3 стъпки

Видео: Детектор за зомбита: 3 стъпки
Видео: S.T.A.L.K.E.R. Возвращение в Зону #3. Завтрак для Зомби 2024, Ноември
Anonim
Детектор за зомбита
Детектор за зомбита

Когато отивах в колеж, работех във фермата на Knott’s Berry Farm и когато Хелоуин падна през уикенда, събрахме голяма тълпа. Всички се облякохме и се забавлявахме с него и повечето клиенти оцениха усилията. Едно от „момичетата с монети“, където работех, дойде перфектно оформено като Мортисия Адамс. Тогава готският облик не беше измислен (освен ако не броите Moona Lisa), така че на път за работа тя получи преувеличено завъртане на очи от човек в колата до нея на стоп. Тя се взря в него и му се усмихна широко - зъби и всичко останало. Явно изражението на лицето му е безценно.

В същия дух мислех да запазя този пост до Хелоуин, но тогава се сетих, че Зомби Апокалипсисът може да се случи по всяко време. Когато показах това на внуците, им казах, че той разпознава пулса им, ако са живи, но липсата на пулс означава, че са зомбита. Може да се използва като елиминационна игра (нещо като странна версия на музикални столове), ако имате тълпа. Един от начините, по които играхме, беше да го прекараме около масата. Ако получите „човешки“отговор, получавате монета, ако не, сте платили монета. Децата винаги харесват игри с монети.

Стъпка 1: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Схемата е показана на диаграмата, включена по -горе. Частта „детектор“е прост капацитивен сензорен превключвател, който обикновено се рекламира като TTP223. Взех комплект от 10 за почти нищо, но има малко проблем с тях. Модулите се рекламират като работещи от 2.5 волта до 5 волта, но не го правят. Това, което открих, е, че всичко по -малко от 4,75 волта е причинило блокирането на модула в състояние „Включено“. Исках да изпълня целия проект с чифт батерии AAA (около 3 волта), така че трябваше да разбера проблема. След като проверих чипа на модула, установих, че празната двойка спойки трябва да има кондензатор, който определя чувствителността. Препоръчителният диапазон е от 0 до 50 pf, като чувствителността се увеличава с намаляване на капацитета. Не успях да го накарам да работи, като скъся подложките (0pf), но работеше добре с 22pf и 47pf кондензатори, които имам. Със стойността 22pf лесно накарах модула да работи на 2.5 волта.

Другият основен компонент на този проект (различен от микроконтролера PIC) е 8x8 LED матрица. Първоначално използвах обикновена матрица, но трябваше да добавя двойка регистри за смяна, за да адресирам редовете и колоните и трябваше да ги мултиплексирам, за да получа пълен дисплей. След това открих евтин LED модул, прикрепен към платка с чип драйвер за LED дисплей MAX7219. Чипът на драйвера приема серийни команди, които след това използва за включване на желаните редове и колони. Чипът също така прави мултиплексирането автоматично, така че това бреме се премахва от микроконтролера. Това откритие намалява както хардуерната, така и софтуерната сложност.

Стъпка 2: Project Box

Проектна кутия
Проектна кутия
Проектна кутия
Проектна кутия

Исках полупрозрачен червен филтър, който да покрие LED матрицата. Можех да изрежа парче от някой червен плексиглас, който имам, и след това да го залепя в кутия за проект, но вместо това да направя малко пренасочване. Кутията, в която я вградих, е контейнер, който някога е държал куп.22 куршума. Повечето от тези контейнери са от прозрачна пластмаса, но имам няколко, които са червени. Не е твърде елегантно, но внуците не се интересуват от елегантността.

Стъпка 3: Софтуер

Софтуер
Софтуер
Софтуер
Софтуер

Софтуерът е доста прост. Таймер 0 може да работи свободно и стойността се проверява всеки път, когато се засече сензор за докосване. Аз произволно реших, че зомби дисплеят ще се появи, ако броят на Timer0 е по-малък от 100. Като се има предвид, че Timer0 е 8-битов, това означава, че „човешкият“дисплей ще се случи за стойности от 100-255. Това е съотношение около 3: 2 и може лесно да се променя в софтуера.

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

Има осем регистри, които се използват за активиране на желаните отделни светодиоди - по един регистър за всяка колона. „1“в бита за данни ще активира този светодиод на колоната. Както бе споменато по -рано, не се изисква мултиплексиране в софтуера. „Човешкият“дисплей е биещо сърце. След изпращането на правилните битови модели към матрицата, биенето се симулира чрез просто включване/изключване на матрицата (със закъснения между тях), докато сензорът за докосване е активен. Процедурата Zombie показва фиксиран модел „X“, докато докосването не бъде премахнато.

Това е всичко за този пост. Вижте другите ми проекти за електроника на: www.boomerrules.wordpress.com

Препоръчано: