INHOUDSOPGAWE:

Eenvoudige en goedkoop analoog na digitale omskakelaar: 5 stappe
Eenvoudige en goedkoop analoog na digitale omskakelaar: 5 stappe

Video: Eenvoudige en goedkoop analoog na digitale omskakelaar: 5 stappe

Video: Eenvoudige en goedkoop analoog na digitale omskakelaar: 5 stappe
Video: Koop niet de verkeerde HDMI-kabel! | HDMI 2.1-kabels kopen 2024, November
Anonim
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar
Eenvoudige en goedkoop analoog na digitale omskakelaar

Sedert die tyd dat ADC duur en skaars was, kom 'n hardeware-sagteware-oplossing vir die verkryging van data vir rekenaars. Gebaseer op die ou joystick-poort van die IBM-versoenbare, is 'n tegniek om 'n monostabiele multivibrator na 'n weerstandstransducer (termistor, fotosel, rekmeter, ens.) Te aktiveer en dan te tel hoeveel siklusse dit verbygaan voordat die uitset van die multivibrator hoog word. eenvoudig om op die meeste rekenaarplatforms en op die meeste tale te implementeer. 'N VisualBasic en Qbasic voorbeeld lêers word gewys.

Stap 1: Die joystick -poort

Die joystick -poort
Die joystick -poort

Jare lank het baie tuis -verenigbare rekenaars met 'n joystick -poort 'n X -as, Y -as, A & B -knoppies gehad. U kan toegang kry tot die klein DB-15-aansluiting op adres 200h en 201h. Die joystick self was net twee potensiometers en twee knoppies. Binne die moederbord van die rekenaar is twee herstartbare monostabiele multivibrators (RMM vir kort) met vaste kondensators en IN/OUT -penne gevind. Die RC -tydskonstante is bepaal deur die potensiometers en die kapasitors. Om die seinomskakeling te begin, maak u 'n SKRYF na poortadres 200h en begin dan tel totdat u 'n bietjie HOOG word deur 'n LEES na poortadres 200h te doen. Dit kan geïmplementeer word in enige taal (basic, pascal, c).

Stap 2: Joystick -poort in VB

Joystick -poort in VB
Joystick -poort in VB

Dit is 'n voorbeeldkode wat ek gebruik het om my joystick van die junkyard te toets: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF For H = 1 To 3000 If (Inp (& H201) And & H1) / & H1 = 0 Vervolgens Volgende H Horizontal. Text = H Out & H201, & HFF For V = 1 To 3000 If (Inp (& H201) And & H2) / & H2 = 0 Dan exit for Next V Vertical. Text = V If (Inp (& H201) En & H10) / & H10 = 0 Dan vorm 1. FillColor = & HFF As (Inp (& H201) En & H20) / & H10 = 0 Dan vorm2. FillColor = & HFF As (Inp (& H201) En & H10) / & H10 = 1 Dan vorm1. FillColor = & HC0C0C0 As (Inp (& H201) En & H20) / & H20 = 1 Dan word Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Die program werk slegs as u 'n regte joystick aan u rekenaar het. Die blokkies Horisontale en Vertikale teks toon 'n waarde wat verband hou met die X- en Y -bewegings van u stok. 'N Vierkant sal ook in 'n groter boks beweeg om jou bewegings voor te stel. Deur op die A- en B -knoppies te druk, word die grys sirkels gelees. Die voorbeeld -saamgestelde EXE -lêer, die bronkode en die INPOUT32. DLL -biblioteek is in die. RAR -lêer.

Stap 3: Implementeer dit met behulp van die parallelle poort onder DOS

Implementeer dit met behulp van die parallelle poort onder DOS
Implementeer dit met behulp van die parallelle poort onder DOS

Die 74 LS 123 is wat ek gebruik het om dieselfde stelsel as die joystick -poort te kry. Dit het twee RMM. In die PDF -lêer kan u die datablad en 'n eenvoudige stroombaan sien om aan u parallelle poort te koppel. Ek is 'n Qbasic -aanhanger (want dit is wyd beskikbaar), so die kode word daarin geskryf. Die prosedure is dieselfde as in die VB-monster: 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) TERWYL INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 DAN GAAN UIT VIR VOLGENDE Y LIGGING 23, 1 AFDRUK MET "####"; Y LINE (0, 0) - (MAXX, YMAXX), 0, BF FOR I = 1 TO MAXX LINE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) VOLGENDE ID (MAXX) = YWEND Een uitsetpen word gebruik om die MMR te aktiveer en een invoerpen om die uitset daarvan te lees.

Stap 4: Bevestig die sirkel aan LPT

Bevestig die Ciruit aan LPT
Bevestig die Ciruit aan LPT
Bevestig die Ciruit aan LPT
Bevestig die Ciruit aan LPT
Bevestig die Ciruit aan LPT
Bevestig die Ciruit aan LPT

Die stelsel word geïmplementeer as die helfte hardeware en die helfte sagteware. Die omskakeling van 'n veranderlike weerstand in 'n vertraging word dan gebruik om pulse te tel en hierdie telling is ons gewenste waarde.

Stap 5: Gebruik dit

Dit is 'n algemene IC, maar ander monostabiele kan ook gebruik word. Baie mense wat op ADC woon, is moeilik om te vind, en kan hierdie kring as 'n skoolprojek gebruik om temperatuur of ander dinge te bepaal, solank u die MMR kan laat vertraag as u sensor dit doen.

Aanbeveel: