Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2019 » Май » 28 » Передача информации в микросхему (analogRead)
19:39
Передача информации в микросхему (analogRead)

Передача информации в микросхему (analogRead)

Про джойстик было тут:
https://akostina76.ucoz.ru/blog/2019-01-09-5606

А это текст,  который определяет, в какую сторону его наклонили:
byte ScanJoyStick()
{
byte Direction = JOYSTICK_RELEASED;
unsigned int X_Val = analogRead(JOYSTICK_X_PIN);
unsigned int Y_Val = analogRead(JOYSTICK_Y_PIN);

if ((Y_Val >= 900) && (X_Val >= 400))
{
Direction = JOYSTICK_UP_;
}
else if ((Y_Val <= 400) && (X_Val >= 400))
{
Direction = JOYSTICK_DOWN_;
}
else if ((Y_Val >= 400) && (X_Val >= 900))
{
Direction = JOYSTICK_RIGHT_;
}
else if ((Y_Val >= 400) && (X_Val <= 400))
{
Direction = JOYSTICK_LEFT_;
}

return Direction;
}
Я решила подключить джойстик отдельно и посмотреть, что он выдаёт со своих контактов при повороте туда-сюда.
Подключение питания, землю и провода с координатой X:

Если подключить вольтметр и посмотреть общее падение напряжения на светодиоде и резисторе, то выясниться, что в нейтральном положении это 1.96 вольт. Если джойстики наклонить вправо, то светодиод будет гореть намного ярче, а падение напряжения будет 3 вольта. Если наклонить влево, то яркость светодиода снизится, но почти незаметно. Будет 1.91 вольт.

Т.е передача информации явно идёт через изменение передаваемого напряжения. Отсюда:
http://arduino.ru/Reference/AnalogRead

Функция считывает значение с указанного аналогового входа. Большинство плат Arduino имеют 6 каналов (8 каналов у платы Mini  и Nano, 16 у Mega) c 10-битным аналого-цифровым преобразователем (АЦП). Напряжение  поданное на аналоговый вход, обычно от 0 до 5 вольт будет преобразовано в значение от 0 до 1023, это 1024 шага с разрешением 0.0049 Вольт. Разброс напряжение и шаг может быть изменен функцией analogReference().

Считывание значение с аналогового входа занимает примерно 100 микросекунд (0.0001 сек), т.е. максимальная частота считывания приблизительно 10,000 раз в секунду.
Если 5 вольтам соответствует возвращаемое значение 1023, то 3 вольтам соответствует (3*1023/5) 614 (которое не 900…), А 1.96 вольтам соответствует 401 (которое вполне подходит.
Как бы то ни было, микросхема получает какое-то напряжение из подключенного к ней модуля и переводит значение в цифру. Цифру уже можно как-то обрабатывать в программе.

Просмотров: 178 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz