Sadržaj:

Jednostavan i jeftin analogno -digitalni pretvarač: 5 koraka
Jednostavan i jeftin analogno -digitalni pretvarač: 5 koraka

Video: Jednostavan i jeftin analogno -digitalni pretvarač: 5 koraka

Video: Jednostavan i jeftin analogno -digitalni pretvarač: 5 koraka
Video: Java tech talk: Spring Boot and GraphQl integration. Как сделать это просто? 2024, Srpanj
Anonim
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač
Jednostavan i jeftin analogno -digitalni pretvarač

Od vremena kad su ADC bili skupi i rijetki, dolazi hardversko-softversko rješenje za prikupljanje podataka za računala. Na temelju starog priključka za Joystick iz IBM-kompatibilnog, tehnika pokretanja monostabilnog multivibratora pomoću otpornog pretvarača (termistor, fotoćelija, mjerač naprezanja itd.), A zatim brojanje koliko ciklusa prolazi prije nego što izlaz multivibratora postane visok, prilično je visoka jednostavan za implementaciju na većini PC platformi i na većini jezika. Prikazane su datoteke primjera VisualBasic i Qbasic.

Korak 1: Ulaz za joystick

Port za joystick
Port za joystick

Godinama su mnoga kućna računala kompatibilna s IBM -om dolazila s priključkom za joystick koji je imao signalne pinove osi X, Y osi, A & B gumba. Malom priključku DB-15 može se pristupiti na adresama 200h i 201h. Sam joystick je bio samo dva potenciometra i dva gumba. Unutar matične ploče računala nalazila su se dva monostabilna multivibratora (skraćeno RMM) s ponovnim pokretanjem s fiksnim kondenzatorima i IN/OUT pinovima. Vremensku konstantu RC postavili su potenciometri i kondenzatori. Da biste započeli pretvorbu signala, upišite adresu na port 200h, a zatim počnite brojati sve dok ne postignete visoku vrijednost tako što ćete učiniti čitanje adrese 200h. To se može implementirati na bilo kojem jeziku (osnovni, pascal, c).

Korak 2: Ulaz za joystick u VB

Port za joystick u VB
Port za joystick u VB

Ovo je uzorak koda koji sam koristio za testiranje upravljačke palice za otpad: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF Za H = 1 do 3000 If (Inp (& H201) I & H1) / & H1 = 0 Zatim izađite za Sljedeći H Vodoravno. Tekst = H Izlaz & H201, & HFF Za V = 1 do 3000 Ako (Inp (& H201) I & H2) / & H2 = 0 Zatim izađite Za sljedeći V okomito. Tekst = V Ako (Inp (& H201) I & H10) / & H10 = 0 Zatim Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 then Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 then Shape1. FillColor = & HC0C0C0 If (Inp (& H201) I & H20) / & H20 = 1 Zatim Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Program radi samo ako ste na računalo priključili pravi joystick. Okviri vodoravnog i okomitog teksta pokazat će vrijednost povezanu s X i Y pokretima vašeg štapa. Također će se kvadrat kretati unutar veće kutije kako bi predstavljao vaša kretanja. Pritiskom na tipke A i B čitat ćete sive krugove. Primjer kompilirane EXE datoteke, izvornog koda i knjižnice INPOUT32. DLL nalaze se u. RAR datoteci.

Korak 3: Implementirajte ga koristeći paralelni port pod DOS -om

Implementirajte ga koristeći paralelni port pod DOS -om
Implementirajte ga koristeći paralelni port pod DOS -om

74 LS 123 je ono što sam koristio za dobivanje istog sustava kao i priključak za joystick. Ima dva RMM -a. U PDF datoteci možete vidjeti podatkovnu tablicu i jednostavan sklop za priključivanje na paralelni priključak. Ja sam obožavatelj Qbasica (jer je široko dostupan) pa je kod napisan u njemu. Postupak je isti kao u uzorku VB: LPTdata = & H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9, 1)-(630, 170),, B, & H3333VIEW (10, 2)- (629, 169) WINDOW (0, YMAXX)-(620, 0) MAXX = 620DIM D (MAXX) DOK JE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) I & H10) / & H10 = 1 POSLE IZLAZA ZA SLJEDEĆU LOKACIJU 23, 1 ŠTAMPA KORIŠTENJEM "####"; Y LINIJA (0, 0) - (MAXX, YMAXX), 0, BF ZA I = 1 DO MAXX LINIJE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) SLJEDEĆI ID (MAXX) = YWEND Jedan izlazni pin koristi se za okidanje MMR -a, a jedan ulazni pin za čitanje izlaza.

Korak 4: Pričvršćivanje ploda Ciruit na LPT

Pričvršćivanje Ciruit -a na LPT
Pričvršćivanje Ciruit -a na LPT
Pričvršćivanje Ciruit na LPT
Pričvršćivanje Ciruit na LPT
Pričvršćivanje Ciruit na LPT
Pričvršćivanje Ciruit na LPT

Sustav je implementiran kao pola hardvera, a pola softver. Pretvorba promjenjivog otpora u vremensko kašnjenje tada se koristi za brojanje impulsa, a to je naša željena vrijednost. Datoteka qbasic iscrtat će prikaz signala, a zatim ga pomaknuti udesno.

Korak 5: Iskoristite ga

Ovo je uobičajeni IC, ali se mogu koristiti i drugi monostabili. Teško je pronaći mnoge ljude koji žive u mjestima s ADC -om, koji bi mogli koristiti ovaj krug kao školski projekt za iscrtavanje temperature ili bilo koje druge stvari sve dok MMR može promijeniti kašnjenje kada to učini vaš senzor.

Preporučeni: