Контроллеры панели управления малины: ir дистанционный счетчик событий

Контроллеры панели управления малины: ir дистанционный счетчик событий
Контроллеры панели управления малины: ir дистанционный счетчик событий
Anonim

Построение контроллеров Raspberry Pi: счетчик удаленных событий IR

Предыдущие статьи в серии контроллеров малины

Постройте кнопочный переключатель малины Pi

Постройте светодиодный фонарик

Построить контроллер движения постоянного тока DC

вступление

Я изучаю электрические возможности модулей smallBits в течение года, и они отлично подходят для быстрого создания электронных гаджетов и устройств. Я использовал эти удивительные электронные модули в нескольких курсах карьеры и технического образования (CTE), которые преподаю в местных вузах Алабамы и в колледже. Я также предоставил несколько проектов littleBits в моей недавней книге Arduino Electronics Blueprints, изданной Packt Publishing. В этой книге проекты littleBits иллюстрируют основные методы сопряжения схем для создания удивительных устройств Arduino.

Библиотека модулей smallBits позволяет легко создавать разнообразные электронные устройства: не требуется пайка электронных компонентов на перфорациях или печатных платах. Два основных требования к использованию littleBits - это желание веселиться и быть творческими. В этой продолжающейся серии Building Raspberry Pi Controller вы узнаете, как модули smallBits можно подключить к RPi, построив простой счетчик активных событий IR Remote. Блок-схема нашего счетчика IR-событий показана на рисунке 1. Модули littleBits и электронные компоненты, необходимые для построения счетчика, показаны в списке деталей проекта.

Image
Image

Рисунок 1. Электрическая электроника и встроенные аппаратные средства, необходимые для создания ИК-счетчика событий

Список деталей проекта

  • Малина Pi (модель A +, B, B + или Pi 2)
  • (Q1) 2N2222 NPN транзистор или эквивалент
  • CNY74-4H-ND оптоизолятор IC (16-контактный DIP-пакет)
  • (R1) 220 Ом резистор (красный, красный, коричневый, золотой), 1/4 Вт, 5%
  • (R2) 470Кило-омный резистор (желтый, фиолетовый, желтый) 1/4 Вт, 5%
  • (R3) 1Megohm резистор (коричневый черный, зеленый), 1 / 4W, 5%
  • Малиновый Pi Cobbler или эквивалент
  • бит бит бит бит
  • пульт дистанционного управления littleBits
  • Проигрыватель прототипов x 2
  • монтажная плата littleBits
  • беспаечный макет
  • провода с перемычкой (ручная разметка 22 AWG (American Wire Gauge)) сплошные провода или проволочные провода Adafruit ID продукта: 153)
  • (VCC1) 6VDC Аккумулятор
  • 9V Батарея и кабель или эквивалент

Маленькие модули

Чтобы сделать счетчик IR-событий, вы будете использовать модули littleBits. Маленькие биты - это красочные электронные модули, которые обеспечивают определенные электрические функции для устройств и гаджетов. Объединяя модули уникальными и творческими способами, можно создать интересные инновационные электронные устройства и гаджеты. Raspberry Pi позволит отображать информацию о электрической функции модуля littlebits на мониторе, используя простые проводные соединения и язык программирования Python.

Image
Image

Рисунок 2. Модули littleBits поставляются в различных электрических устройствах и функциях

Есть три металлических контакта, которые позволяют электронным модулям littleBits работать. Они состоят из следующих имен сигналов:

  • vcc (сигнал мощности 5 В)
  • сиг (электрический сигнал)
  • gnd (электрическое заземление)

Электронные модули littleBits включают в себя пластиковые битовые карты, которые имеют три металлических штыря для обеспечения электрических соединений. Электрические соединения bitSnap показаны на следующем рисунке.

Image
Image

Рисунок 3. Сердцем BitSnap является электрическое соединение vcc, sig и ground

Чтобы уменьшить ошибки при создании гаджета или устройства, небольшие магниты размещаются внутри bitBnaps маленьких битов. Электронные модули будут подключаться друг к другу при правильном подключении. Неправильные соединения электронных модулей будут отталкивать друг друга. Модули littleBits, представленные в списке деталей проекта этой статьи, будут использованы для создания счетчика удаленных событий IR. В качестве ссылки здесь приведены модули littleBits, которые вы будете использовать для проекта.

Image
Image

Рисунок 4. Модули littleBts для счетчика удаленных событий IR

ИК-датчик TSOP382

Пульт дистанционного управления littleBits - это электронный датчик, способный обнаруживать инфракрасные (ИК) сигналы. Для быстрого создания счетчика событий будет использоваться электронный модуль littleBits. Пульт дистанционного пуска имеет инфракрасный датчик (TS0P382) и схему предварительного усилителя, припаянную к небольшой печатной плате (pcb). Датчик TSOP382 представляет собой схему ИК-приемника, упакованную внутри небольшого пакета из трех свинцовых эпоксидных компонентов. При обнаружении ИК-сигнала датчик TSOP382 будет генерировать ряд бинарных импульсов.

В дополнение к инфракрасному датчику TSOP382, дистанционный триггерный модуль litleBits состоит из нескольких усилителей (операционных усилителей) и транзисторов. Удаленные триггерные операционные усилители используются для формирования сигнала низкого уровня сигнала и буферизации сигналов внутреннего цифрового сигнала. Транзисторы обеспечивают небольшое усиление усиления и выходное реле для удаленного триггерного модуля. Полную схему схемы удаленного триггерного модуля можно найти на веб-сайте littleBits.

Подключение удаленного триггерного модуля

При понимании модулей littleBits, дистанционного триггера и инфракрасного датчика TSOP382 вы готовы начать проект RPi. На следующем рисунке вы увидите схему подключения, показывающую, как подключить пульт дистанционного управления littleBits к RPi. Используя материалы, представленные в списке деталей проекта, создайте схему удаленного триггера - RPi. В качестве дополнительной ссылки я включил схему принципиальной схемы интерфейса для продвинутого производителя электроники.

Image
Image

Рисунок 5. Схема подключения удаленного триггера

Image
Image

Рисунок 6. Схема схемы интерфейса дистанционного триггера

Трюк, связанный с подключением удаленного триггерного модуля к RPi, заключается в использовании прото-модуля littleBits. Прото-модуль представляет собой специальную монтажную плату, которая позволяет подключать электрические, электронные компоненты и схемы к модулям littleBits. Ниже представлен более близкий вид прото-модуля.

Image
Image

Рисунок 7. Прото-модуль littleBits

Прото-модуль будет использоваться для работы модуля с номерами маленьких битов, взяв двоичные данные RPi, чтобы увеличить значение на двухзначном семисегментном светодиодном дисплее. Перед тем, как перейти на стадию тестирования пульта дистанционного управления, проверьте наличие ошибок в проводке. Если у вас нет ошибок в проводке, загрузите тестовый код Python для проверки интерфейса удаленного триггера на RPi.

Тестирование пульта дистанционного триггера

Вы создали свою дистанционную схему интерфейса триггера и теперь готовы ее протестировать. Для обеспечения правильной работы схемы требуется небольшой тестовый код Python. Ниже приведен тестовый код. Код теста Python можно ввести в LXTerminal, открыв редактор nano с помощью команды linux ~ sudo nano remotetrigger.py. Кроме того, код Python можно сохранить на SD-карте RPi, нажав кнопку кода ниже.

С помощью пульта дистанционного тестового кода Python, введенного в терминал LX, введите команду Linux sudo python remotetrigger.py после подсказки на экране. Прикрепите батарею 9V и кабель к силовому модулю littleBits. Примените питание к цепи, сдвинув выключатель питания в положение включения. Светодиодный индикатор встроенного питания будет включен. Затем возьмите обычный ИК-пульт дистанционного управления и наведите его на пульт дистанционного управления littleBits. Нажмите любую кнопку на ИК-пульте дистанционного управления и обратите внимание на тестовый код Python, отображающий количество кнопок на мониторе, как показано на рисунке 8. Поздравляем вас с созданием вашей дистанционной схемы интерфейса триггера! Отключите питание от цепи интерфейса пульта дистанционного управления.


#################################### # Remote Trigger Test Code # # Jan 1/15/16 # # by Don Wilcher # #################################### import RPi. GPIO as GPIO import time GPIO.setmode(GPIO. BCM) button = 4 GPIO.setup(button, GPIO. IN) count = 0 while True: inputValue = GPIO.input(button) if (inputValue == True): count = count +1 print("Button pressed " +str(count) + " times:") time.sleep(.3) # time.sleep(.01) #Listing 1. Remote Trigger Python Test Code

Тестовый код Python

Image
Image

Рисунок 8. Правильно работающая схема интерфейса дистанционного триггера

Финальная сборка оборудования

Вы успешно создали схему интерфейса удаленного триггера и готовы к окончательной аппаратной сборке проекта. Как обсуждалось ранее, второй прото-модуль будет использоваться для подключения модуля numberBits к RPi. Для подключения проводки требуется транзисторная цепь. В предыдущем проекте Building RPi Controllers я обсуждал транзисторный переключатель и то, как он управляет небольшим двигателем постоянного тока. Тот же метод электропроводки, который используется в проекте контроллера DC-контроллера для обнаружения объекта, будет использоваться для работы с номером модуля smallBits. Остальные компоненты, оставшиеся из списка деталей проекта, постройте схему драйвера номера транзистора-littleBits, используя следующую схему подключения.

Image
Image

Рисунок 9. Полная схема проводки событий удаленного ИК-пульта. Примечание. Схема транзистора с номером транзистора-маленького разряда показана в правой части макета

Опять же, я включил принципиальную схему схемы драйвера в качестве дополнительной справки для продвинутого производителя электроники.

Image
Image

Рисунок 10. Схема возбуждения номера битов-транзисторов

Прежде чем добавлять окончательный код Python в RPi, тщательно проверьте схему подключения транзистора. При отсутствии ошибок проводки вы завершили окончательную сборку счетчика IR Event. Чтобы обеспечить жесткую схему плат для модулей smallBits, вы можете разместить их на монтажной плате. Я предоставил фотографию своего собранного ИК-счетчика событий с помощью монтажной платы littleBits. Единственным оставшимся активным процессом является установка и запуск кода Python на основе удаленного удаленного события.

Image
Image

Рисунок 11. Смонтированный ИК-счетчик событий. Монтажная плата обеспечивает жесткую платформу для модулей littleBits

Счетчик удаленных событий IR

Заключительный шаг к выполнению этого классного проекта контроллера RPi - это установка и запуск кода Python. Код Python, показанный ниже, представляет собой повторное использование программы из проекта pushbutton. Имена переменных были изменены, чтобы отражать физические компоненты, подключенные к RPi. Код работает, нажимая любую кнопку на обычном ИК-пульте, чтобы увеличить значение на модуле номера маленьких битов. При каждой кнопке, нажатой на пульте дистанционного управления, отображение номера увеличит его значение на единицу.

Вся программа Python может быть напечатана на LXTerminal, открыв редактор nano с помощью команды linux ~ sudo nano IREventCounter.py. Кроме того, программу python можно сохранить на SD-карте RPi, нажав кнопку кода ниже. С помощью счетчика событий IR-кода Python, введенного в терминал LX, введите команду Linux sudo python IREventCounter.py после подсказки на экран. Возьмите ИК-пульт дистанционного управления и наведите его на дистанционный триггер. Нажмите любую кнопку на пульте дистанционного управления, и модуль numberBits начнет увеличиваться. Поздравляем с успешным построением еще одного контроллера RPI! У вас теперь есть счетчик событий для проведения экспериментов. RPi также печатает состояние счетчика на экране монитора при каждом нажатии кнопки. На рисунке 12 показано, как RPi печатает состояние счетчика чисел littleBits. Я предоставил небольшой видеоролик, показывающий счетчик IR-событий в действии.

Image
Image

Рисунок 12. RPi отображает состояние счетчика IR событий на экране монитора

Исследуйте работу модуля numberBits, перемещая слайд-переключатель в различные функциональные положения на плате. Как всегда, записывайте свои наблюдения в лабораторный ноутбук. Приложение, которое приходит на ум для ИК-счетчика удаленных событий, ведет счет для игры или спортивного события, но вы можете исследовать другие приложения, используя этот удивительный электронный счетчик. В следующий раз мы рассмотрим, как читать аналоговые данные с помощью RPi.


################################### # IR Remote Event Counter # # Jan 1/15/16 # # by Don Wilcher # ################################### # installing Python Libraries import time import RPi. GPIO as GPIO # defining RPi I/O pins GPIO.setmode(GPIO. BCM) number = 18 button = 4 # setup for LED and button definitions as I/O pins GPIO.setup(number, GPIO. OUT) GPIO.setup(button, GPIO. IN) # Continuous loop while True: inputValue = GPIO.input(button) #assigning button value to inputValue variable if (inputValue== True): #Conditional test of inputValue variable GPIO.output(number, GPIO. HIGH) #if inputValue variable is true, increment littleBits number by 1 print("COUNTER_TRIGGERED") # print state of Counter time.sleep(0.5) # wait 500ms GPIO.output(number, GPIO. LOW) # if inputValue variable is false, don't increment littleBits number print("COUNTER_NOT_TRIGGERED")# print state of Counter #Listing 2. The IR Remote Event Counter Python Code

Код Python

Следующая статья в серии: Построение контроллеров малины Pi Часть 5: Чтение аналоговых данных с помощью RPi

Попробуйте этот проект сами! Получить спецификацию.