Turinys:

Paprastas ir pigus analoginis -skaitmeninis keitiklis: 5 žingsniai
Paprastas ir pigus analoginis -skaitmeninis keitiklis: 5 žingsniai

Video: Paprastas ir pigus analoginis -skaitmeninis keitiklis: 5 žingsniai

Video: Paprastas ir pigus analoginis -skaitmeninis keitiklis: 5 žingsniai
Video: ESP32 Tutorial 17 - Controlling Servo Motor using ESP32 and Potentiometer -ESP32 IoT Learnig kit 2024, Lapkritis
Anonim
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis
Paprastas ir pigus analoginis -skaitmeninis keitiklis

Nuo to laiko, kai ADC buvo brangus ir retas, ateina aparatinės ir programinės įrangos sprendimas, skirtas kompiuteriams surinkti duomenis. Remiantis senu „IBM“suderinamu „Joystick“prievadu, monostabiliam multivibratoriui suaktyvinti varžinį keitiklį (termistorių, fotoelementą, įtempimo matuoklį ir tt) ir paskaičiuoti, kiek ciklų jis praeina, kol multivibratoriaus išvestis padidės, yra gana paprasta įdiegti daugelyje kompiuterių platformų ir daugeliu kalbų. Rodomi „VisualBasic“ir „Qbasic“pavyzdiniai failai.

1 žingsnis: vairasvirtės prievadas

Vairasvirtės prievadas
Vairasvirtės prievadas

Daugelį metų su IBM suderinamais kompiuteriais buvo pristatytas vairasvirtės prievadas, turintis X ašį, Y ašį, A ir B mygtukų signalinius kaiščius. Mažą DB-15 jungtį galima pasiekti adresais 200h & 201h. Pati vairasvirtė buvo tik du potenometrai ir du mygtukai. Kompiuterio pagrindinėje plokštėje buvo du įjungiami monostabilūs multivibratoriai (trumpai RMM) su fiksuotais kondensatoriais ir įvesties/išvesties kaiščiais. RC laiko konstantą nustatė potenciometrai ir kondensatoriai. Norėdami pradėti signalo konvertavimą, atlikite WRITE į uosto adresą 200h ir tada pradėkite skaičiuoti, kol gausite šiek tiek AUKŠTĄ, atlikdami READ to 200h prievado adresą. Tai galima įgyvendinti bet kuria kalba (pagrindinė, paskalio, c).

2 žingsnis: vairasvirtės prievadas VB

Vairasvirtės prievadas VB
Vairasvirtės prievadas VB

Tai pavyzdinis kodas, kurį naudoju išbandydamas savo šiukšliadėžės vairasvirtę: Privatus papildomas laikmatis1_Timer () Dim V, H As Integer Out & H201, & HFF H = nuo 1 iki 3000 Jei (Inp (& H201) ir & H1) / & H1 = 0, tada išeikite Kitas H horizontalus. Tekstas = H išėjimas ir H201, ir HFF, kai V = nuo 1 iki 3000, jei (Inp (& H201) ir & H2) / & H2 = 0, tada išeikite iš kitos V vertikalės. Tekstas = V Jei (Inp (& H201) ir & H10) / & H10 = 0 Tada forma 1. FillColor = & HFF If (Inp (& H201) Ir & H20) / & H10 = 0 Tada Shape2. FillColor = & HFF If (Inp (& H201) Ir & H10) / & H10 = 1 Tada Shape1. FillColor = & HC0C0C0 If (Inp (& H201) Ir & H20) / & H20 = 1 Tada Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Programa veikia tik tuo atveju, jei prie kompiuterio prijungta tikra vairasvirtė. Horizontalus ir vertikalus teksto laukeliai parodys reikšmę, susijusią su X ir Y lazdos judesiais. Taip pat kvadratas judės didesnėje dėžutėje, kad atspindėtų jūsų judesius. Paspaudus A ir B mygtukus, bus perskaityti pilki apskritimai. Sudėtinio EXE failo pavyzdys, šaltinio kodas ir INPOUT32. DLL biblioteka yra. RAR faile.

3 žingsnis: Įdiekite jį naudodami lygiagretųjį prievadą pagal DOS

Įdiekite jį naudodami lygiagretųjį prievadą pagal DOS
Įdiekite jį naudodami lygiagretųjį prievadą pagal DOS

74 LS 123 naudoju tą pačią sistemą kaip ir vairasvirtės prievadas. Jis turi du RMM. PDF faile galite pamatyti duomenų lapą ir paprastą grandinę, kurią galima prijungti prie lygiagretaus prievado. Aš esu „Qbasic“gerbėjas (nes jis yra plačiai prieinamas), todėl kodas jame parašytas. Procedūra yra tokia pati kaip ir VB pavyzdyje: 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) WHILLE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus)) IR & H10) / & H10 = 1 Tada išeikite iš kitos vietos 23, 1 atspausdinkite naudodami „####“; Y LINE (0, 0) - (MAXX, YMAXX), 0, BF FOR I = 1 - MAXX LINE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) KITAS ID (MAXX) = YWEND Vienas išvesties kaištis naudojamas MMR suveikimui ir vienas įvesties kaištis jo išėjimui nuskaityti.

4 žingsnis: grandinės prijungimas prie LPT

Grandinės prijungimas prie LPT
Grandinės prijungimas prie LPT
Grandinės prijungimas prie LPT
Grandinės prijungimas prie LPT
Grandinės prijungimas prie LPT
Grandinės prijungimas prie LPT

Sistema įdiegta kaip pusė aparatinės ir pusiau programinės įrangos. Tada impulsų skaičiavimui naudojamas kintamo pasipriešinimo konvertavimas į laiko uždelsimą, ir šis skaičius yra mūsų norima vertė. „Qbasic“failas parodys signalą ir pasuks jį į dešinę.

5 žingsnis: naudokitės

Tai yra įprastas IC, tačiau taip pat gali būti naudojami kiti monostabulai. Daugelį žmonių, gyvenančių tose vietose, kur buvo ADC, sunku rasti, galbūt norėtų naudoti šią grandinę kaip mokyklos projektą, kad būtų galima nustatyti temperatūrą ar bet kokius kitus dalykus, jei tik galite priversti MMR pakeisti delsą, kai jūsų jutiklis tai daro.

Rekomenduojamas: