4.3 Elektroden-Tastatur

Der MPR121 ist eine hervorragende Option, wenn Sie eine Vielzahl von Berührungsschaltern in Ihr Projekt integrieren möchten. Er verfügt über Elektroden, die mit Leitern erweitert werden können. Wenn Sie die Elektroden an einer Banane befestigen, können Sie diese in einen Berührungsschalter verwandeln.

Erforderliche Komponenten

Für dieses Projekt benötigen wir die folgenden Bauteile.

Es ist durchaus praktisch, gleich ein ganzes Kit zu kaufen, hier ist der Link:

Bezeichnung

ARTIKEL IM KIT

LINK

Kepler-Kit

450+

Kepler Kit

Sie können die Komponenten auch einzeln über die unten stehenden Links beziehen.

SN

KOMPONENTE

ANZAHL

LINK

1

Raspberry Pi Pico W

1

BUY

2

Micro-USB-Kabel

1

3

Steckbrett

1

BUY

4

Jumperkabel

Mehrere

BUY

5

MPR121 Modul

1

Schaltplan

sch_mpr121

Verdrahtung

wiring_mpr121

Code

Bemerkung

  • Öffnen Sie die Datei 4.3_electrode_keyboard.py im Verzeichnis kepler-kit-main/micropython oder kopieren Sie diesen Code in Thonny. Anschließend klicken Sie auf „Aktuelles Skript ausführen“ oder drücken einfach F5.

  • Vergessen Sie nicht, den „MicroPython (Raspberry Pi Pico)“-Interpreter in der rechten unteren Ecke auszuwählen.

  • Für detaillierte Anleitungen verweisen wir auf Code direkt öffnen und ausführen.

  • Sie benötigen die Bibliothek mpr121.py. Prüfen Sie, ob diese bereits auf dem Pico W hochgeladen wurde. Eine ausführliche Anleitung finden Sie unter 1.4 Bibliotheken auf den Pico hochladen.

from mpr121 import MPR121
from machine import Pin, I2C
import time

i2c = I2C(1, sda=Pin(6), scl=Pin(7))
mpr = MPR121(i2c)

# Überprüfen aller Tasten
while True:
    value = mpr.get_all_states()
    if len(value) != 0:
        print(value)
    time.sleep_ms(100)

Nachdem das Programm ausgeführt wurde, können Sie die zwölf Elektroden am MPR121 berühren, und die berührten Elektroden werden ausgegeben.

Sie können die Elektroden erweitern, um andere Leiter wie Obst, Draht, Folie usw. anzuschließen. Dies eröffnet Ihnen weitere Möglichkeiten zur Auslösung dieser Elektroden.

Funktionsweise?

In der mpr121-Bibliothek haben wir die Funktionalität in die Klasse MPR121 integriert.

from mpr121 import MPR121

Der MPR121 ist ein I2C-Modul, für dessen Initialisierung ein Satz I2C-Pins definiert werden muss. Zu diesem Zeitpunkt werden die Anfangszustände der Elektroden des Moduls aufgezeichnet. Falls die Elektroden erweitert werden, muss das Beispiel erneut ausgeführt werden, um die Anfangswerte zurückzusetzen.

from machine import Pin, I2C
i2c = I2C(1, sda=Pin(6), scl=Pin(7))
mpr = MPR121(i2c)

Verwenden Sie dann mpr.get_all_states() um zu lesen, ob die Elektroden ausgelöst werden. Wenn die Elektroden 2 und 3 ausgelöst werden, wird der Wert [2, 3] erzeugt.

while True:
    value = mpr.get_all_states()
    if len(value) ! = 0:
        print(value)
    time.sleep_ms(100)

Sie können auch mpr.is_touched(electrode) verwenden, um eine bestimmte Elektrode zu überprüfen. Wenn sie ausgelöst wird, gibt die Methode True zurück, andernfalls False.

while True:
    value = mpr.is_touched(0)
    print(value)
    time.sleep_ms(100)