Первое апреля не единственный день в году, когда можно разыграть друга, коллегу (да и уже не за горами эта дата), и поэтому сегодня мы попробуем сделать устройство, которое нам может помочь в этом. Товарищам, которым нравится ковыряться во всяком железе может прийти по душе шутка с клавиатурой, которая генерирует случайные нажатия кнопок и иногда их комбинации – получится совместить, так сказать, приятное с приятным, все же полезного, наверно мало, зато может создать забавную ситуацию.
В общем моделирую ситуацию. Паяете «флешку» шутку или как у меня на небольшой отладочной плате, или развести плату для устройства в корпусе реальной флешки. Прошиваем устройство без каких либо дополнительных средств прямо через USB посредством специального софта под названием Flip компании Atmel. Все, теперь готовимся заряжаться смехом на долгую жизнь – незаметно нужно вставить эту «флешку» в компьютер тому, кого хотите разыграть. И далее просто наблюдаем за тем, как у вашего товарища при работе на компьютере творятся аномальные вещи – то открылось окно помощи, то поиска, то просто какие-то буквы начинают появляться. В конце останется только показать, в чем было дело и быстро-быстро бежать. Забавно? Правда? Если вы считаете так же, то читаем продолжение статьи о том, как сделать USB шутку. Если же напротив, то прошу прощения за потраченное время.
Итак, для этого нам понадобится, главным образом, микроконтроллер AT90USB162. Выбор именно в пользу этого микроконтроллера обуславливается тем, что для его программирования не нужен программатор, все происходит при помощи аппаратного USB модуля и bootloader’a, который изначально прошит как заводская настройка. Далее необходимо немного резисторов, конденсаторов и кварцевый резонатор на частоту 16 МГц. Также пара светодиодов опционально для красоты или визуализации – их можно не ставить вообще, если не хотите. Ну, и наконец форм фактор шуточного устройства вы определяете сами – самый скрытный вариант – это USB флешка, но на худой конец можно сделать любу черновую плату или использовать предложенную мной, в таком случае отлично можно замаскировать устройство на задних USB разъемах стационарного компьютера.
Итак, давайте перейдем к схеме устройства:
Как было отмечено, главным элементом схемы является микроконтроллер AT90USB162. Использовать данный микроконтроллер придется в smd корпусе (TQFP32). Для человека с малым опытом в пайке лучше всего попросит припаять его опытных людей, чтобы не испортить микроконтроллер или печатную плату. Расстояние между выводами небольшое и для пайки нужна некоторая сноровка. Пишу для общего круга читателей, поэтому старожилы радиолюбители могут все это пропустить. Далее резисторы (кроме R6), конденсаторы, светодиоды используются также в smd исполнении. С smd светодиодами особенно аккуратно – их сжечь при пайке достаточно просто, особенно если паяльник без стабилизации температуры. Выбор типа разъема зависит от ваших предпочтений, я предлагаю тип USB mini, но можно использовать или USB micro или вовсе тип A или B. Конденсатор C6 является фильтром внутреннего стабилизатора микроконтроллера на 3,3 вольта. Номинал можно увеличить. Конденсаторы C1, C2, C5 – фильтры по общему питанию 5 вольт. Резисторы R2 и R3 подключаются на выводы данных data+ и data- USB интерфейса, номинал можно немного увеличить, если нет таких как в схеме. Даташит рекомендует использовать 22 Ом. Резистор R5 подтягивает плюс питания к выводу reset микроконтроллера, чтобы не происходило самопроизвольного перезапускания устройства, если вдруг этот вывод начнет ловить помехи. Резистор R6 подключается через перемычку к выводу микроконтроллера, который при замыкании на землю в связке с кнопкой reset активирует bootloader. Это необходимо для возможной перепрошивки устройства во что-то более полезное. Перемычка используется для возможности использовать этот вывод для других целей. Резисторы R1 и R4 ограничивают ток, протекающий через светодиоды, чтобы те не вышли из строя. Номинал выбран с избытком, так как примененные светодиоды сверхъяркие и им достаточно небольшого тока, чтобы они достаточно ярко светились. Такой выбор немного повысит их надежность. Номиналы этих резисторов можно варьировать в разумных пределах. Сами же светодиоды можно выбрать любой формы и способа монтажа, но на моей плате можно использовать только для поверхностного монтажа и только типоразмеров 1206, как изначально заложено, но на эти площадки может поместится также типоразмер 0805. Ограничительный резистор для красного светодиода имеет больший номинал, так как падение напряжения на красных светодиодах, как правило, всегда меньше, чем на остальных. Чем больше падение напряжения на светодиоде, тем меньше нужен ограничивающий резистор. Расчет выглядит следующим образом: напряжение питания отнять напряжение падения на светодиоде и это все разделить на ток, протекающий через светодиод, ответом будет сопротивление ограничивающего ток резистора. И последний элемент – это кварцевый резонатор, к его выводам подсоединены конденсаторы C3 и C4 малой емкости для обеспечения работы резонатора. Частота кварца должна быть строго 16 МГц без каких либо отклонений, так как именно с ним будет работать схема. Фьюз биты прошивать не нужно, поэтому схема тактирования будет работать только от него. Применение smd компонентов позволит сделать плату миниатюрной, похожей на стандартную флешку, что не вызовет особых подозрений на ее счет.
Если вы ранее собирали отладочную плату для микроконтроллера AT90USB162, то дополнительно ничего паять не придется, только прошить микроконтроллер и все. Я так и поступил. Схема опробована на железе отладочной платы:
При включении устройства в USB несколько раз моргнет зеленый светодиод, типа как «настоящая» флешка. Красный светодиод горит постоянно и выполняет функцию индикации напряжения на плате. Случайная кнопка наживается примерно раз в секунду, интервал можно увеличить до любого вам желаемого. Процесс выбора случайной кнопки осуществляется функцией rand(). Может быть вы скажете, что это не самый лучший рандомайзер, но главное он работает и выполняет свои функции как надо.
Для прошивки микроконтроллера используется программа Flip, скачать ее последнюю версию можно с официального сайта Atmel. Подробно процесс программирования рассмотрен в статью про отладочную плату на базе микроконтроллера AT90USB162. Напомню, что никаких фьюз-бит прошивать не нужно, только саму прошивку во флэш память и все.
К статье прилагается прошивка для микроконтроллера AT90USB162, исходный код в программе CodeVisionAVR, файл печатной платы, на которой была изготовлена данная схема, а также небольшое видео, демонстрирующее пакости, которые творит эта схема. Надеюсь было интересно, спасибо за внимание и до новых встреч!
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | AT90USB162 | 1 | Поиск в магазине Отрон | ||
C1, C6 | Конденсатор | 1 мкФ | 2 | 1206 | Поиск в магазине Отрон | |
C2 | Конденсатор | 0.1 мкФ | 1 | 1206 | Поиск в магазине Отрон | |
C3, C4 | Конденсатор | 22 пФ | 2 | 1206 | Поиск в магазине Отрон | |
C5 | Конденсатор | 10 мкФ | 1 | 1206 | Поиск в магазине Отрон | |
R1 | Резистор | 1.5 кОм | 1 | 1206 | Поиск в магазине Отрон | |
R2, R3 | Резистор | 22 Ом | 2 | 1206 | Поиск в магазине Отрон | |
R4 | Резистор | 1 кОм | 1 | 1206 | Поиск в магазине Отрон | |
R5, R6 | Резистор | 10 кОм | 2 | 1 - 0805, 1 - выводной | Поиск в магазине Отрон | |
LED1 | Светодиод | Красный | 1 | 1206 | Поиск в магазине Отрон | |
LED2 | Светодиод | Зеленый | 1 | 1206 | Поиск в магазине Отрон | |
Z1 | Кварцевый резонатор | 16 МГц | 1 | Поиск в магазине Отрон | ||
S1, S2 | Тактовая кнопка | IT-1127-5-160G-G | 2 | smd | Поиск в магазине Отрон | |
X1 | Разъем | miniUSB | 1 | smd | Поиск в магазине Отрон | |
Jmp1, Jmp2 | Перемычка | Джемпер | 2 | Поиск в магазине Отрон | ||
Штыревое соединение | PLS-4 | 1 | для версии на отладочной плате | Поиск в магазине Отрон | ||
Штыревое соединение | PLS-2 | 1 | для версии на отладочной плате | Поиск в магазине Отрон | ||
Штыревое соединение | PLS-14 | 1 | для версии на отладочной плате | Поиск в магазине Отрон | ||
Штыревое соединение | PLS-8 | 1 | для версии на отладочной плате | Поиск в магазине Отрон | ||
Штыревое соединение | PLS-2 угловой | 2 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- исходник(1).rar (118 Кб)
- 123.hex (10 Кб)
- AT90USB162_final_v_2_0(2).lay6 (91 Кб)
Комментарии (25) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
И при всём этом - это самое безобидное поведение таких устройств.
Также видел в интернете описание "USB флэешки" - с умножителем напряжения внутри - сжигающем USB порты компа к которым это устройство подключалось.
А если USB клаву сделать на таком контроллере - какой простор для отслеживания всех нажатий клавиш, хранения снимков экрана, форматирования жёстких дисков, автоустановки троянов, удаления пиратского контента и др...
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]