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, Novembar
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 kada su ADC bili skupi i rijetki, dolazi hardversko-softversko rješenje za prikupljanje podataka za računare. Zasnovana na starom Joystick priključku iz IBM-kompatibilnog, tehnika pokretanja monostabilnog multivibratora sa otporničkim pretvaračem (termistor, fotoćelija, mjerač naprezanja itd.), A zatim brojanje koliko ciklusa prođe prije nego što izlaz multivibratora postane visok, prilično je visoka jednostavan za implementaciju na većini PC platformi i na većini jezika. Prikazani su primjer datoteke VisualBasic i Qbasic.

Korak 1: Port za joystick

Port za joystick
Port za joystick

Godinama su mnogi kućni računari kompatibilni s IBM -om dolazili s priključkom za Joystick koji je imao signalne pinove X osi, osi Y, A & B tipki. Malom konektoru DB-15 može se pristupiti na adresama 200h i 201h. Sam džojstik je bio samo dva potenciometra i dva dugmeta. Unutar matične ploče računara bila su smještena dva monostabilna multivibratora (skraćeno RMM) sa fiksnim kondenzatorima i IN/OUT pinovima. Vremensku konstantu RC -a postavljali su potenciometri i kondenzatori. Da biste započeli konverziju signala, napravili biste WRITE na adresu porta 200h, a zatim započeli odbrojavanje sve dok ne postanete malo VIŠI tako što ćete izvršiti čitanje na adresu porta 200h. Ovo se može implementirati na bilo kojem jeziku (osnovni, pascal, c).

Korak 2: Port za joystick u VB

Port za joystick u VB
Port za joystick u VB

Ovo je primjer koda koji sam koristio za testiranje džojstika na otpadu: Privatni pomoćni mjerač vremena1_Timer () Dim V, H kao cjelobrojni izlaz & H201, & HFF Za H = 1 do 3000 If (Inp (& H201) I & H1) / & H1 = 0 Zatim izađite za Slijedeći H Horizontalni. Text = H Out & H201, & HFF Za V = 1 do 3000 If (Inp (& H201) And & H2) / & H2 = 0 Zatim izađite za sljedeći V Vertical. Text = V If (Inp (& H201) And & H10) / & H10 = 0 Tada Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 Zatim Shape2. FillColor = & HFF If (Inp (& H201) I & H10) / & H10 = 1 Zatim 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 imate pravi džojstik priključen na računar. Okviri Horizontalni i Vertikalni tekst prikazat će vrijednost koja se odnosi na X i Y pokrete vašeg štapa. Također, kvadrat će se kretati unutar veće kutije kako bi predstavljao vaše kretanje. Pritiskom na tipke A i B označit ćete sive krugove. Primjer kompajlirane EXE datoteke, izvornog koda i biblioteke 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 da dobijem isti sistem kao i port za džojstik. Ima dva RMM -a. U PDF datoteci možete vidjeti tablicu s podacima i jednostavno kolo za priključivanje na vaš paralelni priključak. Ja sam obožavatelj Qbasica (jer je široko dostupan) pa je kod napisan u njemu. Postupak je isti kao u VB uzorku: 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 ONDA IZLAZAK ZA SLEDEĆU Y LOKACIJU 23, 1 ŠTAMPA KORISTEĆI "####"; 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) = NAPRIJED Jedan izlazni pin se koristi za okidanje MMR -a, a jedan ulazni pin za očitavanje 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 -a na LPT
Pričvršćivanje Ciruit -a na LPT
Pričvršćivanje Ciruit -a na LPT
Pričvršćivanje Ciruit -a na LPT

Sistem je implementiran kao pola hardvera i pola softvera. Pretvorba promjenjivog otpora u vremensko kašnjenje tada se koristi za brojanje impulsa i to je naša željena vrijednost. Datoteka qbasic će iscrtati 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 sa ADC -om, koji bi mogli koristiti ovo kolo 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čuje se: