QT и SDL. Подключение и использование джойстика.

Сегодня, как уже понятно из названия статьи, мы поговорим об использовании джойстиков, об их подключении и обработке приходящих с джойстика сигналов. Для чего это вообще надо? Ну вот, например, хочется нам собрать робота. А как им управлять? Вот как раз для этого можно прикрутить к компьютеру джойстик, написать небольшую программку, а затем передавать сигналы управления микроконтроллеру, установленному в нашем роботе. И это только одно применение, сразу пришедшее в голову ) Короче, штука полезная.

Использование джойстика

Читать далее

Инкрементальный энкодер.

Итак сегодня мы поговорим про такие замечательные устройства как энкодеры. Что же это за зверь такой?

Энкодер — это датчик угла поворота, то есть он преобразует угол поворота вала в электрические сигналы. Энкодеры можно разделить на два больших класса — абсолютные и инкрементальные. Абсолютный энкодер для каждого положения вала выдает свой уникальный код, таким образом, мы сразу же можем определить положение вала, без всяких дополнительных действий. Это, конечно, очень хорошо, но сегодня нас больше интересует другой тип, а именно, инкрементальный энкодер 😉

Читать далее

Микроконтроллеры AVR. UART. Использование прерываний.

Продолжаем работать с микроконтроллерами AVR и сегодня, как обещал, будем передавать и принимать данные по интерфейсу UART с использованием соответствующих прерываний. Теорию мы уже всю обсудили в предыдущей статье (вот), там же мы писали небольшой пример для передачи данных без прерываний. Поэтому сейчас имеем полное право сразу перейти к делу, то есть к написанию программы )

Даже не знаю, какую бы придумать задачку..А давайте так — будем принимать данные по UART, а затем сразу же высылать их обратно. Если все будет правильно реализовано, то передаваемые и принимаемые данные должны полностью совпадать.

Читать далее

Программирование AVR. Использование UART.

Микроконтроллеры AVR, как и большинство современных контроллеров, имеют на своем борту аппаратный модуль UART, являющийся отличным решением для передачи данных. Именно про UART будет эта статья 😉 Разберем как можно настроить этот модуль в AVR’ках, посмотрим куда там надо пихать свои данные и откуда забирать, ну и небольшой примерчик по традиции в конце статьи.

Сам протокол UART мы расписывать не будем, поэтому сразу начнем с описания регистров.

Кстати, я для своих опытов буду использовать ATMega2560, но вообще принципиальной разницы нет, так что для ATMega16 или любой другой меги, практически все работает точно также )

Читать далее

QT. Установка библиотеки QTSerialPort.

Мы уже много раз рассматривали модуль USART различных микроконтроллеров, связывали их с компьютером, но компьютерную часть их взаимодействия пока не трогали. И вот пришло время об этом наконец-то поговорить ) Итак, в ближайшее время мы будем разбираться, как получить данные от какого-либо внешнего устройства на ПК через com-порт, как их обработать и, если надо, отправить дальше.

В качестве инструмента мы будем применять уже упоминавшиеся на нашем сайте библиотеки QT (вот тут) и среду программирования QT Creator. Но в стандартных библиотеках, поставляющихся вместе с QT Creator, не реализован механизм приема/передачи данных по последовательному порту, поэтому нам придется озадачиться поиском какой-то специально для этого созданной библиотеки. Из всего, что я встречал на просторах интернета, мне приглянулся модуль QTSerialPort, реализующий как раз таки интерфейс для работы с последовательными портами, причем как с аппаратными, так и с виртуальными. Вот тут можно прочитать немножко про это дополнение к библиотекам QT — QTSerialPort— ну и скачать тут тоже можно (и нужно 😉 ).

Читать далее