INHOUDSOPGAWE:
- Stap 1: Die joystick -poort
- Stap 2: Joystick -poort in VB
- Stap 3: Implementeer dit met behulp van die parallelle poort onder DOS
- Stap 4: Bevestig die sirkel aan LPT
- Stap 5: Gebruik dit
Video: Eenvoudige en goedkoop analoog na digitale omskakelaar: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
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
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
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
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
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:
Eenvoudige DC - DC Boost -omskakelaar met behulp van 555: 4 stappe
Eenvoudige DC - DC Boost -omskakelaar Met behulp van 555: Dit is dikwels nuttig in 'n stroombaan om hoër spanning te hê. Of om +ve en -relings te voorsien vir 'n op -amp, om gonsers aan te dryf, of selfs 'n relais sonder dat 'n ekstra battery nodig is
Mini goedkoop AC na DC -omskakelaar: 7 stappe
Mini goedkoop AC na DC -omskakelaar: hierdie een is 'n wisselstroom -na -dc -omskakelaar. Dit het my slegs 'n paar dollar gekos. Net die koste van vier diodes. Dit is baie maklik en geen moeite om te soldeer nie. so ek wil dit met julle almal deel. Laat ons dus begin
My First Feather Wing: Analoog-na-digitale omskakelaar: 5 stappe
My First Feather Wing: Analog-to-Digital Converter: Hallo, my medemakers! Vandag se instruksies handel oor iets besonders. Hierdie toestel is MY EERSTE VEER - na aanleiding van Adafruit se vormfaktor. Dit is ook my EERSTE OPPERVLAK Gemonteerde PCB! My mees prominente gebruik van hierdie skild is op 'n toestel wat ek mal gemaak het
Eenvoudige en goedkoop laser digitale klank -oordrag: 4 stappe
Eenvoudige en goedkoop laser digitale klank -oordrag: Sedert ek die lasergeweer gemaak het, het ek daaraan gedink om die laser te moduleer om klank te stuur, hetsy vir die plesier ('n interkom vir kinders), of om data vir 'n meer gesofistikeerde lasergeweer oor te dra , sodat 'n ontvanger kan uitvind deur wie hy getref is
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitaal omskakelaar): 4 stappe
Raspberry Pi GPIO -kringe: Die gebruik van 'n LDR analoog sensor sonder 'n ADC (analoog na digitale omskakelaar): In ons vorige instruksies het ons u gewys hoe u die GPIO -penne van u framboos Pi aan LED's en skakelaars kan koppel en hoe die GPIO -penne hoog kan wees of Laag. Maar wat as u u Raspberry Pi met 'n analoog sensor wil gebruik? As ons 'n