Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

USB шутка

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

В общем моделирую ситуацию. Паяете «флешку» шутку или как у меня на небольшой отладочной плате, или развести плату для устройства в корпусе реальной флешки. Прошиваем устройство без каких либо дополнительных средств прямо через 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-G2 smdПоиск в магазине ОтронВ блокнот
X1 РазъемminiUSB1 smdПоиск в магазине ОтронВ блокнот
Jmp1, Jmp2 ПеремычкаДжемпер2 Поиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-41 для версии на отладочной платеПоиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-21 для версии на отладочной платеПоиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-141 для версии на отладочной платеПоиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-81 для версии на отладочной платеПоиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-2 угловой2 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 3
Я собрал 0 3
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 3 чел.

Комментарии (25) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
андрей #
По поводу конструкции хочется отметить, что если убрать светодиоды, кнопки с подтяжками, то можно вместить все на очень маленькой плате, от чего ныкать эту шутку будет легко!
Ответить
0

[Автор]
Gauss #
На многослойной печатке можно было бы сделать плату равную размеру самой микросхемы
Ответить
0
BARS_ #
Вполне хватит Mega8 для проекта. AT90USB162 слишком жирно сюда ставить.
Ответить
0

[Автор]
Gauss #
Удобно шить и перешивать по usb и без программатора - то есть собрать сможет абсолютно любой, даже тот, кто ни разу не программировал МК
Ответить
0
Hork112 #
Штырьки на плате получается не используются никак?
Ответить
0

[Автор]
Gauss #
Это отладочная плата для этого МК, поэтому они присутствуют, но не используются, так как только USB интерфейс задействован
Ответить
0
андрей #
Чисто из любопытства, а что за вторая версия?
Ответить
0

[Автор]
Gauss #
Чуть другое устройство на эту же тематику, ждите
Ответить
0
андрей #
Самое жестокое, если бы устройство через минут 30 работы ПК выключало его
Ответить
0

[Автор]
Gauss #
Но тут будет вероятность того, что комп решат разобрать и почистить, поменять термопасту и т.п. - могут спалить, если вовремя не достать
Ответить
0
андрей #
Значит нужно предугадать это и вовремя извлекать флешку, что бы не палиться!
Ответить
0

[Автор]
Gauss #
Тогда уже проще встраивать в какое-то используемое полезное устройство - внутри под корпусом через хаб (максимально мелкий) соединять...
Ответить
0
андрей #
Видел где-то, что можно купить микросхему usb разветвителя и сделать самому хаб удобных размеров. Это уже получается железный вирус какой-то
Ответить
0

[Автор]
Gauss #
Ну тут еще попробуй впихнуть на самом деле - если "игрушка" какая, то там внутри корпуса может быть много места, а если внешний винчестер, то места нет совсем - то есть нужно выбирать еще куда сувать...
Ответить
0
lvlr #
Сразу на ум вспоминается USB мышка которая прикидывалась USB клавой, и через пару минут после включения - открывала InternetExpolrer - с рекламной страницей производителя этой мышки.
И при всём этом - это самое безобидное поведение таких устройств.
Также видел в интернете описание "USB флэешки" - с умножителем напряжения внутри - сжигающем USB порты компа к которым это устройство подключалось.
А если USB клаву сделать на таком контроллере - какой простор для отслеживания всех нажатий клавиш, хранения снимков экрана, форматирования жёстких дисков, автоустановки троянов, удаления пиратского контента и др...
Ответить
0

[Автор]
Gauss #
Думаю главный принцип у меня НЕ нанести вред, только создать неудобства для забавных ситуаций
Отредактирован 03.03.2016 19:37
Ответить
0

[Автор]
Gauss #
Чего только можно не сделать, но многое из этого не сделаешь без подключенного интернета на целевом ПК, т.к. МК такие задачи может в основном обрабатывать, а хранить результат маловато ресурсов
Ответить
0
андрей #
Я правильно понимаю, что можно просто прописать комбинации клавиш и их нажатия для того, чтобы открыть командную строку и писать туда команды с этой штуки?
Ответить
0

[Автор]
Gauss #
И это один из вариантов и он же будет основной, если это на базе такой "клавиатуры", наверно
Ответить
0
андрей #
Интересно то, что какие другие способы?
Ответить
0

[Автор]
Gauss #
Надеюсь, кто-нибудь более прошаренный в этой теме нам расскажет...
Ответить
0

[Автор]
Gauss #
Кому интересно, вот второй вариант: http://cxem.net/mc/mc404.php
Ответить
0
Олег #
А я сделал для этого контроллера шилд под AVRISP-MkII. Пришлось немножко переделать плату контроллера. Работает на ура.
Ответить
0

[Автор]
Gauss #
Такое-же желание было сделать программатор в довес к этому МК на моей плате, но как-то забил, STM все больше и больше нравится
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Модуль радиореле на 4 канала iMAX B6 - зарядное для Lion, LiPo, LiFe, Pb, NiCd и NiMH аккумуляторов
вверх