Пример 13. Джойстик
Примеры
ПРИМЕРЫ
- Пример 1. Светодиоды
- Пример 2. Подключение кнопки
- Пример 3. Переключатель
- Пример 4. Активный зуммер
- Пример 5. Пассивный зуммер
- Пример 6. Фоторезистор
- Пример 7. RGB-светодиод
- Пример 8. Семисегментный индикатор и 74HC595N
- Пример 9. Четырехразрядный 7-сегментный индикатор
- Пример 10. Светодиодная матрица
- Пример 11. Светодиодная шкала
- Пример 12. ЖК-дисплей
- Пример 13. Джойстик
- Пример 14. Вольтметр
- Пример 15. Термистор
- Пример 16. Модуль DHT11
- Пример 17. Модуль HC-SR04
- Пример 18. Датчик движения HC-SR501
- Пример 19. Матричная клавиатура
- Пример 20. ИК датчик и пульт
- Пример 21. Модуль часов DS-1302
- Пример 22. RFID-модуль RC522
- Пример 23. Сервопривод
- Пример 24. Модуль реле
- Пример 25. Двигатель постоянного тока
- Пример 26. Шаговый двигатель и драйвер ULN2003
- Пример 27. Драйвер двигателей на L298N
- Пример 28. MP3-плеер DFPlayer Mini
- Пример 29. Датчик уровня воды
- Пример 30. Serial Port
- Пример 31. Симуляция парковки
- Пример 32. Датчик температуры DS18B20
- Пример 33. Bluetooth-модуль HC-06
- Пример 34. Плата расширения с дисплеем и кнопками
- Пример 35. Плата расширения для двигателей на L293D
- Пример 36. Ethernet шилд W5100
- Пример 37. GSM/GPRS шилд SIM900
- Пример 38. GPS модуль Ublox NEO-6M
- Пример 39. Модуль считывания отпечатков пальцев
- Пример 40. Шаговый двигатель NEMA17 и драйвер TB6600
Модуль джойстика по функционалу схож с «грибочком» в манипуляторах от консолей PlayStation, XBox. Он комбинирует в себе двухосный джойстик и тактовую кнопку.
По направлениям отклонения H (horizontal) и V (vertical), на плате джойстика установлены два потенциометра. Основываясь на их показаниях, джойстик отслеживает отклонения влево, вправо, вверх, вниз и выдает аналоговый сигнал от 0 до 1023.
Ось Z посажена на кнопку и выдает цифровой сигнал (вкл/выкл).
Джойстик имеет пятипиновый разъем стандарта 2,54 мм: VCC, Ground, X, Y, Key.
Описание:
В данном примере научимся использовать модуль джойстика на Arduino. В монитор порта выведем информацию о положении джойстика по осям X и Y, а также есть ли нажатие.
Компоненты:
Схема:
Скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
int yPin = A0; // VRY подключаем к A0 int xPin = A1; // VRX подключаем к A0 int buttonPin = 2; // SW подключаем к D2 int xPosition = 0; // позиция по X int yPosition = 0; // позиция по Y int buttonState = 0; // состояние кнопки (нажата/нет) void setup() { // инициализация обмена данными по серийному протоколу со скоростью 9600 бод: Serial.begin(9600); pinMode(xPin, INPUT); pinMode(yPin, INPUT); // активируем подтягивающий резистор на пине кнопки pinMode(buttonPin, INPUT_PULLUP); // Для более ранних версий Arduino (меньше 1.0.1) // pinMode(buttonPin, INPUT); // digitalWrite(buttonPin, HIGH); } void loop() { xPosition = analogRead(xPin); yPosition = analogRead(yPin); buttonState = digitalRead(buttonPin); Serial.print("X: "); Serial.print(xPosition); Serial.print(" | Y: "); Serial.print(yPosition); Serial.print(" | Button: "); Serial.println(buttonState); delay(100); // добавляем задержку между считыванием данных } |