Главная » Микроконтроллеры
Призовой фонд
на январь 2017 г.
1. 5000 руб.
Академия Благородных Металлов
2. 1000 руб.
Radio-Sale
3. Регулируемый паяльник 60 Вт
Паяльник
4. 600 руб.
От пользователей
5. Тестер компонентов LCR-T4
Паяльник

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


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 Поиск в FivelВ блокнот
C1, C6 Конденсатор1 мкФ2 1206Поиск в FivelВ блокнот
C2 Конденсатор0.1 мкФ1 1206Поиск в FivelВ блокнот
C3, C4 Конденсатор22 пФ2 1206Поиск в FivelВ блокнот
C5 Конденсатор10 мкФ1 1206Поиск в FivelВ блокнот
R1 Резистор
1.5 кОм
1 1206Поиск в FivelВ блокнот
R2, R3 Резистор
22 Ом
2 1206Поиск в FivelВ блокнот
R4 Резистор
1 кОм
1 1206Поиск в FivelВ блокнот
R5, R6 Резистор
10 кОм
2 1 - 0805, 1 - выводнойПоиск в FivelВ блокнот
LED1 СветодиодКрасный1 1206Поиск в FivelВ блокнот
LED2 СветодиодЗеленый1 1206Поиск в FivelВ блокнот
Z1 Кварцевый резонатор16 МГц1 Поиск в FivelВ блокнот
S1, S2 Тактовая кнопкаIT-1127-5-160G-G2 smdПоиск в FivelВ блокнот
X1 РазъемminiUSB1 smdПоиск в FivelВ блокнот
Jmp1, Jmp2 ПеремычкаДжемпер2 Поиск в FivelВ блокнот
Штыревое соединениеPLS-41 для версии на отладочной платеПоиск в FivelВ блокнот
Штыревое соединениеPLS-21 для версии на отладочной платеПоиск в FivelВ блокнот
Штыревое соединениеPLS-141 для версии на отладочной платеПоиск в FivelВ блокнот
Штыревое соединениеPLS-81 для версии на отладочной платеПоиск в FivelВ блокнот
Штыревое соединениеPLS-2 угловой2 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (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

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Мини гравер 125 Ватт Печатная плата для усилителя "LM3886 + AD825"
вверх