Управление внешними самодельными устройствами и получение от них информации

Наш телеграм канал:
@ShvedkovPRO
Viewing 10 posts (of 11 total)
LAZudhic
пользователь
Post count: 14
#1

Вступление
В компьютере все данные хранятся и обрабатываются в виде знаков. Обычно используются всего два знака – цифры 0 и 1. Совокупность этих двух цифр называется двоичный код, а сами цифры принято называть двоичными цифрами или коротко битами. Компьютер различает 0 и 1 благодаря электрическим импульсам в электронных цепях. Если в цепи нет импульса – это цифра 0, если импульс есть, то это 1. Таким образом, в виде комбинации 0 и 1, внутри компьютера хранится абсолютно вся информация от фотографий до музыки.
Немного в помощь предвидена таблица в которой синим цветом обозначены входы с внешнего устройства и выходы зелёным . и так же белым минус .Уровень сигнала для TxD, RxD: 1 = -3...-12 в; 0=+3...+12 в (сигналы инвертированы)
Уровень сигналов RTS, DTR, CTS, DSR, DCD, RI: 1 (True)=+3...+12в ; 0 (False)= -3...-12в (напряжение зависит от нагрузки и деталей из чего сделан комп) на контактах COM порта)

Все устройства которые называются цифровыми используют именно такие сигналы
зарождение цифрового сигнала считают - азбуку морзе (совокупность точек и тире получаем ту или иную букву)
(с LPT портом работать проще и понятней там логический 0= 0 вольтам или логическая 1= +5 вольтам)

Комментарии (10)

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#2

При передаче данных символы передаются из буфера передатчика последовательно (первым пришел- первым вышел). Специально назвал символами , а не байтами, так как символы могут иметь размер от 5 до 8 бит (в блоке квеста serial port параметр Data bits выставляется это значение). Каждый переданный символ снабжается стартовым и стоповым битами, предназначенным для синхронизации на приемной стороне. После стартового бита следуют биты данных, начиная с младшего бита и заканчивая старшим. За последним битом данных символа может следовать бит паритета, служащий для обнаружения ошибки передачи битов данных. Последним передается стоповый бит, который необходим для временного разделения переданных символов
Показана передача символов "0" "0" без паритета, с одним стоповым битом

На рисунке хорошо видно, что стоповый бит разделяет два переданных символа. При необходимости можно увеличить этот интервал до 2 стоповых битов (выставляется в блоке квеста serial port параметр Stop bits), если конечное устройство не успевает разделять символы.

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#3

На рисунке ниже показана передача символов "0" "0" с проверкой на четность (EVEN- выставляется в блоке квеста serial port параметр Parity), с одним стоповым битом

если решили более подробно узнать про COM порт то вот вам ссылка http://www.softelectro.ru/rs232prog.html
Я же ограничусь малым и пойду дальше

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#4

Ну а вот эту информацию вы бы не нашли ни в одном хелпе по квесту даже на буржуйском
Режимы контрольного бита (выставляется в блоке квеста serial port параметр Parity )
(None) - проверка на паритет не используется и бит не выставляется;
(EVEN) - проверка на четность, дополняет передаваемый символ так, чтобы количество единиц в передаваемом символе было четным;
(Odd)- проверка на нечетность, дополняет передаваемый символ так, чтобы количество единиц в передаваемом символе было нечетным;
(MARK) - бит паритета всегда равен единице;
(SPACE)- бит паритета всегда равен нулю.
ну вот мы и разобрались со всеми параметрами serial port

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#5

дальше я беру архив с исходником с буржуйского хелпа по квест 3d serial_example_3.zip
над которым я буду издеваться выкусывая как я считаю ненужные блоки и ставя свои , менять параметры в блоках пока не добьюсь нужного результата
вооружившись цешкой (прибором для измерения напряжения) + штекер для ком порта припаяю 4-х жильный провод на 3 выхода и минус (для удобства) и сяду экспериментировать

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#6

Пробовал подключать светодиоды через 1,5 кОм сопротивление . После того как в Serial Command выставил Send Formatted Text to Port светодиод подключенный между 5 ножкой и 3 ножкой стал довольно живо отвечать подмигиванием на нажатие клавиши enter показывая что данные передаются . А светодиод подключенный так же через сопротивление между 5 ножкой и 7 ножкой сигнализировал о том что порт открыт или закрыт реагируя на клавишу пробела (хотя иногда он упорно не хотел открывать порт пришлось в наглую в программе менять для запуска open на ножку где сидела close после запуска всё менять обратно (пробовал на ПК установлена XP-юша и на ноуте подключал через шнур USB->COM port установлена win7 всё работает исправно ) так же указал нужный COM1 (куда подключены светодиоды) в Serial Port. Скорость передачи меняться только при перезапуске порта .

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#7

собрал вот такую схему и подключил её к компу

А ВОТ ВИДЕО ЧТО ПОЛУЧИЛОСЬ

Аватар пользователя Шведков Илья Шведков Илья
пользователь
Post count: 56
#8

Получается, что можно написать программу в Quest3d для управления машинкой на пульте управления.

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#9

Да в этом не будет много заморочек , открываем дистанционный пульт управления машинкой и пару микрух туда добавляем впаиваемся в контакты управления и питания, шнурок к ком порту ( пока я не ставил себе такой цели но это возможно )

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#10

Да в этом не будет много заморочек , открываем дистанционный пульт управления машинкой, и пару микрух туда добавляем впаиваемся в контакты управления и питания, шнурок к ком порту ( пока я не ставил себе такой цели но это возможно )

Аватар пользователя LAZudhic LAZudhic
автор
Post count: 14
#11

Извините за долгое отсутствие на форуме !!!! В данное время увлёкся изучением программирования микроконтроллера ATmega32 .
В будущем будет возможность подключать её к компьютеру и управлять внешними устройствами по средствам Quest 3d.
И так же получать информацию с внешних устройств и выводить данные на экран в Quest 3d. Но пока жду выходных чтоб купить необходимые детальки и спаять программатор для контролера. если всё будет удачно видео с меня в ближайшее время

Страницы

Viewing 10 posts (of 11 total)

Магазин готовых сайтов