Корзина пуста
Описание:
Плата расширения JoyStick Shield v1.A ориентирована на использование с полноразмерными контроллерами Arduino (Diecimila, Duemilanove, UNO, Mega и аналогичными).
Технические характеристики:
Напряжение питания: 3.3 В или 5 В (имеется переключатель)
2-х осевой джойстик
4 больших кнопки (A, B, C, D), 2 маленькие кнопки (F, E)
Интерфейсы:nRF24L01,NOKIA 5110,BluetoothI2,CRS232.
Цифровой интерфейс: выходы 2, 3, 4, 5, 6 и 7
Аналоговый интерфейс: выходы 0 и 1
Примечание:
Подключение джойстика к ардуино
На модуле имеется 5 выходов:Vcc, Gnd, X, Y и Key.
Данные по оси X выводятся на вход А0, по оси Y – на А1. Для визуального контроля нажатия кнопки также можно подключить светодиод D11. Питание осуществляется напряжением 5 Вольт. Пин GND присоединяется к такому же пину на плате Ардуино. Контакт SW можно подсоединить к любому цифровому пину.
Узнать, в каком положении в текущий момент находится устройство, можно в зависимости от значений потенциометров. Перемещение происходит по направлению находящихся перпендикулярно осей X и Y. Считывание информации с геймпада происходит с помощью функции analogRead() – она показывает значения в диапазоне от 0 до 1023. В качестве аргументов ей поступают номера пинов, к которым произведено подключение джойстика:
Serial.println(analogRead(A0)); // показывает положение X координаты
Serial.println(analogRead(A1)); // показывает положение Y координаты
Для удобства советуется использовать константы, чтобы уменьшить и упростить итоговый код. Аналоговые пины как раз можно объявить постоянными:
const byte PIN_ANALOG_X = A0; // постоянная для координаты Х
const byte PIN_ANALOG_Y = A1; // постоянная для координаты Y
Прошивка пульта при использовании модуля NRF24:
#include <SPI.h>
#include "RF24.h"
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int msg[1];
int potpin_1 = A0; // сервопривод поворотов
int val_1;
int potpin_2 = A1; // двигатель
int val_2;
void setup(void){
radio.begin();
radio.openWritingPipe(pipe);
}
void loop() {
val_1 = analogRead(potpin_1),val_1 = map(val_1, 0, 1023, 0, 127),msg[0] = val_1,radio.write(msg, 1);
val_2 = analogRead(potpin_2),val_2 = map(val_2, 0, 1023, 128, 255),msg[0] = val_2,radio.write(msg, 1);
}
Обзор на канале Э+М
Пример использования на канале Science Vetal
Вес:
38г.
Сообщения не найдены