Kako napraviti usb konektor. Kreiramo najjednostavniji usb uređaj za komunikaciju sa našim programom. Organizujemo automatsko povezivanje uređaja

Kada su se pojavili kasetofoni i CD plejeri, automobili su počeli da se opremaju auto radijima. Ali razvojem radio elektronike pojavili su se USB fleš diskovi, koji su u potpunosti zamijenili druge medije. Ne zauzimaju puno prostora, na njih možete snimiti veliki broj muzičkih fajlova, dok tokom putovanja muziku neće prekidati terenska vožnja. Kako vlastitim rukama napraviti USB priključak (adapter) za obične magnetofonske trake opisano je u ovom članku.

[ Sakrij ]

Vodič o tome kako napraviti USB ulaz u auto radiju

Gotovo svi moderni automobili opremljeni su auto radiom. Mnogi vozači ne žele da ga mijenjaju na novi kineski uređaj kako bi dobili USB ulaz. Da biste mogli da slušate muziku sa USB fleš diska, potrebno je da na glavnu jedinicu povežete USB adapter (autor videa je oleg ko).

Priprema

Neće vam trebati puno vremena, ali morate imati neko znanje o radiotehnici i znati koristiti lemilicu. Prije svega, morate kupiti MP3 player koji može čitati fleš diskove i memorijske kartice. Važno je da ima izlaz za slušalice. Ovo je neophodno da bi se mogao uhvatiti audio signal.

Možete koristiti FM trimer, koji je opremljen audio izlazom. Prednost trimera je što dolazi sa daljinskim upravljačem.


Faze

Nakon što ste kupili odgovarajući uređaj sa audio izlazom i pripremili potrebne alate, možete pristupiti poslu.

Povezivanje se sastoji od sljedećih koraka:

  1. Izvadimo uređaj i iz njega izvadimo mehanizam trake ili CD-drive.
  2. Pozitivnu žicu za napajanje od plejera zalemimo na radio kontakt. Nakon uključivanja trebao bi se pojaviti napon od 9 ili 12 V.
  3. Za MP3 plejer, morate uključiti pretvarač napona od 12 volti do 5 volti u krug. Trimer ima ugrađen.
  4. Da biste povezali zvuk, morate uzeti zaštićenu žicu i spojiti je na audio izlaz plejera. Ako nema takve žice, onda morate pronaći pretpojačalo na ploči, do njega ide žica koja nam je potrebna.
  5. Pronalazimo izlaz audio signala na mikroprocesoru. Lemimo kondenzatore, a na njihovo mjesto dajemo audio signal iz plejera.
  6. Sada instalirajte ploču za MP3 plejer. Kada to radite, pazite da ne izbjegnete kratki spoj.
  7. Možete napraviti USB ulaz kao rupu na ploči u koju su umetnuti diskovi ili kasete.
  8. Tasteri za upravljanje plejerom su prikazani na kontrolnim tasterima koji se nalaze na prednjoj ploči.
  9. Zatim, ostaje da prikupi svoje osoblje na mjestu.

Sada možete slušati muziku sa digitalnih uređaja preko DIY USB porta. Da biste to učinili, uključite TAPE ili AUX način rada. Stazama se upravlja ili pomoću dugmadi na ploči, ili pomoću daljinskog upravljača ako je korišten FM trimer.

Zaključak

Prednosti povezivanja USB adaptera na radio:

  • jednostavan za instalaciju;
  • fleš disk je lišen nedostataka reprodukcije CD-a kada laser pregori i postoje problemi s reprodukcijom diskova;
  • mnoge datoteke se nalaze na USB fleš disku, lako ih je ažurirati i dopuniti;
  • snimak se reprodukuje u kvalitetu u kojem je snimljen;
  • možete koristiti standardni uređaj;
  • USB ulaz ne zauzima upaljač za cigarete.

Stoga povezivanje USB porta nije teško. Glavna stvar je znati koristiti lemilicu i barem malo razumjeti elektroniku.

Povezivanjem adaptera za fleš diskove u auto radio možete uštedeti na kupovini novog uređaja opremljenog USB adapterom.

Počnimo sa minimumom:
uključuje 18f2455 -- biblioteku za korištene MK
--
enable_digital_io() -- prebacite sve ulaze u digitalni mod
--
alias dugme je pin_B7 -- pošto imamo dugme povezano, proglasite ga
pin_B7_direction = ulaz -- dugme radi za nas na ulazu
--
-- jedan red - i imamo sve što vam je potrebno za rad sa USB CDC-om
uključi usb_serial -- usb biblioteku
--
usb_serial_init() -- --inicijalizirati USB CDC
forever loop-- glavna petlja, radi kontinuirano
usb_serial_flush() -- usb ažuriranje. Ovaj postupak čini sve što je potrebno
-- radnje za održavanje veze sa računarom
krajnja petlja

Nakon kompajliranja ovog koda, pisanja rezultirajuće HEX datoteke u MK pomoću bootloadera i pokretanja uređaja, možete vidjeti kako je novi uređaj definiran u sistemu: Virtual com-port.

Sada kada uređaj već radi, naučimo ga da komunicira.

Za čitanje primljenog bajta postoji funkcija usb_serial_read( bajt ) :boolean. Ako postoji primljeni bajt, on ga pohranjuje u navedenu varijablu i vraća istinito, inače vraća false.

Postoji procedura za slanje bajta usb_serial_data. On je maskiran kao varijabla, tako da je za slanje bajta dovoljno da mu se dodijeli vrijednost bajta koji se šalje.

Hajde da deklarišemo varijablu veličine bajta pre glavne petlje, u glavnoj petlji ćemo proveriti prisustvo primljenih bajtova i poslati ih nazad ako ih ima.

uključuje 18f2455
--
enable_digital_io()
--
alias dugme je pin_B7
pin_B7_direction = ulaz
--
--
uključi usb_serial
--
usb_serial_init()
var bajt ch -- deklarisati varijablu
forever loop-- glavna petlja
usb_serial_flush()
ako(usb_serial_read(ch)) onda-- ako je bajt primljen, biće upisan u ch
usb_serial_data=ch -- poslati primljeni bajt nazad
kraj ako
krajnja petlja

Prevodimo, držimo dugme, iskrivljujemo napajanje, pokrećemo bootloader, mijenjamo firmver, pokrećemo ga.
Uređaj je ponovo otkriven u sistemu, sada nam je potreban softver kako bismo testirali rad uređaja.

Dok nemamo svoj, koristimo gotov terminal: koristio sam program RealTerm.
Otvaramo port sa željenim brojem i šaljemo podatke.


I dobijamo ono što smo poslali. Dakle, sve radi kako treba.

Soft

Dakle, naš mikrokontroler može primiti bajtove i odmah ih poslati nazad. Hajde sada da napišemo sopstveni softver za komunikaciju sa njim (ja ću koristiti Delphi).

Kreiramo novi projekat, raspršujemo potrebne komponente u obliku:
SpinEdit1 - za određivanje broja porta
Dugme 1 - za uspostavljanje veze
Button2 - za prekid veze
SpinEdit2 - za unos bajta u decimalnom obliku
Button3 - za slanje bajta
Memo1 - za prikaz primljenih informacija.

Kao što je gore spomenuto, morate raditi sa com portom na isti način kao i sa običnom tekstualnom datotekom: koristeći funkcije CreateFile, WriteFile i ReadFile.

Da ne ulazimo u detalje, uzmimo gotovu biblioteku za rad sa com portom: ComPort.

Zakačimo potreban zadatak na svako dugme i dobijemo konačni kod:

jedinica Unit1;

interfejs

koristi
Windows, poruke, SysUtils, varijante, klase, grafika, kontrole, obrasci,
Dijalozi, StdCtrls, Spin,ComPort;

tip
TForm1 = klasa(TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
Button2: TButton;
SpinEdit2: TSpinEdit;
Button3: TButton;
Memo1:TMemo;
procedura OnRead(Pošiljalac: TObject; ReadBytes: niz bajtova);
procedura Button1Click(Pošiljalac: TObject);
procedura Button2Click(Pošiljalac: TObject);
procedura FormDestroy(Pošiljalac: TObject);
procedura Button3Click(Pošiljalac: TObject);
privatni
(privatne izjave)
Port: TComPort;
javnosti
(Javne izjave)
kraj;

var
Form1: TForm1;
broj: cijeli broj;
implementacija

Procedura TForm1.Button1Click(Pošiljalac: TObject);
početi
Port:= TComPort.Create(SpinEdit1.Value, br115200); // kreiramo vezu
Port.OnRead:= OnRead; //kreiramo tok za čitanje primljenih podataka
Button2.Enabled:= true ; //aktivirajte dugme za zatvaranje veze
kraj;

Procedura TForm1.Button2Click(Pošiljalac: TObject);
početi
Port Free; //zatvaranje veze
Button2.Enabled:= false ; //onemogući dugme
kraj;

Procedura TForm1.Button3Click(Pošiljalac: TObject);
početi
ako je Button2.Enabled onda Port.Write();
kraj;

Procedura TForm1.FormDestroy(Pošiljalac: TObject);
početi
ako je Button2.Enabled tada
Port Free;
kraj;

Procedura TForm1.OnRead(Pošiljalac: TObject; ReadBytes: niz bajtova);
var
i:integer;
početi
for i:= Low(ReadBytes) do High(ReadBytes) radi //prolazi kroz niz primljenih bajtova
početi
Memo1.Text:= Memo1.Text + "." +InttoHex(ReadBytes[i],2); //dodajte njegovu HEX vrijednost u prozor
inc(broj); //izbroji broj primljenih bajtova
kraj;
ako je broj > 10 onda počnite
Memo1.Lines.Add("" ); //transfer linija
broj:=0;
kraj;
kraj;

Pokrećemo, uspostavljamo vezu, šaljemo bajtove:

Dakle, naš najjednostavniji terminal je spreman za rad s najjednostavnijim usb uređajem.

Kao što vidite, čitanje i pisanje su dinamički nizovi bajtova.

Obradom primljenih informacija moguće je izraditi neophodan protokol razmjene koji odgovara trenutnom zadatku.

uključuje 18f2455
--
enable_digital_io()
--
alias dugme je pin_B7
pin_B7_direction = ulaz
--
--
uključi usb_serial
--
usb_serial_init()
var bajt ch
var bajt i -- deklarisati drugu varijablu
forever loop-- glavna petlja
usb_serial_flush()
ako(usb_serial_read(ch)) onda-- ako je bajt primljen, izvršite potrebne radnje
slučaj ch of -- iterirati preko broja bajta
0 : usb_serial_data = 0xff
1 : usb_serial_data = Dugme -- stanje dugmeta za slanje
U protivnom blok-- ako se primi nešto drugo
za 16 koristeći i petlja-- poslati 10 bajtova podataka
usb_serial_data = ch +i -- ch do ch+15
krajnja petlja
krajnji blok
krajnji slučaj
kraj ako
krajnja petlja

Dodatne mogućnosti

Ako se tu zaustavi, dobićete običan članak s detaljnim opisom primjera korištenja biblioteke, kojih ima dovoljno na webu. Stoga ću dodati malo detaljnije informacije.

Pojednostavite slanje podataka

Slanje informacija jedan po bajt nije uvijek zgodno. Biblioteka može biti veoma korisna print. Sadrži procedure za slanje podataka svih mogućih dužina u svim mogućim formatima: byte, hex, dec, bin, boolean, što može pojednostaviti izlaz podataka u programu.
>uključuje ispis
...
vardword podaci
print_dword_hex (usb_serial_data, data)

Ime svih naredbi se može naći u datoteci biblioteke.

Čeka se konekcija na PC

Ako je prije pokretanja glavnog ciklusa mikrokontrolera potrebno prvo uspostaviti vezu s PC-om, tada možete dodati linije prije njega
dok(usb_cdc_line_status() == 0x00) petlja
krajnja petlja

Povežite broj porta na uređaj

Ako ostavite sve kako jeste, sistem će dodijeliti prvi slobodni broj porta za svaku novu vezu. A to znači da morate paziti na to.
Da biste spriječili da se to dogodi, morate dodijeliti jedinstvenu vrijednost serijskog broja uređaju prije povezivanja USB biblioteke:
Broj može biti bilo koje dužine i sadržavati različite znakove.
const byte USB_STRING3=
{
24 , -- dužina niza
0x03, --bDescriptorType
"0" , 0x00 ,
"1" , 0x00 ,
"2" , 0x00 ,
"3" , 0x00 ,
"4" , 0x00 ,
"5" , 0x00 ,
"6" , 0x00 ,
"7" , 0x00 ,
"8" , 0x00 ,
"9" , 0x00 ,
"X" 0x00
}

Promijenite naziv uređaja u svoj

Možete promijeniti ime uređaja vidljivog u sistemu prije instaliranja drajvera tako što ćete deklarirati niz sa imenom, kao što je serijski broj, to se mora učiniti prije povezivanja USB biblioteke.
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
}

Ali nažalost, nakon instaliranja drajvera, uređaj će promijeniti ime u ono navedeno u .inf datoteci, tako da ćemo i tamo promijeniti ime


DESCRIPTION="Demo CDC"

Organizujemo automatsko povezivanje uređaja

Nažalost, ne postoje direktni načini da se ovaj zadatak završi, tako da morate smisliti.

Prije svega, svom uređaju morate dodijeliti jedinstvenog proizvođača i vrijednost proizvoda kako biste ga lako identificirali među stotinama drugih standardnih CDC firmvera.
VID i PID se daju za novac, pa idemo putem Kineza: tiho sebi preuzmimo očigledno slobodne vrijednosti.

Firmware:
Dvije varijable moraju biti deklarirane u firmveru prije povezivanja USB biblioteke

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

Umjesto FF10, možete umetnuti bilo koje dvije riječi (2 bajta). Konačni rezultat nalazi se u priloženoj arhivi.

Vozači:
Budući da upravljački programi nisu dizajnirani za našu kombinaciju VID-a i PID-a, svoje vrijednosti ćemo dodati ručno u .inf datoteku:


%DESCRIPTION%=Instalacija drajvera, USB\VID_FF10&PID_FF10


%DESCRIPTION%=Instalacija drajvera, USB\VID_FF10&PID_FF10

mekano:
Da uhvatimo događaje povezivanja / prekida veze uređaja, spojit ćemo ComponentUSB biblioteku. Ne smatram da je potrebno objašnjavati svaki red: sve promjene se mogu vidjeti u priloženom projektu.

Rezultat

Teško se to vidi na snimku ekrana, ali dugme za slanje je aktivno samo kada postoji povezan uređaj, a svakih 50ms program šalje zahtev za dobijanje stanja dugmeta (što je, međutim, pogrešno, jer pritisak na dugme treba da se obradi na MK).

Kao što vidite, organiziranje razmjene podataka između MK-a i PC-a putem USB-a nije najteži zadatak. Rezultirajuća veza može se koristiti ne samo u konačne svrhe: ona je također pogodna za otklanjanje grešaka u programu. Na kraju krajeva, slanje rezultata proračuna, trenutnih stanja registara i varijabli na kompjuter je mnogo jasnije od treptanja para LED dioda u Morzeovom kodu.

I na kraju: savjetujem vam da pogledate izvorni kod lampe raspoloženja. Tamo možete pronaći prilično dobru opciju za obradu primljenih podataka za organiziranje prikladnog protokola razmjene.

U ovom članku opisat ću nekoliko načina da besplatno i bez puno truda napravite USB fleš disk za pokretanje sistema:

Dozvolite mi da objasnim zašto sam odabrao ove tri opcije, dakle:

Prednosti kreiranja USB fleš diska za pokretanje pomoću programa UltraISO su u tome što će vam ovaj program čak iu probnom (besplatnom) režimu pomoći da kreirate USB fleš disk za pokretanje bez ikakvih problema, a ima i mnogo različitih funkcija. Nedostaci (ako se mogu smatrati takvima) su što ga treba preuzeti i instalirati, sam proces instalacije se sastoji od pritiska na dugme Next 4 puta. Po mom mišljenju, idealno rešenje treće strane za kreiranje USB fleš diska za pokretanje za Windows XP, 7, 8.

Kreiranje USB fleš diska za pokretanje pomoću Microsoftovog uslužnog programa - USB / DVD Download Tool, prednost ove metode je u tome što bez posebnih vještina i sposobnosti, zahvaljujući nekoliko klikova mišem, dobijate USB fleš disk za pokretanje. Minus - potrebna je zvanična (preuzeta sa Microsoftove web stranice) ISO slika operativnog sistema, inače uslužni program možda neće prihvatiti vašu ISO sliku i odbiti je zapisati na USB fleš disk ili će dati grešku prilikom kreiranja slike (Ja sam se lično susreo sa ovakvim problemima, zbog čega smatram potrebnim da ih ukažem).

I na kraju, kreiranje USB fleš diska za pokretanje pomoću komandne linije Windows 7. Veliki plus ove metode je što ne morate ništa da instalirate, već jednostavnim unosom nekoliko komandi dobijate USB fleš disk za pokretanje sa Windows XP , 7, 8. Ne znam ni nedostatke ove metode... vjerovatno samo u njenoj ružnoći, pošto se sve komande izvršavaju na komandnoj liniji.

Dakle, da biste kreirali USB fleš disk za pokretanje, trebat će vam:

1 fleš disk kapaciteta najmanje 4 Gb (sve se mora izbrisati sa fleš diska jer će se formatirati)

2 ISO sistemska slika

3 BIOS, koji će vam omogućiti da pokrenete instalaciju sa USB fleš diska

4 Uslužni program za kreiranje slika (UltraISO, USB/DVD alat za preuzimanje)

Ako imate sve ovo, hajde da počnemo:

Kreirajte USB fleš disk za pokretanje koristeći UltraISO.

Prije svega, preuzmite najnoviju verziju UltraISO .

Nakon toga pokrenite instalaciju programa, kliknite "Dalje"

Slažemo se sa licencnim ugovorom

Odaberite ili ostavite zadanu lokaciju za instalaciju programa

Nakon toga otvorit će se program UltraISO, kliknite "Otvori fajl"

Izaberite ISO sliku sistema, u ovom primeru će se koristiti Windows 8

Nakon toga pritisnemo "Boot-Burn Hard Disk Image..."

U sljedećem prozoru odaberite uređaj na kojem će slika biti upisana i kliknite "Rekord".

Nakon toga će se pojaviti prozor s upozorenjem da će sve biti izbrisano sa fleš diska, kliknite "Da".

Proces snimanja će tada započeti i trajati nekoliko minuta.

Nakon što je proces pisanja na USB fleš disk završen, on postaje pokretan.

U ovom članku opisat ću nekoliko načina da besplatno i bez puno truda napravite USB fleš disk za pokretanje sistema:

Dozvolite mi da objasnim zašto sam odabrao ove tri opcije, dakle:

Prednosti kreiranja USB fleš diska za pokretanje pomoću programa UltraISO su u tome što će vam ovaj program čak iu probnom (besplatnom) režimu pomoći da kreirate USB fleš disk za pokretanje bez ikakvih problema, a ima i mnogo različitih funkcija. Nedostaci (ako se mogu smatrati takvima) su što ga treba preuzeti i instalirati, sam proces instalacije se sastoji od pritiska na dugme Next 4 puta. Po mom mišljenju, idealno rešenje treće strane za kreiranje USB fleš diska za pokretanje za Windows XP, 7, 8.

Kreiranje USB fleš diska za pokretanje pomoću Microsoftovog uslužnog programa - USB / DVD Download Tool, prednost ove metode je u tome što bez posebnih vještina i sposobnosti, zahvaljujući nekoliko klikova mišem, dobijate USB fleš disk za pokretanje. Minus - potrebna je zvanična (preuzeta sa Microsoftove web stranice) ISO slika operativnog sistema, inače uslužni program možda neće prihvatiti vašu ISO sliku i odbiti je zapisati na USB fleš disk ili će dati grešku prilikom kreiranja slike (Ja sam se lično susreo sa ovakvim problemima, zbog čega smatram potrebnim da ih ukažem).

I na kraju, kreiranje USB fleš diska za pokretanje pomoću komandne linije Windows 7. Veliki plus ove metode je što ne morate ništa da instalirate, već jednostavnim unosom nekoliko komandi dobijate USB fleš disk za pokretanje sa Windows XP , 7, 8. Ne znam ni nedostatke ove metode... vjerovatno samo u njenoj ružnoći, pošto se sve komande izvršavaju na komandnoj liniji.

Dakle, da biste kreirali USB fleš disk za pokretanje, trebat će vam:

1 fleš disk kapaciteta najmanje 4 Gb (sve se mora izbrisati sa fleš diska jer će se formatirati)

2 ISO sistemska slika

3 BIOS, koji će vam omogućiti da pokrenete instalaciju sa USB fleš diska

4 Uslužni program za kreiranje slika (UltraISO, USB/DVD alat za preuzimanje)

Ako imate sve ovo, hajde da počnemo:

Kreirajte USB fleš disk za pokretanje koristeći UltraISO.

Prije svega, preuzmite najnoviju verziju UltraISO .

Nakon toga pokrenite instalaciju programa, kliknite "Dalje"

Slažemo se sa licencnim ugovorom

Odaberite ili ostavite zadanu lokaciju za instalaciju programa

Nakon toga otvorit će se program UltraISO, kliknite "Otvori fajl"

Izaberite ISO sliku sistema, u ovom primeru će se koristiti Windows 8

Nakon toga pritisnemo "Boot-Burn Hard Disk Image..."

U sljedećem prozoru odaberite uređaj na kojem će slika biti upisana i kliknite "Rekord".

Nakon toga će se pojaviti prozor s upozorenjem da će sve biti izbrisano sa fleš diska, kliknite "Da".

Proces snimanja će tada započeti i trajati nekoliko minuta.

Nakon što je proces pisanja na USB fleš disk završen, on postaje pokretan.

USB fleš disk- uobičajeni uređaj koji vjerovatno ima svako ko ima lični računar kod kuće. Danas postoji veliki izbor fleš diskova. U pravilu imaju plastično ili metalno kućište, iako postoje originalnije opcije. Ali šta učiniti ako je kućište vašeg fleš diska oštećeno ili vam iz nekog razloga više ne odgovara, ali ne želite da kupite novi? U ovom članku ćemo vam pokazati kako zamijeniti staro plastično ili metalno kućište vašeg flash pogona novim drvenim.

Kako napraviti kućište za fleš disk?

Da bismo napravili drveno kućište za fleš disk, potrebni su nam sljedeći alati:

USB fleš disk bez kućišta.

Komad drveta.

Bušilica ili drugi uređaj za bušenje.

Brusni papir.

Silikon.

Obujmice, 2 kom.

Olovka.

Počnimo da pravimo!

1. Najprije odredite veličinu kućišta koja vam je potrebna i pomoću testere izrežite pravougaonik odgovarajuće veličine od komada drveta koristeći označene oznake.

3. Koristeći uređaj za bušenje, izrežite rupe koje nisu prolazne u velikim i srednjim komadima drveta i prolaznu rupu u najmanjem komadu. Rupe bi trebale biti veličine tako da lako stane i drži USB stick. U srednjem dijelu, koji će služiti kao poklopac, treba napraviti male otvore unutar otvora kako bi se poklopac mogao dobro zatvoriti i lako otvoriti.

4. Umetnite USB fleš disk u otvor na malom komadu tako da konektor viri na jednoj strani, a ostatak fleš diska na drugoj. Ako fleš disk ne leži čvrsto u rupi, popravite ga silikonom.

5. Sada zalijepite istureni dugi dio fleš diska u otvor najvećeg komada, nakon što nanesete vruće ljepilo na oba dijela i pomoću preše zalijepite ih u jednu kutiju. Potrebno je koristiti presu tako da su oba dijela čvrsto pričvršćena, a nakon brušenja ne vide se praznine između njih.

6. Sada pažljivo izbrusite cijelo tijelo brusnim papirom kako biste mu dali uredniji i glatkiji izgled. Kućište možete i prekriti bojom ili lakom Naš originalni drveni fleš disk je spreman!