Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
4.3 - Elektroden-Tastatur
Der MPR121 ist eine gute Wahl, wenn Sie Ihrem Projekt eine Vielzahl von Berührungsschaltern hinzufügen möchten. Das Modul besitzt Elektroden, die mit Leitern erweitert werden können. Verbinden Sie die Elektroden beispielsweise mit einer Banane, verwandeln Sie diese in einen Berührungsschalter.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten:
Einen Komplettbausatz zu kaufen ist sicherlich praktisch, hier ist der Link dazu:
Name |
ARTIKEL IN DIESEM KIT |
KAUF-LINK |
---|---|---|
Kepler-Kit |
450+ |
Alternativ können Sie die Teile auch einzeln über die folgenden Links beziehen:
SN |
KOMPONENTENBESCHREIBUNG |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Schaltplan
Verdrahtung
Code
Bemerkung
Die Datei
4.3_electrode_keyboard.ino
finden Sie im Verzeichniskepler-kit-main/arduino/4.3_electrode_keyboard
.Alternativ können Sie den Code in die Arduino IDE kopieren.
Vergessen Sie nicht, das richtige Board (Raspberry Pi Pico) und den korrekten Port auszuwählen, bevor Sie auf Hochladen klicken.
Die Bibliothek
Adafruit MPR121
wird hier verwendet. Sie können sie über den Bibliotheksmanager installieren.
Sobald das Programm läuft, können Sie die zwölf Elektroden auf dem MPR121-Modul berühren, und der Berührungsstatus wird in einem 12-Bit-Booleschen Array gespeichert und im seriellen Monitor angezeigt.
Wenn die erste und die elfte Elektrode berührt werden, wird 100000000010
ausgegeben.
Sie können die Elektroden durch Anschluss anderer Leiter wie Früchte, Draht, Folie usw. erweitern. Dadurch eröffnen sich Ihnen weitere Möglichkeiten, diese Elektroden zu betätigen.
Wie funktioniert es?
Initialisieren Sie das MPR121
-Objekt. Ab diesem Zeitpunkt werden die Zustände der Modul-Elektroden als Ausgangswerte gespeichert.
Wenn Sie die Elektroden erweitern, müssen Sie das Beispiel neu starten, um die Ausgangswerte zurückzusetzen.
#include "Adafruit_MPR121.h"
Adafruit_MPR121 cap = Adafruit_MPR121();
void setup() {
Serial.begin(9600);
int check = cap.begin(0x5A);
if (!check) {
Serial.println("MPR121 not found, check wiring?");
while (1);
}
Serial.println("MPR121 found!");
}
Erhält den Wert der aktuellen Elektrode, es wird ein 12-Bit-Binärwert erhalten. Wenn Sie die erste und die elfte Elektrode berühren, erhält sie „100000000010“.
// Get the currently touched pads
currtouched = cap.touched();
Determine if the electrode state has changed.
void loop() {
currtouched = cap.touched();
if (currtouched != lasttouched) {}
// reset our state
lasttouched = currtouched;
}
Wenn eine Änderung des Elektrodenzustands erkannt wird, werden die Werte von currtouched
bitweise im Array touchStates[12]
gespeichert. Schließlich wird das Array ausgegeben.
if (currtouched != lasttouched) {
for (int i = 0; i < 12; i++) {
if (currtouched & (1 << i)) touchStates[i] = 1;
else touchStates[i] = 0;
}
for (int i = 0; i < 12; i++){
Serial.print(touchStates[i]);
}
Serial.println();
}