Оглавление:

Руководство по использованию одноконтактной клавиатуры Raspberry Pi: 9 шагов
Руководство по использованию одноконтактной клавиатуры Raspberry Pi: 9 шагов

Видео: Руководство по использованию одноконтактной клавиатуры Raspberry Pi: 9 шагов

Видео: Руководство по использованию одноконтактной клавиатуры Raspberry Pi: 9 шагов
Видео: Аксессуары к одноконтактным интерфейсным промежуточным реле 2024, Июль
Anonim
Руководство по использованию одноконтактной клавиатуры Raspberry Pi
Руководство по использованию одноконтактной клавиатуры Raspberry Pi

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: ЭТО РУКОВОДСТВО ПО ИСПОЛЬЗОВАНИЮ ПРОДУКТА С ОТКРЫТЫМ ИСТОЧНИКОМ: КЛАВИАТУРЫ С ОДНИМ ПИН. ЭТО НЕ ПРОЕКТ «Сделай сам». ЕСЛИ ВЫ ХОТИТЕ СОЗДАТЬ ПЛАТЫ САМОСТОЯТЕЛЬНО, ФАЙЛЫ EAGLE МОЖНО НАЙТИ В КОНЦЕ РУКОВОДСТВА

Что такое клавиатура с одним контактом?

One Pin Keypad значительно упрощает использование матричной клавиатуры и позволяет зарезервировать ваши драгоценные контакты ввода / вывода для других целей. Для 16-кнопочной матричной клавиатуры обычно требуется 8 цифровых входов на микроконтроллер или одноплатный компьютер. Самые популярные Arduinos ограничивают вас только 14 цифровыми контактами, поэтому 16-кнопочная клавиатура оставляет вам только 6 контактов для остальной части вашего проекта. Эта нехватка ресурсов может привести к дорогостоящему компромиссу при проектировании или более дорогостоящему обновлению микроконтроллера. Модуль однополюсной клавиатуры устраняет необходимость во всех этих цифровых входах. Как следует из названия, клавиатура с одним контактом использует только один контакт (аналоговый вход) плюс соединения GND и VCC, поэтому подключить клавиатуру совсем несложно! Для пользователей Raspberry Pi (целевой аудитории этого руководства) также требуется аналого-цифровой преобразователь ADS1115, который действительно легко подключить. Пакет Python с одноконтактной клавиатурой (входит в комплект) также упрощает программирование, необходимое для обработки ввода с клавиатуры, экономя вам больше времени и усилий.

Чтобы ознакомиться с руководством по использованию Arduino, щелкните здесь.

Шаг 1: Соберите все детали

Собери все детали!
Собери все детали!

Чтобы начать работу с платой One Pin Keypad, вам понадобятся:

  • Плата с одноконтактной клавиатурой
  • Arduino с некоторым вкусом (в этом случае использовалась Arduino Nano)
  • 3 соединительных кабеля M / F,
  • 4 соединительных кабеля M / M ИЛИ еще 4 соединительных кабеля M / F, в зависимости от типа разъемов на вашем Raspberry Pi
  • 16-кнопочная мембранная клавиатура
  • Макетная плата (здесь используется очень маленькая)
  • Модуль ADS1115 (от Adafruit или его клона)
  • Raspberry Pi с подключением к Интернету и ОС Raspbian (я использовал Stretch)
  • Аксессуары для Raspberry Pi (кабель HDMI, блок питания, ключи, монитор и т. Д., В зависимости от вкуса вашего Raspberry Pi)

Шаг 2: Электромонтаж

Электропроводка!
Электропроводка!
Электропроводка!
Электропроводка!

Подключите одноконтактную клавиатуру в соответствии со схемой Фритзинга, фотографией или обоими, в зависимости от того, что вам больше нравится.

Обратите внимание: примечание на диаграмме Fritzing представляет собой одноконтактную клавиатуру (а аббревиатуры GND VCC и AOUT обозначают распиновку платы одноконтактной клавиатуры)

Шаг 3. Установка пакета Python

Установка пакета Python!
Установка пакета Python!
Установка пакета Python!
Установка пакета Python!

Откройте окно терминала и введите следующие команды:

sudo apt-get update

тогда

pip3 установить Progetto-One-Pin-Keypad

для установки пакета и его необходимых зависимостей

Шаг 4: Установка примеров

Установка примеров
Установка примеров

Я создал папку dev для размещения репозитория в home / pi, если вы хотите сделать то же самое (это совершенно необязательно), выполните эту команду:

mkdir dev

затем, чтобы перейти в папку, введите:

cd dev

Наконец, чтобы клонировать репозиторий, введите следующую команду:

git clone

Шаг 5: Включение I2C

Включение I2C
Включение I2C
Включение I2C
Включение I2C
Включение I2C
Включение I2C

ADS1115 ADC (аналого-цифровой преобразователь) использует протокол I2C (Inter-Integrated Circuit) для связи с Raspberry Pi, по умолчанию шина I2C отключена, чтобы включить ее, введите:

sudo raspi-config

который перенесет вас в синее окно конфигурации, оттуда с помощью клавиш со стрелками и клавиши ввода выберите

  1. Параметры интерфейса
  2. I2C
  3. Затем спуститесь к

Совет: ссылка на скриншоты выше может немного помочь! Если вы все еще застряли, не бойтесь! Обратитесь к этому удивительному практическому руководству от Sparkfun!

Шаг 6: Запустите калибровку пороговых значений

Запустите Calibratethresholds!
Запустите Calibratethresholds!

Перейдите в репозиторий, если вы еще этого не сделали, и перейдите в папку примеров, используя следующие команды:

Совет: введите «cd Prog», затем нажмите Tab, имя репозитория должно автоматически заполниться!

cd Progetto_One_Pin_Keypad_Python_Package

затем введите:

CD примеры

Затем запустите пример калибровки порогов, используя эту команду:

python3 откалибровать пороги

и следуйте инструкциям, отображаемым на консоли, чтобы откалибровать плату. После калибровки всех кнопок проверьте свои новые аналоговые значения, чтобы увидеть, работают ли они, нажав некоторые кнопки при появлении запроса «Начать». Если новые значения окажутся неточными, используйте Ctrl C, чтобы убить программу и запустить ее. опять таки.

Пример калибровки должен предоставить вам 2 строки кода, которые вам понадобятся в следующем примере, убедитесь, что консоль открыта и / или скопируйте их обе!

Шаг 7. Измените, а затем запустите Readkeypadwithtimeout

Измените, а затем запустите Readkeypadwithtimeout
Измените, а затем запустите Readkeypadwithtimeout
Измените, а затем запустите Readkeypadwithtimeout
Измените, а затем запустите Readkeypadwithtimeout
Измените, а затем запустите Readkeypadwithtimeout
Измените, а затем запустите Readkeypadwithtimeout

Теперь, когда ваша клавиатура One Pin откалибрована, пришло время использовать ее. Хотя вы можете сделать это из командной строки с помощью vi, я лично предпочитаю использовать IDE, например IDLE.

Откройте IDLE (вам понадобится версия python3) и измените следующие строки:

Помните тот массив аналоговых значений, который вы скопировали? Замените строку 13 (см. Ниже) новыми откалиброванными аналоговыми значениями.

# пример: my_thresholds = [здесь будут калиброванные значения]

заменяется на это:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Затем добавьте следующую строку кода после строки 23 (см. Ниже):

keypad.useCalibratedThresholds (my_thresholds)

добавляется после строки 23:

# например: keypad.use_calibrated_thresholds (имя вашего массива)

чтобы в итоге строки с 22 по 24 выглядели так:

# Если используются откалиброванные значения, используйте следующие_калиброванные_пороги:

# например: keypad.use_calibrated_thresholds (имя вашего массива)

keypad.use_calibrated_thresholds (my_thresholds)

После этого запустите код и проверьте его, нажав несколько кнопок! Не стесняйтесь адаптировать пример эскиза к своим проектам! Помните, что read_keypad_with_timeout возвращает нажатую кнопку как символ, а время ожидания устанавливается в миллисекундах! Если вам не нужен тайм-аут, используйте константу keypad. NO_TIMEOUT.

Шаг 8: Как работает одноконтактная клавиатура

Как работает клавиатура с одним контактом
Как работает клавиатура с одним контактом
Как работает клавиатура с одним контактом
Как работает клавиатура с одним контактом

Большая часть конструкции One Pin Keypad основана на реализации Hari Wiguna делителя напряжения для получения уникального аналогового значения для каждой клавиши на 16-контактной клавиатуре. Дизайн One Pin Keypad остается в основном таким же, с некоторыми изменениями. Если вам нужен отличный учебник о том, как работает клавиатура One Pin, не стесняйтесь посмотреть потрясающее видео Хари Вигуны здесь!

Шаг 9: Заключение

Заключение
Заключение

В этом руководстве мы рассказали, как начать работу с платой One Pin Keypad. Теперь любопытные из вас, возможно, задались вопросом, почему пример эскиза readKeypadInstantaneous никогда не использовался, причина в том, что он не так полезен, потому что кнопка должна быть нажата при ее вызове, функция readKeypadInstantaneous () используется в первую очередь для упрощения readKeypadWithTimeout () в библиотеке. Если это бросается в глаза, не стесняйтесь испытать его на себе. Удачного взлома!

Если у вас есть какие-либо вопросы, оставьте комментарий ниже или напишите нам по адресу [email protected]. С уважением, Progetto Company P. S. Как и обещал, ссылка на Eagle Files платы.

Рекомендуемые: