![Convertor analogic digital simplu și ieftin: 5 pași Convertor analogic digital simplu și ieftin: 5 pași](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10966880-simple-and-cheap-analog-to-digital-converter-5-steps-j.webp)
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Din vremurile în care ADC erau scumpe și rare, vine o soluție hardware-software pentru achiziționarea de date pentru PC-uri. Pe baza vechiului port Joystick de la compatibil IBM, o tehnică de declanșare a unui multivibrator monostabil, a unui traductor rezistiv (termistor, fotocelula, tensometru etc.) și apoi numărarea a câte cicluri trece înainte ca ieșirea multivibratorului să fie ridicată este destul de mare simplu de implementat pe majoritatea platformelor PC și pe majoritatea limbilor. Sunt afișate un eșantion de fișiere VisualBasic și Qbasic.
Pasul 1: Portul Joystick
De ani de zile, multe computere compatibile IBM de acasă au venit cu un port Joystick care avea axa X, axa Y, butoanele A și B. Conectorul mic DB-15 poate fi accesat la adresa 200h și 201h. Joystick-ul în sine era doar două potenciometre și două butoane. În interiorul plăcii de bază a PC-ului, au fost amplasate două multivibratoare monostabile reglabile (RMM pe scurt) cu condensatori fixi și pini IN / OUT. Constanta de timp RC a fost setată de potențiometre și condensatoare. Pentru a începe conversia semnalului, ați face un WRITE la adresa portului 200h și apoi ați începe să numărați până când veți obține un pic ÎNALT făcând un CITIT la adresa portului 200h. Acest lucru ar putea fi implementat în orice limbă (basic, pascal, c).
Pasul 2: portul joystick-ului în VB
Acesta este un eșantion de cod pe care l-am folosit pentru a-mi testa joystick-ul cu junkyard: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF pentru H = 1 până la 3000 If (Inp (& H201) Și & H1) / & H1 = 0 Apoi ieșiți pentru Următorul H orizontal. Text = H Out & H201, & HFF pentru V = 1 până la 3000 If (Inp (& H201) și & H2) / & H2 = 0 Apoi ieșiți pentru următorul V vertical. Text = V If (Inp (& H201) Și & H10) / & H10 = 0 Apoi Shape1. FillColor = & HFF If (Inp (& H201) Și & H20) / & H10 = 0 Then Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 Then Shape1. FillColor = & HC0C0C0 If (Inp (& H201) Și & H20) / & H20 = 1 Apoi Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Programul funcționează numai dacă aveți un joystick real atașat la computer. Casetele Text orizontal și vertical vor afișa o valoare legată de mișcările X și Y ale stick-ului dvs. De asemenea, un pătrat se va deplasa într-o cutie mai mare pentru a vă reprezenta mișcările. Apăsând butoanele A și B se vor citi cercurile gri. Exemplul de fișier EXE compilat, codul sursă și biblioteca INPOUT32. DLL se află în fișierul. RAR.
Pasul 3: Implementați-l utilizând portul paralel sub DOS
74 LS 123 este ceea ce am folosit pentru a obține același sistem ca portul joystick-ului. Are două RMM. În fișierul PDF puteți vedea fișa tehnică și un circuit simplu de atașat la portul paralel. Sunt fan Qbasic (deoarece este disponibil pe scară largă), deci codul este scris în el. Procedura este aceeași ca în eșantionul VB: LPTdata = & H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9, 1) - (630, 170),, B și H3333VIEW (10, 2) - (629, 169) WINDOW (0, YMAXX) - (620, 0) MAXX = 620DIM D (MAXX) CÂND TASTĂ $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 PENTRU Y = 1 TO YMAXX IF (INP (LPTstatus) ȘI & H10) / & H10 = 1 APOI IEȘIȚI PENTRU URMĂTOAREA LOCALIZARE 23, 1 IMPRIMAȚI CU "####"; 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 Un pin de ieșire este utilizat pentru a declanșa MMR și un pin de intrare pentru a citi ieșirea acestuia.
Pasul 4: Atașarea Ciruit la LPT
Sistemul este implementat ca jumătate de hardware și jumătate de software. Conversia unei rezistențe variabile într-o întârziere de timp este apoi utilizată pentru a număra impulsurile, iar acest număr este valoarea dorită de noi.
Pasul 5: Folosește-l
Acesta este un IC comun, dar pot fi utilizate și alte monostabile. Mulți oameni care locuiesc în locuri în care ADC sunt greu de găsit, ar putea dori să folosească acest circuit ca proiect școlar pentru a stabili temperatura sau orice alte lucruri, atâta timp cât puteți face ca MMR să-și schimbe întârzierea atunci când senzorul dvs. o face.
Recomandat:
Convertor DC - DC Boost simplu folosind 555: 4 pași
![Convertor DC - DC Boost simplu folosind 555: 4 pași Convertor DC - DC Boost simplu folosind 555: 4 pași](https://i.howwhatproduce.com/images/002/image-4245-j.webp)
Convertor simplu DC - DC Boost folosind 555: Este adesea util într-un circuit să existe tensiuni mai mari. Fie pentru a furniza șine + ve și -ve pentru un amplificator operațional, pentru a conduce buzzere sau chiar pentru un releu fără a fi nevoie de o baterie suplimentară. Acesta este un convertor simplu de 5V la 12V DC construit folosind un temporizator 555 a
Convertor de logică DIY simplu pentru dispozitive de 3.3V: 4 pași
![Convertor de logică DIY simplu pentru dispozitive de 3.3V: 4 pași Convertor de logică DIY simplu pentru dispozitive de 3.3V: 4 pași](https://i.howwhatproduce.com/images/010/image-27616-j.webp)
Convertor de logică DIY simplu pentru dispozitive de 3,3 V: În această postare, vă voi arăta cum vă puteți crea propriul convertor logic de 5 V la 3,3 V pentru conectarea senzorilor de 5 V la noile plăci Arduino și Raspberry Pi. De ce avem nevoie de un convertor de nivel logic? ? Cei mai mulți dintre voi adoră să se joace cu Arduino și Raspberry Pi duri
Mini Convertor AC-DC ieftin: 7 pași
![Mini Convertor AC-DC ieftin: 7 pași Mini Convertor AC-DC ieftin: 7 pași](https://i.howwhatproduce.com/images/011/image-31533-j.webp)
Mini convertor ieftin AC-DC: acesta este un convertor AC-DC. Mi-a costat doar câțiva dolari. Doar costul a patru diode. așa că vreau să-l împărtășesc cu voi toți. Deci, să începem
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași
![Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic digital): 4 pași](https://i.howwhatproduce.com/images/002/image-5254-45-j.webp)
Circuite GPIO Raspberry Pi: Utilizarea unui senzor analogic LDR fără ADC (convertor analogic la digital): în manualele noastre anterioare, v-am arătat cum puteți conecta pinii GPIO ai Raspberry Pi la LED-uri și comutatoare și modul în care pinii GPIO pot fi mari sau Scăzut. Dar dacă doriți să utilizați Raspberry Pi cu un senzor analogic? Dacă vrem să folosim un
Convertor ieftin pentru laptop / Notebook to Desktop Convertor: 3 pași
![Convertor ieftin pentru laptop / Notebook to Desktop Convertor: 3 pași Convertor ieftin pentru laptop / Notebook to Desktop Convertor: 3 pași](https://i.howwhatproduce.com/images/001/image-2600-82-j.webp)
Stand laptop ieftin / Notebook to Desktop Convertor: mă găsesc folosind laptopul pentru perioade lungi de timp. Se simte inconfortabil după un timp. Tastatura și ecranul ar trebui să fie în mod ideal separate pentru a reduce tulpina gâtului în timpul utilizării prelungite. Dacă sunteți utilizator de laptop cu normă întreagă, vă sugerez să construiți s