Indholdsfortegnelse:
- Trin 1: Joystick -porten
- Trin 2: Joystick -port i VB
- Trin 3: Implementér det ved hjælp af den parallelle port under DOS
- Trin 4: Vedhæftning af Ciruit til LPT
- Trin 5: Brug det
Video: Enkel og billig analog til digital konverter: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:31
Fra den tid, hvor ADC var dyre og sjældne, kommer der en hardware-softwareløsning til dataindsamling til pc'er. Baseret på den gamle Joystick-port fra IBM-kompatible er en teknik til at udløse en monostabil multivibrator en resistiv transducer (termistor, fotocelle, belastningsmåler osv.) Og derefter tælle, hvor mange cyklusser den passerer, før output fra multivibratoren går højt, ganske enkel at implementere på de fleste pc -platforme og på de fleste sprog. Der vises en VisualBasic og Qbasic prøvefiler.
Trin 1: Joystick -porten
I mange år kom mange hjemmekompatible pc'er med en Joystick -port, der havde X -akser, Y -akser, A & B -knapper, signalstifter. Det lille DB-15-stik kan tilgås på adressen 200h & 201h. Selve joysticket var kun to potentiometer og to knapper. Inde i bundkortet på pc'en var der to genstartbare monostabile multivibratorer (RMM for korte) med faste kondensatorer og IN/OUT -ben. RC -tidskonstanten blev indstillet af potenciometrene og kondensatorerne. For at starte signalkonverteringen ville du lave en SKRIV til portadresse 200 timer og derefter begynde at tælle, indtil du bliver lidt HØJ ved at lave en LÆS til port -adresse 200 timer. Dette kunne implementeres på ethvert sprog (grundlæggende, pascal, c).
Trin 2: Joystick -port i VB
Dette er en prøvekode, jeg brugte til at teste mit junkyard joystick: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF For H = 1 To 3000 If (Inp (& H201) And & H1) / & H1 = 0 Herefter Afslut For Næste H Horisontal. Tekst = H Ud & H201, & HFF For V = 1 Til 3000 Hvis (Inp (& H201) Og & H2) / & H2 = 0 Afslut derefter til næste V Vertikal. Tekst = V Hvis (Inp (& H201) Og & H10) / & H10 = 0 Derefter 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) Og & H20) / & H20 = 1 Herefter fungerer Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Programmet fungerer kun, hvis du har et ægte joystick tilsluttet din pc. De vandrette og lodrette tekstfelter viser en værdi relateret til X og Y -bevægelser på din pind. Også en firkant vil bevæge sig rundt i en større kasse for at repræsentere dine bevægelser. Ved at trykke på A- og B -knapperne aflæses de grå cirkler. Prøven kompilerede EXE -fil, kildekoden og INPOUT32. DLL -biblioteket er i. RAR -filen.
Trin 3: Implementér det ved hjælp af den parallelle port under DOS
74 LS 123 er det, jeg plejede at få det samme system som joystickporten. Den har to RMM. I PDF -filen kan du se databladet og et simpelt kredsløb, der skal vedhæftes til din parallelport. Jeg er en Qbasic fan (fordi den er bredt tilgængelig), så koden er skrevet i den. Proceduren er den samme som i VB-prøven: 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) WILE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 DERFOR AFSLUT TIL NÆSTE Y LOCATE 23, 1 PRINT BRUGER "####"; 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) NEXT ID (MAXX) = YWEND En output pin bruges til at udløse MMR og en input pin til at læse output fra den.
Trin 4: Vedhæftning af Ciruit til LPT
Systemet er implementeret som halv hardware og halv software. Konverteringen af en variabel modstand til en tidsforsinkelse bruges derefter til at tælle pulser, og denne tælling er vores ønskede værdi. Qbasic -filen vil plotte for at skærme signalet og derefter rulle det til højre.
Trin 5: Brug det
Dette er en almindelig IC, men andre monostabile kan også bruges. Mange mennesker, der bor på steder, hvor ADC er svære at finde, vil måske gerne bruge dette kredsløb som et skoleprojekt til at plotte temperatur eller andre ting, så længe du kan få MMR til at ændre sin forsinkelse, når din sensor gør det.
Anbefalede:
Konverter HP DL380 G6 til billig gaming -pc: 6 trin
Konverter HP DL380 G6 til billig gaming -pc: Jeg gennemser ofte klassificeret efter noget usædvanligt, som jeg kan konvertere til noget brugbart. En af disse ting jeg fandt var et par år gamle HP rack -servere - HP DL380. Mange af dem tilbydes i pris under 50 USD. Så jeg besluttede at købe en, med disse
Mini billig AC til DC -konverter: 7 trin
Mini Billige Ac til Dc Converter: denne er en ac til dc converter. Det kostede mig kun et par dollars. Lige prisen på fire dioder. Det er meget let og ingen problemer med lodning. så jeg vil dele det med jer alle. så lad os komme i gang
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Raspberry Pi GPIO kredsløb: Brug af en LDR analog sensor uden en ADC (analog til digital konverter): 4 trin
Raspberry Pi GPIO -kredsløb: Brug af en LDR -analog sensor uden en ADC (analog til digital konverter): I vores tidligere instruktioner har vi vist dig, hvordan du kan forbinde din Raspberry Pi's GPIO -ben til lysdioder og kontakter, og hvordan GPIO -benene kan være høje eller lav. Men hvad nu hvis du vil bruge din Raspberry Pi med en analog sensor? Hvis vi vil bruge en
Billig bærbar stativ / notebook til desktop -konverter: 3 trin
Billig bærbar stativ / notebook til desktop -konverter: Jeg finder mig selv i at bruge min bærbare computer i lange perioder. Det bliver ubehageligt efter et stykke tid. Tastaturet og skærmen skal helst være adskilte for at reducere nakkestramning under længere tids brug. Hvis du er en fuldtidsbruger på en bærbar computer, foreslår jeg, at du bygger