USB барометр
Запись от locm размещена 25.02.2015 в 00:18
Показов 25998
Комментарии 8
Метки avr, bascom, purebasic, usb, микроконтроллер
|
Сейчас мы рассмотрим как сделать USB барометр своими руками. Для этого понадобится, один из перечисленных микроконтроллеров: ATmega8, ATmega88, ATmega168 или ATmega328, а также цифровой датчик атмосферного давления BMP085 или BMP180, который кстати, также может измерять температуру, ведь в нем встроен датчик температуры, необходимый для термокомпенсации показаний атмосферного давления. Схема устройства. Чтобы упростить монтаж, был использован датчик давления уже распаянный на плате. У датчика четыре вывода и с обратной стороны платы, написано их назначение. Может показаться что размеры платы большие, но на самом деле, ее размер 2.1x1.8. При использовании SMD компонентов, эта конструкция поместится в корпусе стандартной флешки. При подключении к компьютеру, устройство автоматически опознается и операционная система устанавливает стандартные драйверы. Программа для микроконтроллера написана в среде BASCOM-AVR с применением USB библиотеки swusb, которая позволяет организовать работу с USB программными средствами, что позволяет значительно расширить количество разновидностей микроконтроллеров, которые можно применить в этом устройстве. Код основного исходного файла.
Когда от компьютера приходит запрос по каналу Feature через нулевую конечную точку, будет вызвана подпрограмма sb_feature_copydata(). В ней считывается информация о текущей температуре и атмосферном давлении и эти данные помещаются в массив Txstate. По завершению выполнения подпрограммы, данные из массива будут отправлены компьютеру. Программа для компьютера написана на PureBasic.
Отображаются данные о давлении в миллиметрах ртутного столба и в гектопаскалях, а так же высота над уровнем моря и температура в градусах по Цельсию. В правом нижнем углу окна, отображается картинка предполагаемой погоды. К данным о высоте над уровнем моря стоит относится только как к предполагаемым, поскольку они будут верны лишь при условии что давление на уровне моря равно 760 мм. рт. сб. Исходные файлы и скомпилированные приложение и прошивки (для ATmega8, ATmega88, ATmega168 и ATmega328) находятся в архиве. При прошивке микроконтроллера нужно задать конфигурацию как на скриншоте (программа AvrProg из AvrStudio 4). | ||||||||||
Метки avr, bascom, purebasic, usb, микроконтроллер
Размещено в Микроконтроллеры
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 8
Комментарии
-
Запись от raxper размещена 25.02.2015 в 07:57
-
Запись от Rius размещена 26.02.2017 в 16:37
-
Запись от Avazart размещена 26.02.2017 в 16:56
-
Не по теме:
Странный вопрос? :D
Сообщение от Avazart
Следуя логике можно было спросить "зачем говорить на русском, английском, китайском и др. языке?"...
Задача решена довольно простыми средствами. Разве этого не достаточно?Запись от locm размещена 26.02.2017 в 18:33
-
Запись от Avazart размещена 26.02.2017 в 18:55
-
Языков много и каждый пишет на чем ему удобнее или больше нравится. Например программируя на Си или ASM для AVR нужно хорошо знать имена и назначение всех регистров и их битов. Bascom позволяет разрабатывать программы без этих знаний.
Сообщение от Avazart
Запись от locm размещена 26.02.2017 в 20:09
-
Запись от Avazart размещена 26.02.2017 в 22:28
-
Скорее личное предпочтение.Запись от locm размещена 26.02.2017 в 23:41


