Оглавление:
- Шаг 1: порт джойстика
- Шаг 2: порт джойстика в VB
- Шаг 3: Реализуйте его с помощью параллельного порта под DOS
- Шаг 4: Присоединение Ciruit к LPT
- Шаг 5: Используйте это
Видео: Простой и дешевый аналого-цифровой преобразователь: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
В те времена, когда АЦП были дорогими и редкими, появилось аппаратно-программное решение для сбора данных для ПК. На основе старого порта джойстика от IBM-совместимого, метод срабатывания моностабильного мультивибратора, резистивного преобразователя (термистор, фотоэлемент, тензодатчик и т. Д.) С последующим подсчетом количества циклов, которые он проходит до того, как выходной сигнал мультивибратора становится высоким, вполне достаточно. проста в реализации на большинстве платформ ПК и на большинстве языков. Показаны файлы примеров VisualBasic и Qbasic.
Шаг 1: порт джойстика
В течение многих лет многие домашние IBM-совместимые ПК поставлялись с портом джойстика, который имел сигнальные контакты для осей X, Y, кнопок A и B. Доступ к небольшому разъему DB-15 можно получить по адресу 200h и 201h. Сам джойстик состоял всего из двух потенциометров и двух кнопок. Внутри материнской платы ПК были расположены два перезапускаемых моностабильных мультивибратора (сокращенно RMM) с фиксированными конденсаторами и выводами IN / OUT. Постоянная времени RC задавалась потенциометрами и конденсаторами. Чтобы начать преобразование сигнала, вы должны сделать ЗАПИСЬ на адрес порта 200h, а затем начать отсчет, пока вы не получите бит ВЫСОКИЙ, выполнив ЧТЕНИЕ на адрес порта 200h. Это может быть реализовано на любом языке (базовый, паскаль, c).
Шаг 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 Then Exit For Next H Horizontal. Text = H Out & H201, & HFF Для V = от 1 до 3000 Если (Inp (& H201) And & H2) / & H2 = 0 Тогда выйти для следующего V Vertical. Text = 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) AND & H10) / & H10 = 1 ТОГДА ВЫЙДИТЕ ДЛЯ СЛЕДУЮЩЕГО УСТРОЙСТВА Y 23, 1 ПЕЧАТЬ С ИСПОЛЬЗОВАНИЕМ "####"; ЛИНИЯ Y (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 Один выходной контакт используется для запуска MMR, а один входной контакт - для чтения его вывода.
Шаг 4: Присоединение Ciruit к LPT
Система реализована наполовину аппаратно, наполовину программно. Преобразование переменного сопротивления во временную задержку затем используется для подсчета импульсов, и этот счет является нашим желаемым значением. Файл qbasic будет отображать сигнал, а затем прокручивать его вправо.
Шаг 5: Используйте это
Это обычная ИС, но можно использовать и другие моностабильные устройства. Многие люди, которые живут в местах, где трудно найти АЦП, могут использовать эту схему в качестве школьного проекта для построения графика температуры или любых других вещей, если вы можете заставить MMR изменять свою задержку, когда это делает ваш датчик.
Рекомендуемые:
Простой DC-DC повышающий преобразователь с использованием 555: 4 шага
Простой повышающий преобразователь постоянного тока в постоянный с использованием 555: в цепи часто бывает полезно иметь более высокие напряжения. Либо для обеспечения шин + ve и -ve для операционного усилителя, для управления зуммером, либо даже для реле без необходимости в дополнительной батарее. Это простой преобразователь постоянного тока с 5 В на 12 В, построенный с использованием таймера 555 и
Сделайте свой собственный простой и дешевый портативный Bluetooth-динамик: 5 шагов (с изображениями)
Сделайте свой собственный простой и дешевый портативный Bluetooth-динамик: в этом проекте я покажу вам, как построить простой портативный Bluetooth-динамик, который может непрерывно воспроизводить свои мелодии до 30 часов. Большинство используемых компонентов можно найти всего за 22 доллара, что делает этот проект довольно малобюджетным. Давайте
Простой преобразователь логики своими руками для устройств на 3,3 В: 4 шага
Простой логический преобразователь DIY для устройств на 3,3 В: в этом посте я покажу вам, как вы можете создать свой собственный логический преобразователь 5 В в 3,3 В для подключения датчиков 5 В к новым платам Arduino и Raspberry Pi. Зачем нам нужна микросхема преобразователя логического уровня. ? Большинство из вас любит играть с Arduino и Raspberry Pi duri
Мини дешевый преобразователь переменного тока в постоянный: 7 шагов
Mini Cheap Ac to Dc Converter: это преобразователь переменного тока в постоянный. Он обошелся мне всего в несколько долларов. Просто стоимость четырех диодов. Это очень просто и не проблема для пайки. так что я хочу поделиться этим со всеми вами. так что давайте начнем
Учебное пособие по аналого-цифровому преобразованию: 7 шагов
Учебное пособие по преобразованию аналоговых сигналов в цифровые: Привет, ребята, я работаю ассистентом преподавателя для введения в инженерный класс для специальностей биомедицинской инженерии в Университете Вандербильта в этом семестре. Я создал это видео, чтобы объяснить им аналого-цифровое преобразование, потому что время истекло в течение c