Obsah:
- Krok 1: Port joysticku
- Krok 2: Port joysticku ve VB
- Krok 3: Implementujte jej pomocí paralelního portu v systému DOS
- Krok 4: Připojení okruhu k LPT
- Krok 5: Použijte to
Video: Jednoduchý a levný převodník analogového signálu na digitální: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:25
Od dob, kdy byly ADC drahé a vzácné, přichází hardwarově-softwarové řešení pro sběr dat pro PC. Na základě starého portu Joysticku kompatibilního s IBM je technika spouštění monostabilního multivibrátoru odporovým převodníkem (termistor, fotobuňka, tenzometr atd.) A poté počítání, kolik cyklů projde, než se výstup multivibrátoru zvýší, je docela dost jednoduchá implementace na většině počítačových platforem a ve většině jazyků. Zobrazí se ukázkové soubory VisualBasic a Qbasic.
Krok 1: Port joysticku
Mnoho domácích počítačů kompatibilních s IBM bylo po mnoho let vybaveno portem joysticku, který měl signální kolíky os X, Y, A a B. K malému konektoru DB-15 lze přistupovat na adrese 200h a 201h. Samotný joystick byl jen dva potenciometry a dvě tlačítka. Uvnitř základní desky PC byly umístěny dva spouštěcí monostabilní multivibrátory (zkráceně RMM) s pevnými kondenzátory a piny IN/OUT. Časová konstanta RC byla nastavena potenciometry a kondenzátory. Chcete -li zahájit převod signálu, proveďte WRITE na adresu portu 200h a poté začněte počítat, dokud se nedostanete trochu VYSOKÉ provedením READ na adresu portu 200h. To lze implementovat v jakémkoli jazyce (základní, pascal, c).
Krok 2: Port joysticku ve VB
Toto je ukázkový kód, který jsem použil k testování svého smetiště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 Další H Horizontal. Text = H Out & H201, & HFF Pro V = 1 až 3000 If (Inp (& H201) And & H2) / & H2 = 0 Then Exit For Next V Vertical. Text = V If (Inp (& H201) And & H10) / & H10 = 0 Pak 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) And & H20) / & H20 = 1 Potom Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Program funguje, pouze pokud máte k počítači připojený skutečný joystick. Pole Vodorovný a Svislý text zobrazí hodnotu související s pohyby X a Y vaší páčky. Ve větším poli se bude pohybovat také čtverec, který bude reprezentovat vaše pohyby. Stisknutím tlačítek A a B změníte čtení šedých kruhů. Ukázkový kompilovaný soubor EXE, zdrojový kód a knihovna INPOUT32. DLL jsou v souboru. RAR.
Krok 3: Implementujte jej pomocí paralelního portu v systému DOS
74 LS 123 je to, co jsem použil k získání stejného systému jako port joysticku. Má dvě RMM. V souboru PDF můžete vidět datový list a jednoduchý obvod pro připojení k paralelnímu portu. Jsem fanoušek Qbasic (protože je široce dostupný), takže je v něm napsán kód. Postup je stejný jako ve vzorku 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 PAK VYJDĚTE PRO DALŠÍ OKRUH 23, 1 TISK POUŽÍVEJTE „####“; 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í pin slouží ke spuštění MMR a jeden vstupní pin ke čtení jeho výstupu.
Krok 4: Připojení okruhu k LPT
Systém je implementován jako polovina hardwaru a polovina softwaru. Konverze proměnného odporu na časové zpoždění se pak používá k počítání impulsů a tento počet je naší požadovanou hodnotou. Soubor qbasic vykreslí signál obrazovky a poté jej posune doprava.
Krok 5: Použijte to
Toto je běžný IC, ale lze použít i jiné monostabily. Mnoho lidí, kteří žijí v místech, kde je těžké najít ADC, by tento okruh rádi využili jako školní projekt k vykreslení teploty nebo jakéhokoli jiného materiálu, pokud dokážete MMR změnit zpoždění, když to udělá váš senzor.
Doporučuje:
Mini levný převodník AC na DC: 7 kroků
Mini levný převodník AC na DC: toto je převodník střídavého proudu na stejnosměrný. Stálo mě to jen pár dolarů. Stačí náklady na čtyři diody. Je to velmi snadné a pro pájení žádný problém. tak se o to chci podělit s vámi všemi. pojďme tedy začít
Moje první perové křídlo: Převodník analogového signálu na digitální: 5 kroků
Moje první perové křídlo: Převodník analogového signálu na digitální: Dobrý den, moji kolegové Tvůrci! Dnešní instruktáž je o něčem opravdu zvláštním. Toto zařízení je MOJE PRVNÍ FEATHERWING - podle formálního faktoru společnosti Adafruit. Je to také moje PRVNÍ POVRCHOVĚ MONTOVANÁ DPS! Moje nejprominentnější použití tohoto štítu je v zařízení, které jsem šílel
Výukový program pro vzorkování analogového signálu - MATLAB: 8 kroků
Výukový program pro vzorkování analogového signálu | MATLAB: V tomto tutoriálu ukazujeme, co je to Sampling? a Jak vzorkovat analogový signál pomocí softwaru MATLAB
Levný hydrofonový a ultrazvukový převodník: 6 kroků
Levný hydrofonový a ultrazvukový převodník: Chcete nahrávat delfíny nebo velryby, které mluví? Nebo postavit podvodní akustický komunikační systém? Dobře, naučíme vás „jak na to“. Začněme tím hlavním: anténou. Pokud v každodenním životě používáme reproduktory (například ve vašem notebooku nebo
Obvody Raspberry Pi GPIO: Použití analogového snímače LDR bez ADC (převodník analogového signálu na digitální): 4 kroky
Obvody GPIO Raspberry Pi: Použití analogového snímače LDR bez ADC (převodník analogového signálu na digitální): V našich dřívějších instruktážích jsme vám ukázali, jak můžete propojit GPIO piny vašeho Raspberry Pi s LED a přepínači a jak mohou být GPIO piny vysoké nebo Nízká. Ale co když chcete používat svůj Raspberry Pi s analogovým senzorem? Pokud chceme použít