Проверка положения аналогового джойстика
Для управления различными исполнительными механизмами часто применяются аналоговые джойстики.
Джойстик имеет 2 переменных резистора, которые изменяют свое значение в зависимости от положениястика и кнопку, которая срабатывает при нажатии на стик сверху
Джойстик имеет следующие выводы:
GND(МИНУС)
+5V (ПЛЮС)
VRx(ПОЛОЖЕНИЕ ПО Х)
VRy(ПОЛОЖЕНИЕ ПО У)
SW(КНОПКА)
Для того чтобы использовать аналоговую функцию необходимо сперва настроить порты во входном режиме.
А для чтения значения использовать функции
Центральное положение дает аналоговую величину 515 – 520. Давайте разработаем программу которая будет проверять положение стика, и в зависимости от его направления активировать 4 светодиода, указывающих на направление. Светодиоды будут использоваться в качестве замены двигателей для отладки программы.
Для проверки положения используется оператор условия, в центральном положении стика все светодиоды гасятся (движение ни в какую сторону не происходит).
Для проверки приложения соберите следующую схему и загрузите программу в ардуино
Исходный код и схему в проектеFritzing можно найти в папке с лабораторной работой
Термистор (измерение температуры)
Термистор представляет собой резистор способный изменять свое сопротивление в зависимости от температуры. При изменении сопротивления резистора изменяется падение напряжения, которое с помощью ардуино можно прочитать в программе и использовать для каких либо целей.
Как правило термистор подключается по ниже приведенной схеме. Номинал термистора составляет 10 Ком и номинал противовеса должен быть тоже 10 Ком, центральная точка подключается к аналоговому входу.
При температуре 20 градусов термистор на 10К выдает показания - 550, значит на 1 градус он выдает показания 27,5 единиц аналогового измерения. Поэтому для того чтобы определить температуру по показаниям аналогового измерения нужно воспользоваться следующей формулой
termistorValue / 27.5.
Давайте разработаем приложение которое будет контролировать температуру в помещении. Суть программы очень простая, необходимо измерять температуру и если она выше необходимой то будет включаться вентиляция (светодиод 13) а если ниже необходимой то включаться нагреватель (светодиод 12);
Показания термистора считываются каждую секунду, после чего по формуле производится расчёт значений в градусы. После получения температуры проверятся ее значение с требуемой температурой и если температура выше то активируется выход отвечающий за вентиляцию – происходит охлаждение, а если ниже то наоборот активируется нагрев, а когда текущая температура равна требуемой температуре то оба выхода отключаются. Данное приложение может использоваться как программируемое термореле, инкубатор, климатконтроль для дома или для производства.
Задача 1: В приведенной программе была неправильно произведена температурная калибровка термистора. Температура определяется некорректно. Исправьте ошибки.
Задача 2: Необходимо комбинировать управление с помощью ждойстика и термистора в одном приложении. Движение вперед разрешено только тогда, когда температура выше 30 градусов