Как сделать разъем юсб. Лучшие программы для создания загрузочной флешки. Создание загрузочной USB флешки с помощью программы UltraISO

USB флешка - распространённое устройство, которое наверняка имеет каждый, у кого дома имеется свой персональный компьютер. На сегодняшний день существует большое разнообразие флеш-накопителей. Как правило, они имеют пластиковый или металлический корпус, хотя встречаются и более оригинальные варианты. Но что делать, если корпус Вашей флешки повредился или по каким-то причинам перестал Вас устраивать, а покупать новую Вы не хотите? В этой статье мы расскажем, как заменить старый пластиковый или металлический корпус Вашей флешки на новый деревянный.

Как сделать корпус для флешки?

Для того чтобы сделать деревянный корпус для флешки нам понадобятся следующие инструменты:

USB флешка без корпуса.

Кусок древесины.

Дрель или другое сверлильное устройство.

Наждачная бумага.

Силикон.

Зажимы, 2 шт.

Карандаш.

Приступим к изготовлению!

1. Сначала определите нужный Вам размер корпуса и с помощью пилы по намеченным отметкам из куска дерева вырежьте прямоугольник соответствующего размера.

3. С помощью сверлильного устройства вырежьте не сквозные отверстия в большом и среднем кусках древесины и сквозное отверстие в самом маленьком куске. Отверстия должны быть такого размера, чтобы в них легко поместился и хорошо удерживался USB-накопитель. В средней части, которая будет служить крышкой, внутри отверстия следует сделать небольшие зазоры, для того чтобы крышка могла плотно закрываться и легко открываться.

4. Воткните USB-накопитель в сквозное отверстие маленького куска так, чтобы разъём выступал с одной стороны, а вся остальная часть флешки находилась с другой. Если флешка сидит в отверстии не плотно, зафиксируйте её с помощью силикона.

5. Теперь воткните выступающую длинную часть флешки в отверстие самого большого куска, предварительно нанеся на обе части горячий клей и с помощью пресса склейте их в один корпус. Использовать пресс нужно для того, чтобы обе части плотно скрепились между собой, и после шлифовки между ними не было видно никаких зазоров.

6. Теперь тщательно прошлифуйте весь корпус наждачной бумагой, чтобы придать ему более аккуратный и гладкий вид. Также можно покрыть корпус краской или лаком.Наша оригинальная флешка из дерева готова!

Начнем с минимума:
include 18f2455 -- библиотека для используемого МК
--
enable_digital_io () -- переключение всех входов на цифровой режим
--
alias Button is pin_B7 -- раз уж у нас подключена кнопка, объявим ее
pin_B7_direction = input -- кнопка у нас работает на вход
--
-- одна строчка - и у нас есть все необходимое для работы с USB CDC
include usb_serial -- бибилотека для работы с usb
--
usb_serial_init () -- --инициализируем USB CDC
forever loop -- основной цикл, выполняется постоянно
usb_serial_flush () -- обновление usb. Данная процедура выполняет все необходимые
-- действия для поддержания соединения с ПК
end loop

Скомпилировав данный код, записав полученный HEX файл в МК при помощи бутлоадера и запустив устройство можно будет наблюдать как в системе опрделится новое устройство: Виртуальный сom-порт.

Теперь, когда устройство уже работает, научим его общаться.

Для чтения принятого байта существует функция usb_serial_read( byte) :boolean. При наличии полученного байта она заносит его в указанную переменную и возвращает true , иначе возвращает false .

Для отправки байта существует процедура usb_serial_data . Она замаскирована под переменную, потому для отправки байта достаточно присвоить ей значение отправляемого байта.

Объявим переменную размером в байт до основного цикла, в основном цикле будем проверять наличие полученных байт, и при их наличии отправлять их обратно.

include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch -- объявляем переменную
forever loop -- основной цикл
usb_serial_flush ()
if (usb_serial_read (ch )) then -- если байт получен, он будет записан в ch
usb_serial_data = ch -- отправляем полученный байт обратно
end if
end loop

Компилируем, зажимаем кнопку, передергиваем питание, запуская бутлоадер, меняем прошивку, запускаем.
Устройство снова определилось в системе, теперь нам нужен софт, дабы протестировать работу устройства.

Пока у нас нет своего, используем готовый терминал: я использовал программу RealTerm.
Открываем порт с нужным номером и отправляем данные.


И нам в ответ приходит то, что мы отправили. Значит, все работает как надо.

Софт

Итак, наш микроконтроллер умеет принимать байты и тут же отправлять их обратно. Теперь напишем свой софт для общения с ним (я буду использовать Delphi).

Создаем новый проект, раскидываем по форме необходимые компоненты:
SpinEdit1 - для указания номера порта
Button1 - для установки соединения
Button2 - для разрыва соединения
SpinEdit2 - для ввода байта в десятичном виде
Button3 - для отправки байта
Memo1 - для вывода принятой информации.

Как уже было сказано выше, с com-портом нужно работать так же, как и с обычным текстовым файлом: используя функции CreateFile, WriteFile и ReadFile.

Дабы не вдаваться в подробности, возьмем готовую библиотеку для работы с com-портом: ComPort.

Вешаем на каждую кнопку необходимую задачу и получаем конечный код:

unit Unit1;

interface

Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics , Controls, Forms,
Dialogs, StdCtrls, Spin,ComPort;

Type
TForm1 = class (TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
Button2: TButton;
SpinEdit2: TSpinEdit;
Button3: TButton;
Memo1: TMemo;
procedure OnRead(Sender: TObject; ReadBytes: array of Byte );
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
Port: TComPort;
public
{ Public declarations }
end;

var
Form1: TForm1;
num: integer;
implementation

Procedure TForm1.Button1Click(Sender: TObject);
begin
Port:= TComPort.Create(SpinEdit1.Value, br115200); //создаем соединение
Port.OnRead:= OnRead; //создаем поток чтения принятых данных
Button2.Enabled:= true ; //активируем кнопку закрытия соединения
end;

Procedure TForm1.Button2Click(Sender: TObject);
begin
Port.Free; //закрываем соединение
Button2.Enabled:= false ; //отключаем кнопку
end;

Procedure TForm1.Button3Click(Sender: TObject);
begin
if Button2.Enabled then Port.Write();
end;

Procedure TForm1.FormDestroy(Sender: TObject);
begin
if Button2.Enabled then
Port.Free;
end;

Procedure TForm1.OnRead(Sender: TObject; ReadBytes: array of Byte );
var
i:integer;
begin
for i:= Low(ReadBytes) to High(ReadBytes) do //проходим по массиву принятых байт
begin
Memo1.Text:= Memo1.Text + "." +InttoHex(ReadBytes[i],2); //добавляем его HEX значение в окно
inc(num); //считаем колв-о принятых байт
end;
if num > 10 then begin
Memo1.Lines.Add("" ); //переносим строку
num:= 0;
end;
end;

Запускаем, устанавливаем соединение, отправляем байты:

Вот и готов наш самый простой терминал для работы с самым простым usb-устройством.

Как видно, чтение и запись происходит динамическими массивами байт.

Обрабатывая получаемую информацию можно составить необходимый протокол обмена, подходящий для текущей задачи.

include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch
var byte i -- объявляем вторую переменную
forever loop -- основной цикл
usb_serial_flush ()
if (usb_serial_read (ch )) then -- если байт получен выполняем необходимые действия
case ch of -- перебираем номер байта
0 : usb_serial_data = 0xff
1 : usb_serial_data = Button -- отправка состояния кнопки
OTHERWISE block -- если получено что-то иное
for 16 using i loop -- отправляем 10 байт с данными
usb_serial_data = ch +i -- от ch до ch+15
end loop
end block
end case
end if
end loop

Дополнительные возможности

Если на этом остановиться, получится обычная статья с подробным описанием примера использования библиотеки, коих на просторах сети достаточно. Потому добавлю немного более углубленной информации.

Упрощение отправки данных

Отправлять информацию по одному байту - не всегда удобно. Очень часто может пригодиться библиотека print . Она содержит процедуры по отправке данных всевозможной длины всевозможными форматами: byte,hex,dec,bin,boolean что может упростить вывод данных в программе.
>include print
...
var dword data
print_dword_hex (usb_serial_data , data )

Название всех команд можно посмотреть в файле библиотеки.

Ожидание подключения к ПК

Если перед стартом основного цикла микроконтроллера необходимо предварительно установить соединение с ПК, то можно дописать перед ним строчки
while (usb_cdc_line_status () == 0x00 ) loop
end loop

Привязываем к устройству номер порта

Если оставить все как есть, система при каждом новом подключении будет выделять первый свободный номер порта. А это значит что за ним придется всегда следить.
Для того, что бы этого не происходило, необходимо устройству присвоить уникальное значение серийного номера до подключения библиотеки usb:
Номер может быть любой длины и содержать различные символы.
const byte USB_STRING3 =
{
24 , -- длина массива
0x03 , -- bDescriptorType
"0" , 0x00 ,
"1" , 0x00 ,
"2" , 0x00 ,
"3" , 0x00 ,
"4" , 0x00 ,
"5" , 0x00 ,
"6" , 0x00 ,
"7" , 0x00 ,
"8" , 0x00 ,
"9" , 0x00 ,
"X" , 0x00
}

Меняем имя устройства на свое

Поменять имя устройства, видимое в системе до установки драйверов можно объявив массив с именем, как и серийный номер, это необходимо сделать до подключения библиотеки USB.
const byte USB_STRING2 =
{
28 , --
0x03 , -- bDescriptorType
"D" , 0x00 ,
"e" , 0x00 ,
"m" , 0x00 ,
"o" , 0x00 ,
" " , 0x00 ,
"B" , 0x00 ,
"o" , 0x00 ,
"a" , 0x00 ,
"r" , 0x00 ,
"d" , 0x00 ,
" " , 0x00 ,
"=" , 0x00 ,
")" , 0x00
}

Но увы, после установки драйверов устройство поменяет имя на указанное в.inf файле, потому поменяем имя и там


DESCRIPTION=«Demo CDC»

Организуем автоподключение устройства

Увы, никаких прямых путей выполнить данную задачу нет, потому придется исхитриться.

Прежде всего необходимо присвоить своему устройству уникальное значение производителя и продукта, дабы легко определять его среди сотен других стандартных CDC-прошивок.
VID и PID выдаются за денюжку, потому пойдем по пуути китайцев: втихую возьмем себе заведомо свободные значения.

Прошивка:
В прошивке необходимо объявить две переменные до подключения библиотеки USB

const word USB_SERIAL_PRODUCT_ID = 0xFF10
const word USB_SERIAL_VENDOR_ID = 0xFF10

Вместо FF10 можно вставить любые два слова (2 байта). Конечный результат содержится в прилагаемом архиве.

Драйвера:
Так как драйвера не предназначены для нашей комбинации VID и PID, допишем наши значения в.inf файл вручную:


%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10


%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10

Софт:
Для отлова событий подключения\отключения устройства подключим библиотеку ComponentUSB. Не считаю нужным пояснять каждую строчку: все изменения можно увидеть в прилагаемом проекте.

Результат

На скриншоте сложно разглядеть, но кнопка отправки активна только в момент наличия подключенного устройства, при этом каждые 50мс программа подает запрос на получение состояния кнопки (что, впрочем, неправильно, потому как нажатие кнопки должно обрабатываться на МК).

Как видно, организовать обмен данными между МК и ПК через USB - не самое сложное занятие. Полученное соединение можно использовать не только для конечынх целей: оно так же подходит для отладки программы. Ведь отправить на компьютер результаты расчетов, текущие состояния регистров и переменных куда нагляднее, чем моргать парой светодиодов азбукой морзе.

И напоследок: советую заглянуть в исходный код лампы настроения. Там можно найти довольно-таки хороший вариант обработки принимаемых данных для организации удобного протокола обмена.

Сохранность компьютера становится реальной проблемой для людей, которые много путешествуют и вынуждены работать в аэропортах, кафе и других общественных местах. Обычно больше всего краж происходит именно там. Как ваш ноутбук сможет защитить USB-флешка? Сама по себе - никак, но в связке со специальным ПО она станет настоящим ключом, отпирающим компьютер, как замок.

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

Live-CD с дистрибутивом Linux

Для случаев, когда вам предстоит работать на компьютере не только без приложений, но ещё и без ОС, а также ситуаций, когда нужно оказать «первую помощь», полезно записать на одну из ваших флешек Live CD с каким-нибудь дистрибутивом Linux.

Такая флешка делается довольно просто и не раз выручит, когда понадобится восстановить ОС или с повреждённого компьютера, пригодится для различных тестов и многого другого.

Когда появились кассетные магнитофоны и CD-плееры, машины стали укомплектовываться автомагнитолами. Но с развитием радиоэлектроники появились USB-флешки, которые полностью заменили другие носители. Они не занимают много места, на них можно записать большое количество музыкальных файлов, при этом во время поездки музыка не будет прерываться от езды по бездорожью. Как сделать USB-порт (адаптер) для штатных магнитол своими руками, описывается в этой статье.

[ Скрыть ]

Руководство, как сделать USB-вход в автомагнитоле

Почти все современные автомобили укомплектованы автомагнитолой. Многие водители не хотят менять ее на новое китайское устройство ради того, чтобы получить USB-вход. Для того, чтобы была возможность слушать музыку с флешки, к штатной магнитоле нужно присоединить USB-адаптер (автор видео — oleg ko).

Подготовка

Не займет много времени, но нужно обладать некоторыми знаниями по радиотехнике и уметь пользоваться паяльником. В первую очередь нужно приобрести МР3-плеер, который может читать флешки и карты памяти. Важно, чтобы на нем был выход для наушников. Это необходимо для того, чтобы можно было снимать аудио-сигнал.

Можно воспользоваться FM-триммером, который оборудован аудио-выходом. Преимущество триммера в том, что в комплекте с ним идет дистанционный пульт управления.


Этапы

Купив подходящее устройство с аудио выходом, и приготовив необходимые инструменты, можно приступать к работе.

Подключение состоит из следующих этапов:

  1. Вынимаем устройство и извлекаем из него лентопротяжный механизм или CD-привод.
  2. Положительный провод питания от плеера припаиваем к контакту магнитолы. После включения должно появиться напряжение 9 или 12 В.
  3. Для МР3-плеера нужно включить в схему преобразователь напряжения с 12 Вольт на 5 Вольт. В триммере он встроенный.
  4. Для подключения звука необходимо взять экранированный провод и подсоединить с его помощью к аудио выходу плеера. Если нет такого провода, тогда нужно на плате найти предварительный усилитель, именно к нему идет провод, который нам нужен.
  5. Находим на микропроцессоре выход аудио сигнала. Выпаиваем конденсаторы, а на их место подаем аудио сигнал с плеера.
  6. Теперь устанавливаем плату МР3-плеера. При этом следует соблюдать осторожность, чтобы не избежать короткого замыкания.
  7. Сделать USB входом можно отверстие на панели, где вставлялись диски или кассеты.
  8. Кнопки для управления плеером выводим к клавишам управления расположенным на передней панели.
  9. Далее осталось собрать штатную ее на место.

Теперь можно слушать музыку с цифровых устройств через USB-порт, сделанный своими руками. Для этого нужно включить режим ТАРЕ или AUX. Управление треками осуществляется либо с помощью кнопок на панели, либо пультом, если использовался FM-триммер.

Заключение

Преимущества подключения USB-адаптера к магнитоле:

  • легко установить;
  • флешка лишена недостатков проигрывания CD-дисков, когда выгорает лазер и возникают проблемы с воспроизведением дисков;
  • на флешку помещается много файлов, их легко обновлять и дополнять;
  • воспроизводится запись в том качестве, в котором была записана;
  • можно использовать штатное устройство;
  • USB-вход не занимает прикуриватель.

Таким образом, подключить USB-порт не сложно. Главное, уметь пользоваться паяльником и разбираться хоть немного в электронике.

Подключив в автомагнитоле свой переходник для флешек, можно сэкономить на покупке нового устройства, оборудованного USB-адаптером.

В этой статье я опишу несколько способов как бесплатно и без особых усилий сделать загрузочную USB флешку:

Поясню почему я выбрал именно эти три варианта, итак:

Плюсы в создании загрузочной USB флешки с помощью программы UltraISO в том, что даже в триальном (бесплатном) режиме эта программа поможет без проблем создать загрузочную USB флешку и еще у нее много различных функций. Минусы (если их можно таковыми считать) в том, что ее нужно скачивать и устанавливать, сам процесс установки заключается в нажатии 4 раз клавиши Далее. На мой взгляд идеальное стороннее решение для создания загрузочной флешки Windows XP, 7, 8.

Создание загрузочной USB флешки с помощью утилиты от Microsoft - USB/DVD Download Tool, плюс этого способа в том, что без особых навыков и умении, благодаря нескольким нажатиям мышки вы получаете загрузочную флешку. Минус - требуется официальный (скачанный с сайта Microsoft) ISO образ операционной системы, иначе утилита может не воспринять ваш ISO образ и отказаться его записывать на флешку или же выдаст ошибку при создании образа (с такими проблемами столкнулся лично, именно поэтому считаю нужным о них указать).

И наконец, создание загрузочной USB флешки средствами командной строки Windows 7. Большой плюс этого способа- в том, что ничего не нужно устанавливать, а просто введя несколько команд, получить загрузочную флешку с Windows XP, 7, 8. Даже не знаю минусы этого способа... наверно лишь в его не приглядности, поскольку все команды выполняются в командной строке.

Итак, для создания загрузочной USB флешки понадобится:

1 Флешка емкостью не менее 4 Gb (с флешки должно быть все удалено, поскольку она будет форматироваться)

2 ISO образ системы

3 BIOS, который позволит начать установку с флешки

4 Утилиту для создания образа (UltraISO, USB/DVD Download Tool)

Если все это у вас есть, тогда приступим:

Создание загрузочной USB флешки с помощью программы UltraISO.

Первым делом скачиваем последнюю версию UltraISO .

После этого запускаем установку программы, нажимаем "Далее"

Соглашаемся с лицензионным соглашением

Выбираете или оставляете по умолчанию место установки программы

После этого откроется программа UltraISO, нажимаем "Файл-Открыть"

Выбираете ISO образ системы, в данном примере будет использоваться Windows 8

После этого нажимаем "Самозагрузка- Записать образа Жесткого диска..."

В следующем окне выбираем устройство на которое будет записан образ и нажимаем "Записать" .

После этого появиться окно предупреждение о том, что с флешки будет все удаленно, нажимаем "Да".

Затем будет запущен процесс записи, который продлиться несколько минут.

После окончания процесса записи на USB флешку, она становиться загрузочной.