Съдържание:
- Стъпка 1: Портът на джойстика
- Стъпка 2: Порт за джойстик във VB
- Стъпка 3: Приложете го с помощта на паралелния порт под DOS
- Стъпка 4: Прикрепване на Ciruit към LPT
- Стъпка 5: Използвайте го
Видео: Прост и евтин аналогово -цифров конвертор: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
От времето, когато ADC бяха скъпи и редки, идва хардуерно-софтуерно решение за събиране на данни за персонални компютри. Въз основа на стария джойстиков порт от IBM-съвместимата техника за задействане на моностабилен мултивибратор резистивен преобразувател (термистор, фотоклетка, тензодатчик и т.н.) и след това броенето на колко цикъла преминава, преди изходът на мултивибратора да е висок, е доста лесен за изпълнение на повечето компютърни платформи и на повечето езици. Показват се примерни файлове на VisualBasic и Qbasic.
Стъпка 1: Портът на джойстика
В продължение на години много домашни компютри, съвместими с IBM, идваха с джойстик порт, който имаше сигнални щифтове по ос X, ос Y, бутони A & B. Малкият конектор DB-15 може да бъде достъпен на адреси 200h & 201h. Самият джойстик беше само два потенциометра и два бутона. Вътре в дънната платка на компютъра бяха разположени два рестартируеми моностабилни мултивибратора (накратко RMM) с фиксирани кондензатори и входове/изходи. Временната константа на RC се задава от потенциометрите и кондензаторите. За да започнете преобразуването на сигнала, трябва да направите WRITE към адрес на порта 200h и след това да започнете да броите, докато не получите малко ВИСОК, като направите READ към адрес на порта 200h. Това може да се приложи на всеки език (основен, паскал, в).
Стъпка 2: Порт за джойстик във VB
Това е примерен код, който използвах, за да тествам джойстика си за боклук: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF For H = 1 To 3000 If (Inp (& H201) And & H1) / & H1 = 0 Тогава Exit For Следващ H хоризонтален. Текст = H Out & H201, & HFF За V = 1 до 3000 If (Inp (& H201) And & H2) / & H2 = 0 След това излезте за следващ V вертикален. Текст = V If (Inp (& H201) And & H10) / & H10 = 0 Тогава Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 Тогава Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 Тогава Shape1. FillColor = & HC0C0C0 If (Inp (& H201) И & H20) / & H20 = 1 Тогава Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Програмата работи само ако към вашия компютър е свързан истински джойстик. Хоризонталните и вертикалните текстови полета ще показват стойност, свързана с движенията на X и Y на вашата пръчка. Също така квадрат ще се движи в рамките на по -голяма кутия, за да представлява вашите движения. Натискането на бутоните A и B ще прочете сивите кръгове. Примерният компилиран EXE файл, изходният код и библиотеката INPOUT32. DLL са във. RAR файла.
Стъпка 3: Приложете го с помощта на паралелния порт под DOS
74 LS 123 е това, което използвах, за да получа същата система като порта за джойстика. Има два RMM. В PDF файла можете да видите листа с данни и проста схема за прикачване към вашия паралелен порт. Аз съм фен на Qbasic (тъй като е широкодостъпен), така че кодът е написан в него. Процедурата е същата като във 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) И & H10) / & H10 = 1 ТОГАВА ИЗХОД ЗА СЛЕДВАЩИЯ Y ЛОКАТ 23, 1 ПЕЧАТ, ИЗПОЛЗВАЩИ "####"; 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) СЛЕДВАЩ ИД (MAXX) = YWEND Един изходен щифт се използва за задействане на MMR и един входен щифт за четене на изхода от него.
Стъпка 4: Прикрепване на Ciruit към LPT
Системата е реализирана като наполовина хардуер и наполовина софтуер. След това преобразуването на променливо съпротивление във времево закъснение се използва за преброяване на импулсите и това броене е нашата желана стойност. Файлът qbasic ще начертае, за да екранира сигнала и след това да го превърти надясно.
Стъпка 5: Използвайте го
Това е обща интегрална схема, но могат да се използват и други моностабили. Много хора, които живеят на места, където ADC са трудни за намиране, биха искали да използват тази схема като училищен проект за измерване на температурата или други неща, стига да можете да накарате MMR да промени забавянето си, когато сензорът ви го направи.
Препоръчано:
Направете свой собствен прост и евтин преносим Bluetooth високоговорител: 5 стъпки (със снимки)
Направете свой собствен прост и евтин преносим Bluetooth високоговорител: В този проект ще ви покажа как да изградите прост преносим Bluetooth високоговорител, който може да възпроизвежда мелодиите си до 30 часа непрекъснато. Повечето от използваните компоненти могат да бъдат намерени само за 22 $ общо, което прави този проект с доста нисък бюджет. Нека да
Прост DIY логически конвертор за 3.3V устройства: 4 стъпки
Прост DIY логически конвертор за 3.3V устройства: В тази публикация ще ви покажа как можете да направите свой собствен 5V към 3.3V логически преобразувател за свързване на 5V сензори към нови платки Arduino и Raspberry Pi. Защо имаме нужда от интегратор на логическо ниво ? Повечето от вас обичат да играят с Arduino и Raspberry Pi duri
Мини евтин Ac to Dc конвертор: 7 стъпки
Мини евтин AC към DC конвертор: този е ac към dc конвертор. Струваше ми само няколко долара. Само цената на четири диода. Много е лесно и не създава проблеми за запояване. затова искам да го споделя с всички вас, така че нека започнем
Евтин и прост Bluetooth високоговорител: 6 стъпки
Евтин и прост Bluetooth високоговорител: Здравейте всички …… Това е първата ми инструкция. Това е изключително евтин и лесен за изработка Bluetooth високоговорител. Това не беше умишлен проект, а просто бонус по време на създаването на друг проект (който ще споделя, след като приключи). И
(Прост) лесен начин да получите аналогово/pwm аудио от Raspberry PI Zero и също така свързване към Crt TV: 4 стъпки
(Прост) лесен начин за получаване на аналогово/pwm аудио от Raspberry PI Zero и свързване към Crt TV