Talaan ng mga Nilalaman:

Simple at Murang Analog sa Digital Converter: 5 Mga Hakbang
Simple at Murang Analog sa Digital Converter: 5 Mga Hakbang

Video: Simple at Murang Analog sa Digital Converter: 5 Mga Hakbang

Video: Simple at Murang Analog sa Digital Converter: 5 Mga Hakbang
Video: Papaano magbasa at magkwenta sa timbangan (weighing scale) 2024, Nobyembre
Anonim
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter
Simple at Murang Analog sa Digital Converter

Mula sa mga oras na ang ADC ay mahal at bihira, nagmumula ang isang solusyon sa hardware-software para sa pagkuha ng data para sa mga PC. Batay sa lumang port ng Joystick mula sa katugmang IBM, isang diskarteng nagpapalitaw ng isang monostable multivibrator isang resistive transducer (thermistor, photocell, strain gauge, atbp) at pagkatapos ay binibilang kung magkano ang mga cycle na dumadaan bago ang output ng multivibrator ay umangat na medyo simpleng ipatupad sa karamihan ng mga platform ng PC at sa karamihan ng mga wika. Ang isang VisualBasic at Qbasic sample na mga file ay ipinapakita.

Hakbang 1: Ang Joystick Port

Ang Joystick Port
Ang Joystick Port

Sa loob ng maraming taon maraming mga home IBM na katugmang PC ay may isang port ng Joystick na mayroong X axis, Y axis, A & B na mga signal signal na pin. Ang maliit na konektor ng DB-15 ay maaaring ma-access sa address na 200h & 201h. Ang joystick mismo ay dalawang potenciometers lamang at dalawang mga pindutan. Sa loob ng motherboard ng PC, matatagpuan ang dalawang maaaring palitan na monostable multivibrator (RMM para sa maikli) na may nakapirming mga capacitor at IN / OUT na mga pin. Ang pare-pareho sa oras ng RC ay itinakda ng mga potenciometers at ng mga capacitor. Upang simulan ang pag-convert ng signal, gagawa ka ng isang SULAT sa port address na 200h at pagkatapos ay magsisimulang magbilang hanggang sa makakuha ka ng isang TAAS sa pamamagitan ng paggawa ng isang BASAHIN sa port address 200h. Maaaring ipatupad ito sa anumang wika (pangunahing, pascal, c).

Hakbang 2: Joystick Port sa VB

Joystick Port sa VB
Joystick Port sa VB

Ito ay isang sample na code na ginamit ko upang subukan ang aking junkyard joystick: Pribadong Sub Timer1_Timer () Dim V, H Bilang Integer Out & H201, & HFF Para sa H = 1 Hanggang 3000 Kung (Inp (& H201) At & H1) / & H1 = 0 Pagkatapos Lumabas Para sa Susunod na H Pahalang. Text = H Out & H201, & HFF Para sa V = 1 Hanggang 3000 Kung (Inp (& H201) At & H2) / & H2 = 0 Pagkatapos Lumabas Para sa Susunod na V Vertical. Text = V Kung (Inp (& H201) At & H10) / & H10 = 0 Pagkatapos Hugis1. FillColor = & HFF Kung (Inp (& H201) At & H20) / & H10 = 0 Pagkatapos Hugis2. FillColor = & HFF Kung (Inp (& H201) At & H10) / & H10 = 1 Pagkatapos Hugis1. FillColor = & HC0C0C0 Kung (Inp (& H201) At & H20) / & H20 = 1 Pagkatapos Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Gumagana lamang ang programa kung mayroon kang isang tunay na joystick na nakakabit sa iyong PC. Ang mga pahalang at Vertical Text box ay magpapakita ng isang halagang nauugnay sa X at Y na paggalaw ng iyong stick. Gayundin ang isang parisukat ay lilipat sa loob ng isang mas malaking kahon upang kumatawan sa iyong mga paggalaw. Ang pagpindot sa mga pindutan ng A at B ay babasahin na basahin ang mga kulay-abo na bilog. Ang sample na pinagsamang EXE file, ang source code at ang INPOUT32. DLL library ay nasa. RAR file.

Hakbang 3: Ipatupad Ito Gamit ang Parallel Port Sa ilalim ng DOS

Ipatupad Ito Gamit ang Parallel Port Sa ilalim ng DOS
Ipatupad Ito Gamit ang Parallel Port Sa ilalim ng DOS

Ang 74 LS 123 ang ginamit ko upang makuha ang parehong system tulad ng port ng joystick. Mayroon itong dalawang RMM. Sa PDF file maaari mong makita ang datasheet at isang simpleng circuit upang ikabit sa iyong parallel port. Ako ay isang tagahanga ng Qbasic (sapagkat malawak itong magagamit) kaya nakasulat ang code dito. Ang pamamaraan ay pareho sa sample ng 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) HABANG INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 PARA Y = 1 SA YMAXX KUNG (INP (LPTstatus) AND & H10) / & H10 = 1 THEN EXIT FOR NEXT Y LOCATE 23, 1 PRINT USING "####"; Y LINE (0, 0) - (MAXX, YMAXX), 0, BF PARA SA I = 1 SA MAXX LINE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) NEXT ID (MAXX) = YWEND Isang output pin ang ginagamit upang i-Trigger ang MMR at isang input pin upang mabasa ang output nito.

Hakbang 4: Ang paglakip ng Ciruit sa LPT

Ang paglakip sa Ciruit sa LPT
Ang paglakip sa Ciruit sa LPT
Paglalakip sa Ciruit sa LPT
Paglalakip sa Ciruit sa LPT
Paglalakip sa Ciruit sa LPT
Paglalakip sa Ciruit sa LPT

Ang system ay ipinatupad bilang kalahating hardware at kalahating software. Ang pag-convert ng isang variable na paglaban sa isang pagkaantala ng oras ay pagkatapos ay ginagamit upang mabilang ang mga pulso at ang bilang na ito ang aming ninanais na halaga. Ang qbasic file ay balak na i-screen ang signal at pagkatapos ay i-scroll ito pakanan.

Hakbang 5: Gamitin Ito

Ito ay isang pangkaraniwang IC ngunit maaari ring magamit ang iba pang mga monostable. Maraming mga tao na naninirahan sa mga lugar na ADC ay mahirap hanapin, na maaaring gamitin ang circuit na ito bilang isang proyekto sa paaralan upang magplano ng temperatura o anumang iba pang mga bagay hangga't maaari mong baguhin ang MMR sa pagkaantala nito kapag ginawa ng iyong sensor.

Inirerekumendang: