Obsah:

Jednoduchý a lacný analógovo -digitálny prevodník: 5 krokov
Jednoduchý a lacný analógovo -digitálny prevodník: 5 krokov

Video: Jednoduchý a lacný analógovo -digitálny prevodník: 5 krokov

Video: Jednoduchý a lacný analógovo -digitálny prevodník: 5 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník
Jednoduchý a lacný analógovo -digitálny prevodník

Od čias, keď boli ADC drahé a vzácne, prichádza hardvérové a softvérové riešenie na zber údajov pre počítače. Na základe starého portu Joysticku kompatibilného s IBM je technika spustenia monostabilného multivibrátora odporového prevodníka (termistor, fotobunka, tenzometer atď.) A potom spočítanie, koľko cyklov prejde, kým sa výkon multivibrátora zvýši na vysokú, je pomerne veľká. jednoduchá implementácia na väčšine počítačových platforiem a vo väčšine jazykov. Zobrazia sa ukážkové súbory VisualBasic a Qbasic.

Krok 1: Port joysticku

Port joysticku
Port joysticku

Mnoho domácich počítačov kompatibilných s IBM bolo dlhé roky vybavených portom joysticku, ktorý mal signálne piny osí X, Y, A a B. K malému konektoru DB-15 je prístupný na adrese 200h a 201h. Samotný joystick bol len dva potenciometre a dve tlačidlá. Vnútri základnej dosky počítača boli umiestnené dva výsuvné monostabilné multivibrátory (v skratke RMM) s pevnými kondenzátormi a pinmi IN/OUT. Časovú konštantu RC nastavili potenciometre a kondenzátory. Na spustenie konverzie signálu urobte ZAPÍŠTE na adresu portu 200h a potom začnite počítať, kým sa nedostanete o niečo VYŠŠÍ vykonaním READ na adresu portu 200h. To môže byť implementované v akomkoľvek jazyku (základný, pascal, c).

Krok 2: Port joysticku vo VB

Port joysticku vo VB
Port joysticku vo VB

Toto je ukážkový kód, ktorý som použil na testovanie svojho smetiskového joysticku: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF For H = 1 to 3000 If (Inp (& H201) And & H1) / & H1 = 0 Then Exit For Nasledujúca H Horizontálna. Text = H Out & H201, & HFF pre V = 1 až 3000 If (Inp (& H201) And & H2) / & H2 = 0 Exit for Next V Vertical. Text = V If (Inp (& H201) And & H10) / & H10 = 0 Potom Tvar1. FillColor = & HFF If (Inp (& H201) A & H20) / & H10 = 0 Potom Tvar2. FillColor = & HFF If (Inp (& H201) A & H10) / & H10 = 1 Potom Tvar1. FillColor = & HC0C0C0 Ak (Inp (& H201) And & H20) / & H20 = 1 Potom Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Program funguje, iba ak máte k počítaču pripojený skutočný joystick. V horizontálnych a vertikálnych textových poliach sa zobrazí hodnota vzťahujúca sa na pohyby X a Y vašej palice. Štvorec sa bude pohybovať aj vo väčšom poli, aby reprezentoval vaše pohyby. Stlačením tlačidiel A a B zmeníte sivé kruhy. Ukážkový skompilovaný súbor EXE, zdrojový kód a knižnica INPOUT32. DLL sa nachádzajú v súbore. RAR.

Krok 3: Implementujte ho pomocou paralelného portu v systéme DOS

Implementujte ho pomocou paralelného portu v systéme DOS
Implementujte ho pomocou paralelného portu v systéme DOS

74 LS 123 je ten, ktorý som použil na získanie rovnakého systému ako port joysticku. Má dve RMM. V súbore PDF môžete vidieť list s údajmi a jednoduchý obvod, ktorý je možné pripojiť k paralelnému portu. Som fanúšikom Qbasic (pretože je široko dostupný), takže je v ňom napísaný kód. Postup je rovnaký ako vo vzorke 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) WHILE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 POTOM EXIT PRE ĎALŠÍ LOKALITU 23, 1 TLAČ POUŽÍVAJTE „####“; 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 Jeden výstupný kolík sa používa na spustenie MMR a jeden vstupný pin na čítanie jeho výstupu.

Krok 4: Pripojenie obvodu k LPT

Pripojenie okruhu k LPT
Pripojenie okruhu k LPT
Pripojenie okruhu k LPT
Pripojenie okruhu k LPT
Pripojenie okruhu k LPT
Pripojenie okruhu k LPT

Systém je implementovaný ako polovica hardvéru a polovica softvéru. Konverzia premenlivého odporu na časové oneskorenie sa potom používa na počítanie impulzov a tento počet je naša požadovaná hodnota. Súbor qbasic vykreslí signál na obrazovke a potom ho posúva doprava.

Krok 5: Využite to

Toto je bežný integrovaný obvod, ale je možné použiť aj iné monostabilné položky. Mnoho ľudí, ktorí žijú na miestach, kde je ťažké nájsť ADC, by tento okruh radi využili ako školský projekt na vykreslenie teploty alebo iných vecí, pokiaľ dokážete MMR zmeniť oneskorenie, keď to urobí váš senzor.

Odporúča: