Добрый день господа форумчане! Будьте так добры направить меня по пути изучения материалов, что бы я мог взаимодействовать с библиотекой GitHub - MHeironimus/ArduinoJoystickLibrary at version-2.0
Заранее благодарю.
Направляю: Иди с Богом и изучай!
Это библиотека для контроллера, непонятно как вы рассчитываете с ней взаимодействовать
На самом деле, не пытайтесь говорить красиво, лучше напишите, какие у вас проблемы.
Пасиба)
А вообще надыбал в сети скетч, теперь стало чуть понятнее.
Спойлер
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID,JOYSTICK_TYPE_GAMEPAD,
1, 0, // Button Count, Hat Switch Count
true, true, false, // X ,Y, no Z Axis
false, false, false, // No Rx, Ry, or Rz
true, true, // Rudder and Throttle
false, false, false); // No accelerator, brake, or steering
int button_0 = 10; // Для примера - единственная кнопка на pin10
int button_0_state = 0;
unsigned int xAxis_ = 0;
unsigned int yAxis_ = 0;
int Rudder_ = 0;
int Throttle_ = 0;
const bool initAutoSendState = true; //иначе придется обновлять состояние контроллера вручную
void setup()
{
Joystick.begin(); // инициализируем библиотеку
pinMode(button_0, INPUT); // назначаем пин 10, на котором у нас кнопка, как вход.
}
void loop()
{
button_value = digitalRead(button_0);
Joystick.setButton(0,button_value);
xAxis_ = analogRead(A0);
Joystick.setXAxis(xAxis_);
yAxis_ = analogRead(A1);
Joystick.setYAxis(yAxis_);
Throttle_ = analogRead(A2);
Joystick.setThrottle(Throttle_);
Rudder_ = analogRead(A3);
Joystick.setRudder(Rudder_);
}```
Теперь можно отключить лишнее, и добавить нужное
Спойлер
#include <Joystick.h>
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID,JOYSTICK_TYPE_GAMEPAD,
4, 0, // Button Count, Hat Switch Count
false, false, false, // X ,Y, no Z Axis
false, false, false, // No Rx, Ry, or Rz
false, true, // Rudder and Throttle
false, false, false); // No accelerator, brake, or steering
int button_0 = 10; // Для примера - единственная кнопка на pin10
int button_1 = 11;
int button_2 = 12;
int button_3 = 13;
int button_0_state = 0;
int button_1_state = 0;
int button_2_state = 0;
int button_3_state = 0;
int Throttle_ = 0;
const bool initAutoSendState = true; //иначе придется обновлять состояние контроллера вручную
void setup()
{
Joystick.begin(); // инициализируем библиотеку
pinMode(button_0, INPUT);
pinMode(button_1, INPUT);
pinMode(button_2, INPUT);
pinMode(button_3, INPUT);
}
void loop()
{
boolean button_value = digitalRead(button_0);
boolean button_value1 = digitalRead(button_1);
boolean button_value2 = digitalRead(button_2);
boolean button_value3 = digitalRead(button_3);
Joystick.setButton(0,button_value);
Joystick.setButton(0,button_value1);
Joystick.setButton(0,button_value2);
Joystick.setButton(0,button_value3);
Throttle_ = analogRead(A2);
Joystick.setThrottle(Throttle_);
}
Теперь буду ковырять как сюда подключить HAT если кто подскажет буду благодарен.
Спасибо, учту, видимо размазано задал свой вопрос.
HAT ? или NAT? к джойстику???
Хатка, если на русском, hat switch на английском. Не помню как правильно зовется модуль. Но точно не network adress translation.
Подозреваю что это он самый:
В этом я пас - впервые слышу
Если я правильно понял - просто 5 кнопок. Джойстик влево-вправо-вверх-вниз -нажатие посередине соответствует замыканию соответствующих контактов.
кнопка она и в африке кнопка, только там их аж пять на одном рычаге
нажатия посередине по факту нет. Центр нормально замкнут. (по крайней мере на игровых джойстиках.) У меня дома был какой то джойстик, разберу - посмотрю. Но при калибровке точно помню что центр без нажатия.