banner

Новости

Mar 12, 2023

Как использовать банан в качестве сенсорного ввода для Raspberry Pi Pico

Коснитесь банана, чтобы управлять светодиодом.

Емкостное касание — это простой способ обнаружения действий пользователя путем измерения диэлектрической проницаемости. Если оно отличается от базового измерения, его можно использовать в качестве входных данных. Раньше мы использовали сенсорный датчик MPR121 для запуска события с помощью Raspberry Pi Pico. MPR121 — это надежный датчик Stemma QT, который поставляется в различных форм-факторах для зажимов типа «крокодил» и стандартных проводов. Нам он настолько понравился, что мы включили его в наш список лучших дополнений Stemma QT и Grove. Но есть ли способ сделать это без использования сенсорной платы?

Используя всего лишь кусок провода и резистор сопротивлением 1 МОм в банане, мы можем создать собственный сенсорный интерфейс и вкусно перекусить. В этом практическом руководстве мы будем использовать банан для включения и выключения светодиода.

Почему что-то такое простое? Научиться включать и выключать светодиод — лучший способ понять, как работает каждая часть вашего проекта. Конечно, мы могли бы превратить банан в клавишу пробела и поиграть в Flappy Birds, использовать его, чтобы открыть окно браузера и «рик-роллить» друга, или запустить робота, чтобы он безумно рванул к двери. Но прежде чем мы сможем это сделать, нам нужно понять, как и почему все работает, и скромный светодиод — дешевый и простой способ сделать это.

Схема состоит из двух частей: входа и выхода. Вход представляет собой банан (опционально), подключенный к GPIO 16 на Raspberry Pi Pico с помощью длинной перемычки. GPIO 16 также имеет резистор сопротивлением 1 МОм для подключения к GND. Это понижающий резистор, который гарантирует, что на выводе GPIO будет постоянный опорный сигнал 0 В. Без этого ввод был бы ошибочным. Этот процесс можно повторить для нескольких входов, единственными ограничениями являются контакты GPIO, резисторы сопротивлением 1 МОм и бананы.

Выход представляет собой простой светодиод с длинной ножкой (анод), подключенной к GPIO 15, и короткой ножкой (катод), подключенной к GND через резистор сопротивлением 100 Ом.

Банан можно заменить чем-нибудь проводящим. В качестве исходных материалов можно использовать алюминиевую фольгу, пластилин и другие фрукты/овощи. Вы также можете отказаться от кулинарных затрат на оголенные провода. В некоторых случаях это работает лучше.

Постройте схему и дважды проверьте свои соединения, прежде чем двигаться дальше.

Мы выбрали CircuitPython для этого проекта по двум ключевым причинам. Во-первых, его так легко использовать и понимать. Наш код легко читается, отлаживается, и мы можем написать его на любом устройстве, даже на Chromebook. Во-вторых, CircuitPython имеет модуль Touchio, который позволяет легко создавать сенсорные вводы с использованием GPIO. Но прежде чем мы сможем начать проект, нам нужно написать последнюю версию CircuitPython для Raspberry Pi Pico.

1.Перейдите на официальную страницу CircuitPython для Raspberry Pi Pico.изагрузите последнюю версию прошивки UF2. На момент написания это была CircuitPython 8.10. Мы выбрали Raspberry Pi Pico, поскольку нам не нужен Wi-Fi, но этот проект можно использовать для запуска веб-мероприятия, для этого вам понадобится Raspberry Pi Pico W.

2.Удерживая кнопку BOOTSEL, подключите Raspberry Pi Pico к компьютеру.Появится новый диск RPI-RP2.

3.Скопируйте загруженный файл CircuitPython UF2 в RPI-RP2. Это запишет CircuitPython во внутреннюю флэш-память Pico. Появится новый диск CIRCUTPY.

Для написания кода мы использовали Thonny в Windows 10. Вы можете использовать любой текстовый редактор по вашему выбору, но у Thonny отличная интеграция с CircuitPython (и MicroPython), что упрощает его использование. И самое главное, он бесплатен и его легко установить на устройства Windows, macOS и Linux.

1.Загрузите и установите Тонниесли у тебя его еще нет.Thonny — редактор Python, охватывающий Python 3, MicroPython и CircuitPython.

2.Откройте Thonny и выберите «Инструменты >> Параметры».

3.Выберите «Интерпретатор», затем установите интерпретатор CircuitPython, установите автоматический порт и нажмите «ОК».Теперь Тонни подключится к Pico, на котором работает CircuitPython.

> Open and select the CircuitPython device. Then select code.py. /strongCode.py is used by CircuitPython as the main file for a project. It is set to auto-run when the Pico is powered up./p>

> Options. Select Interpreter, then set the interpreter as CircuitPython, port to automatic, and click OK. Click on File >> Open and select the CircuitPython device. Then select code.py. Delete any code in code.py. Import four modules of code necessary for the project to work. Create an object, led, and set the GPIO pin to GP15, and then set it to be an output. Create an object, led_state and store the integer value 0 inside of it. Create an object, touch_pin Create a loop to continually run the code. Inside the loop create a print function that will report the current state of the touch input pin. Write a conditional test to check if the input has been touched, and that the LED is turned off. Set the LED to turn on, then update the led_state object to 1, . Sleep for half a second Create a conditional test to check if the input has been touched and that the LED is currently on. Toggle the LED off, update the led_state object pause for half a second. Outside of the conditional tests, but still inside the loop, pause the code for 0.1 seconds. Save the code to code.py on the CircuitPython device click on Stop and then Run. Touch the banana to toggle the LED on / off./strong>
ДЕЛИТЬСЯ