Спецификация
| Что | Комментарии | |
|---|---|---|
| Идентификатор | ANALOG_JOYSTICK | ![]() |
| Интерфейс | 2 ADC 1 GPIO | ADC 1: сигнал X ADC 2: сигнал Y GPIO : сигнал SW (переключатель) |
| Предоставляет | x | -1: движение влево 0: нет движения 1: движение вправо |
| y | -1: движение вверх 0: нет движения 1: движение вниз | |
| sw | 0: переключатель отпущен 1: переключатель нажат | |
| Свойства | none | |
| Обратные вызовы? | yes |
Примечания
- Аппаратные подтяжки для переключателя не требуются.
Код
-- Подключить джойстик следующим образом
-- x внешний АЦП (ADC1115) / канал 0
-- y внешний АЦП (ADC1115) / канал 1
-- sw (переключатель) GPIO26
s = sensor.attach("ANALOG_JOYSTICK", adc.ADS1115, 0, adc.ADS1115, 1, pio.GPIO26)
-- Зарегистрировать обратный вызов. Обратный вызов выполняется при изменении любого свойства датчика.
s:callback(function(data)
if (data.x == -1) then
print("влево")
elseif (data.x == 1) then
print("вправо")
end
if (data.y == -1) then
print("вверх")
elseif (data.y == 1) then
print("вниз")
end
if (data.sw == 1) then
print("переключатель включен")
elseif (data.sw == 0) then
print("переключатель выключен")
end
end)
