Bekanntes Problem: expected ')' before ',' token

Hallo alle miteinander,

Ich bin durch ein Projekt in der Uni (Folkwang; Industrial Design) und zwar dem Entwurf einer Lampe, fast schon gezwungen mit Arduino diese zu "programmieren", bin daher auch totaler Anfänger und habe so meine Schwierigkeiten mich in Arduino in relativ kurzer Zeit reinzuarbeiten. In der Gruppe mit meinen Kommilitonen habe ich es mittlerweile geschafft drei NeoPixel LED Streifen, mit jeweils 6 LEDs an ein Arduino Uno Board anzuschließen und diese auch zum leuchten zu bringen. Jetzt versuche ich mich gerade jeden dieser LED Streifen jeweils einen Piezo Sensor zuzuordnen um diese per Druck an und aus schalten zu können, ans Board sind die Sensoren schon angeschlossen, den Code jedoch dementsprechend zu bearbeiten stellt mich vor gewisse Herausforderungen. Aktuell habe ich ein bekanntes Problem und zwar wird mir die Fehlermeldung "expected ')' before ',' token" angezeigt, welche ich trotz vieler bestehender Forenbeiträge nicht beheben konnte. Vielleicht kann mir ja einer von euch helfen, dass ich wenigsten einen Schritt weiter komme.

der aktuelle Code:

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

int i=0;

#define PIN1 11 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define PIN2 10 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define PIN3 9  // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIXELS1 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS2 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS3 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define analogPin1 A0 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind 
#define analogPin2 A1 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define analogPin3 A2 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define PiezoSensor1 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt 
#define PiezoSensor2 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define PiezoSensor3 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define sensorValue // Bei Überschreitung des Schwellenwerts, Licht an/ aus 
#define sensorReading // 


Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800);

int sensorReading (analogPin1, A0);
int sensorReading (analogPin2, A1);
int sensorReading (analogPin3, A2); 

void setup() 
{
 pixels1.begin(); // Initialisierung der NeoPixel
 pixels2.begin(); // Initialisierung der NeoPixel
 pixels3.begin(); // Initialisierung der NeoPixel
}

void loop() 


{
pixels1.setPixelColor(i, pixels1.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind 
pixels2.setPixelColor(i, pixels2.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind 
pixels3.setPixelColor(i, pixels3.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind 
pixels1.show(); // Durchführen der Pixel-Ansteuerung
pixels2.show(); // Durchführen der Pixel-Ansteuerung
pixels3.show(); // Durchführen der Pixel-Ansteuerung

int sensorValue = analogRead(analogPin1, A0);
int sensorValue = analogRead(analogPin2, A1);
int sensorValue = analogRead(analogPin3, A2);
if(sensorValue > 100){
 tap = !tap;
}


delay (1);
i=i+1; // Die Variable "i" wird um eine Zahl vergrößert. Die neue Zahl "i" ist dann die nächste LED im Led-Ring
if (i==6) i=0; // Wenn die Variable den Wert 6 erreicht hat, wird die Variable auf den Wert "0" zurück gesetzt, da die Nummerierung der LEDs nur von 0 bis 5 geht.
}

Die Fehlermeldung:

Arduino: 1.8.9 (Mac OS X), Board: "Arduino/Genuino Uno"

Sketch_Pia_leuchtet_schonmal:29:30: error: expected ')' before ',' token
int sensorReading (analogPin1, A0);
                             ^
Sketch_Pia_leuchtet_schonmal:29:34: error: expected initializer before ')' token
int sensorReading (analogPin1, A0);
                                 ^
Sketch_Pia_leuchtet_schonmal:30:30: error: expected ')' before ',' token
int sensorReading (analogPin2, A1);
                             ^
Sketch_Pia_leuchtet_schonmal:30:34: error: expected initializer before ')' token
int sensorReading (analogPin2, A1);
                                 ^
Sketch_Pia_leuchtet_schonmal:31:30: error: expected ')' before ',' token
int sensorReading (analogPin3, A2); 
                             ^
Sketch_Pia_leuchtet_schonmal:31:34: error: expected initializer before ')' token
int sensorReading (analogPin3, A2); 
                                 ^
/Users/maximilianmueller/Desktop/Sketch_Pia_leuchtet_schonmal Kopie/Sketch_Pia_leuchtet_schonmal/Sketch_Pia_leuchtet_schonmal.ino: In function 'void loop()':
Sketch_Pia_leuchtet_schonmal:51:17: error: expected unqualified-id before '=' token
int sensorValue = analogRead(analogPin1, A0);
                ^
Sketch_Pia_leuchtet_schonmal:52:17: error: expected unqualified-id before '=' token
int sensorValue = analogRead(analogPin2, A1);
                ^
Sketch_Pia_leuchtet_schonmal:53:17: error: expected unqualified-id before '=' token
int sensorValue = analogRead(analogPin3, A2);
                ^
Sketch_Pia_leuchtet_schonmal:54:16: error: expected primary-expression before '>' token
if(sensorValue > 100){
               ^
Sketch_Pia_leuchtet_schonmal:55:3: error: 'tap' was not declared in this scope
  tap = !tap;
  ^
exit status 1
expected ')' before ',' token

Ich weiß meistens nicht genau was ich da tue, da ich der totale Anfänger bin und bin deswegen offen für Kritik und Hilfestellungen.

Max

Was genau sollen die vielen sensorReading(...) bedeuten, nach

#define sensorReading //

???
Irgendwas hast Du da nicht oder falsch verstanden.

Mamo61428:
... trotz vieler bestehender Forenbeiträge ...

Du hast es mit einem Syntaxfehler zu tun. Zeitsparender als das Suchen und Lesen von Forenbeiträgen ist, die Zeile bzw. den betreffenden Befehl zu identifizieren und in einer guten Doku nachzuschlagen. Leider ist die hiesige „Referenz“ keine echte - Arduino „kann“ vollständiges C/C++.

HTH

Gregor

@@gregor: Identifizierst Du andere Zeilen als ich bemängelt habe?

int sensorValue = analogRead(analogPin1, A0);
int sensorValue = analogRead(analogPin2, A1);
int sensorValue = analogRead(analogPin3, A2);

Bitte besorg' dir ein Einführungsbüch in C/C++

Mamo61428:
.....
Ich weiß meistens nicht genau was ich da tue, da ich der totale Anfänger bin und bin deswegen offen für Kritik und Hilfestellungen.

Dann solltest du dich unbedingt um die Grundlagen kümmern. Es gibt genügend Bücher und Webseiten auf denen du die Basics nachlesen und lernen kannst.
Und Google hilft dir dabei.

@zwieblum:
Dass dein Vorschlag

[color=blue]int sensorValue = analogRead(analogPin2, A1);[/color]

Mist ist, kann man leider nicht mit Hilfe eines C++ - Buchs erkennen.

Das Arduino-Konzept, bei Blink anfangend erstmal Beispiele nachzubauen, kann man durchaus auch anwenden. Parallel zum generellen Erweitern des Grundwissens natürlich.

Kaum jemand lernt heutzutage Lesen mit nichts außer einer Bibel.

Bitte lerne was "#define" macht

Grüße Uwe

Hi

Wie Du merkst, ist #define nicht so der Bringer.
Das ist eine reine Text-Ersetzung - so wird aus Deinem SensorRead(irgendwas,nochwas); ein (irgendwas,nochwas); weil Du SensorRead mit leer ersetzen lässt - und damit kann der Kompiler wohl nicht viel anfangen.

Dinge, Die konstant sind, auch so benennen:
const byte analogPin2=A1;

(natürlich die ganzen anderen Zeilen auch) - bei Pins reicht Dir BYTE, sofern Dein µC weniger als 256 nutzbare Beinchen hat - wird noch einige Jahre so sein - kannst also gerne BYTE benutzen.

Dann hätte ich die Streifen wohl 'am Stück' gemacht - wir reden von 18 LEDs und Jede ist einzeln ansprechbar, auch brauchst Du dann nur einen Pin für die ganzen LEDs - kann man in V2 vll. andenken.

Siehe Dir auch die Zeile über (unter?) der gemeldeten Fehlerzeile an - oft fehlt dort nur ein ; als Abschluss und die Zeile drunter wird daher fehlerhaft erkannt.

Was auch hilft:
Erschlage die Probleme EINZELN
LED-Geflacker klappt? Gut, LEDs raus auf dem Sketch, jetzt nur die Sensoren (Piezo-Taster).
Die klappen? Gut, dann Beides verheiraten!
Wenn man zuvor etwas aufgepasst hat, hat man zumindest keine identischen Pins benutzt :wink:
Die Zwischenschritte aber archivieren (ergibt ein ZIP) oder sonst als eigenen Sketch speichern - sonst hast Du die Arbeit der letzten Stunden ruck zuck gelöscht und bist wieder bei Null!!

MfG

Mal eine, wie ich finde, gute Fragestellung von einem Studierenden, erfordert wegen ihrer Seltenheit ein ausdrückliches Lob!

So mag es der Compiler (ich spreche hier ausdrücklich nicht von mir!):

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

int i=0;

#define NeoPixelPIN1 11 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NeoPixelPIN2 10 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NeoPixelPIN3 9  // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIXELS1 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS2 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS3 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define analogPin1 A0 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define analogPin2 A1 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define analogPin3 A2 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define PiezoSensor1 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define PiezoSensor2 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define PiezoSensor3 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define sensorValue // Bei Überschreitung des Schwellenwerts, Licht an/ aus
#define sensorReading //


Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(NUMPIXELS1, NeoPixelPIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(NUMPIXELS2, NeoPixelPIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel(NUMPIXELS3, NeoPixelPIN3, NEO_GRB + NEO_KHZ800);

int sensorValue1;
int sensorValue2;
int sensorValue3;
bool tap1;
bool tap2;
bool tap3;

void setup()
{
 pixels1.begin(); // Initialisierung der NeoPixel
 pixels2.begin(); // Initialisierung der NeoPixel
 pixels3.begin(); // Initialisierung der NeoPixel
}

void loop()


{
pixels1.setPixelColor(i, pixels1.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels2.setPixelColor(i, pixels2.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels3.setPixelColor(i, pixels3.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels1.show(); // Durchführen der Pixel-Ansteuerung
pixels2.show(); // Durchführen der Pixel-Ansteuerung
pixels3.show(); // Durchführen der Pixel-Ansteuerung

sensorValue1 = analogRead(analogPin1);
sensorValue2 = analogRead(analogPin2);
sensorValue3 = analogRead(analogPin3);
if(sensorValue1 > 100){
 tap1 = !tap1;
}
if(sensorValue2 > 100){
 tap2 = !tap2;
}
if(sensorValue3 > 100){
 tap3 = !tap3;
}


delay (1);
i=i+1; // Die Variable "i" wird um eine Zahl vergrößert. Die neue Zahl "i" ist dann die nächste LED im Led-Ring
if (i==6) i=0; // Wenn die Variable den Wert 6 erreicht hat, wird die Variable auf den Wert "0" zurück gesetzt, da die Nummerierung der LEDs nur von 0 bis 5 geht.
}

Deine Programmierfähigkeiten sind, wie schon erwähnt, ausbaufähig, aber das läßt sich ja bewerkstelligen :slight_smile:

DrDiettrich:
@@gregor: Identifizierst Du andere Zeilen als ich bemängelt habe?

Wie kommst Du darauf?

Ich habe lediglich die Fehlermeldung gelesen, nicht den Code. IMO gibt die Meldung genug Infos für das her, was ich geschrieben habe. Meinst Du, dass ich etwas falsches schreibe?

Gruß

Gregor

das mag jetzt zwar kompilieren, aber "machen" wird es nicht viel.

daher TO: WAS soll dein Programm dennschlussendlich machen?
Welche Reaktion soll bei einem Tastendruck außer dem umschalten einer Variable passieren?

Naja eigentlich soll durch Druck auf den Piezo nur der jeweilige LED Streifen (NeoPixel, jeweils 6 LEDs lang) angeschaltet bzw ausgeschaltet werden

@@Gregor: Wieso kommst Du mit einem unspezifischen "Syntaxfehler" daher, nachdem ich vorher schon den konkreten Identifier genannt habe, der Probleme macht? Ob der Fehler letztendlich mehr syntaktisch oder semantisch ist, hilft bei der Suche nicht wirklich weiter.

Vielen Dank dafür schonmal, es macht noch nicht ganz was ich will, leider sind werden damit auch noch nicht die Piezo Sensoren angesteuert, in ihrer Funktion als An/Aus Schalter, aber das bringt mich einen ganzen Schritt weiter und ich habe keine Fehlermeldung.
Ich habe leider nicht die Zeit mich in das Thema Arduino reinzuarbeiten, dass Projekt wurde uns sozusagen aufgezwungen, mangels anderer Wahlmöglichkeiten und als Designer liegen die Kompetenzen eher im Bereich Entwurf als in Entwicklung oder Umsetzung. Der Dozent kommt seinem Lehrauftrag auch nicht wirklich nach und ist selten anwesend, da wir alle andere Projekte/ Entwürfe haben können wir uns mangels Zeit und Wissen auch nicht gegenseitig helfen, wir versuchen das alles nur so gut wie möglich zu bestehen, danke auf jeden Fall für das entgegengebrachte Verständnis und die schnelle Hilfe

agmue:
Mal eine, wie ich finde, gute Fragestellung von einem Studierenden, erfordert wegen ihrer Seltenheit ein ausdrückliches Lob!

So mag es der Compiler (ich spreche hier ausdrücklich nicht von mir!):

#include <Adafruit_NeoPixel.h>

#ifdef AVR
#include <avr/power.h>
#endif

int i=0;

#define NeoPixelPIN1 11 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NeoPixelPIN2 10 // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NeoPixelPIN3 9  // Hier wird angegeben, an welchem digitalen Pin die WS2812 LEDs bzw. NeoPixel angeschlossen sind
#define NUMPIXELS1 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS2 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define NUMPIXELS3 6 // Hier wird die Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel angegeben
#define analogPin1 A0 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define analogPin2 A1 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define analogPin3 A2 // Hier wird angegeben, an welchem analogen Pin die Piezo Sensoren angeschlossen sind
#define PiezoSensor1 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define PiezoSensor2 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define PiezoSensor3 // Hier werden die einzelnen PiezoSensoren, den Analogen Pins hinzugefügt
#define sensorValue // Bei Überschreitung des Schwellenwerts, Licht an/ aus
#define sensorReading //

Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(NUMPIXELS1, NeoPixelPIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(NUMPIXELS2, NeoPixelPIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel(NUMPIXELS3, NeoPixelPIN3, NEO_GRB + NEO_KHZ800);

int sensorValue1;
int sensorValue2;
int sensorValue3;
bool tap1;
bool tap2;
bool tap3;

void setup()
{
pixels1.begin(); // Initialisierung der NeoPixel
pixels2.begin(); // Initialisierung der NeoPixel
pixels3.begin(); // Initialisierung der NeoPixel
}

void loop()

{
pixels1.setPixelColor(i, pixels1.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels2.setPixelColor(i, pixels2.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels3.setPixelColor(i, pixels3.Color(50,50,50)); // Pixel leuchtet weiß wenn alle Werte gleich sind
pixels1.show(); // Durchführen der Pixel-Ansteuerung
pixels2.show(); // Durchführen der Pixel-Ansteuerung
pixels3.show(); // Durchführen der Pixel-Ansteuerung

sensorValue1 = analogRead(analogPin1);
sensorValue2 = analogRead(analogPin2);
sensorValue3 = analogRead(analogPin3);
if(sensorValue1 > 100){
tap1 = !tap1;
}
if(sensorValue2 > 100){
tap2 = !tap2;
}
if(sensorValue3 > 100){
tap3 = !tap3;
}

delay (1);
i=i+1; // Die Variable "i" wird um eine Zahl vergrößert. Die neue Zahl "i" ist dann die nächste LED im Led-Ring
if (i==6) i=0; // Wenn die Variable den Wert 6 erreicht hat, wird die Variable auf den Wert "0" zurück gesetzt, da die Nummerierung der LEDs nur von 0 bis 5 geht.
}



Deine Programmierfähigkeiten sind, wie schon erwähnt, ausbaufähig, aber das läßt sich ja bewerkstelligen :)

Mamo61428:
Naja eigentlich soll durch Druck auf den Piezo nur der jeweilige LED Streifen (NeoPixel, jeweils 6 LEDs lang) angeschaltet bzw ausgeschaltet werden

und? macht er das?

Designer liegen die Kompetenzen eher im Bereich Entwurf

Dann entwerft doch eure Vorstellungen und schreibt exakt was das Ding macht und was es nicht macht!

sollen bei Tastendruck alle 6 Pixel gleichzeitig aufscheinen oder was hattet ihr mir mit dem i=i+1 Konstrukt vor?

ich schau mir das mal an.

Edit: wtf, warum Antworten die Leute nicht zeitnah, wenn sie ja ach eh so im Stress sind.
Ist jetzt das letzte Mal das ich mich auf so etwas einlasse.

/*
   3 NEO Pixel Streifen per Tastendruck einschalten
   Muster: nicht gegeben

   V2 by noiasca: mit Beibehaltung von Codeduplikaten

   Vor dem Posten in einem Forum - IMMER STRG-T in der IDE drücken!
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

const byte neopixel_pin1 = 11;      // an welchem digitalen Pin sind die WS2812 LEDs bzw. NeoPixel angeschlossen
const byte neopixel_pin2 = 10;
const byte neopixel_pin3 = 9;
const byte numpixels1 = 6;          // Anzahl der angeschlossenen WS2812 LEDs bzw. NeoPixel
const byte numpixels2 = numpixels1;
const byte numpixels3 = numpixels1;
const byte analog_pin1 = A0;        // an welchem analogen Pin ist der Piezo Sensore angeschlossen
const byte analog_pin2 = A1;
const byte analog_pin3 = A3;
const byte red = 50;
const byte green = 50;
const byte blue = 50;

Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(numpixels1, neopixel_pin1, NEO_GRB + NEO_KHZ800);  // Objekte anlegen
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel(numpixels2, neopixel_pin1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel(numpixels3, neopixel_pin1, NEO_GRB + NEO_KHZ800);


void setup()
{
  Serial.begin(115200);
  Serial.println(F("\n3 Neopixel Streifen per Piezo Taster ein und ausschalten"));
  pixels1.begin(); // Initialisierung der NeoPixel
  pixels2.begin();
  pixels3.begin();
}


void loop()
{
  // Variablen die wir nur im Scope von Loop brauchen. Damit sie den loop überleben, definieren wir sie static
  static uint16_t sensorValue1;   // gelesener Wert vom Sensor
  static uint16_t sensorValue2;
  static uint16_t sensorValue3;
  static bool tap1;               // Merker Variable je tap/Sensor
  static bool tap2;
  static bool tap3;

  // EINGABE
  sensorValue1 = analogRead(analog_pin1);
  sensorValue2 = analogRead(analog_pin2);
  sensorValue3 = analogRead(analog_pin3);

  // VERARBEITUNG
  if (sensorValue1 > 100) {
    tap1 = !tap1;
    Serial.print(F("Sensor 1 gedrückt, tap1 ist nun "));
    Serial.println(tap1);
  }
  if (sensorValue2 > 100) {
    tap2 = !tap2;
    Serial.print(F("Sensor 2 gedrückt, tap2 ist nun "));
    Serial.println(tap2);
  }
  if (sensorValue3 > 100) {
    tap3 = !tap3;
    Serial.print(F("Sensor 3 gedrückt, tap3 ist nun "));
    Serial.println(tap3);
  }
  delay (30);  // soll das ein debounce Delay sein? dann hab ich mal 30 millis daraus gemacht

  // AUSGABE
  for (byte i = 0; i < numpixels1; i++)                          // alle Pixel des Streifen durchgehen
  {
    if (tap1)
      pixels1.setPixelColor(i, pixels1.Color(red, green, blue)); // einschalten: Pixel leuchtet annähernd weiß wenn alle Werte gleich sind. Evtl. musst blau anpassen (eher weniger)
    else
      pixels1.setPixelColor(i, 0);                               // ausschalten
  }
  pixels1.show(); // Durchführen der Pixel-Ansteuerung

  for (byte i = 0; i < numpixels2; i++)
  {
    if (tap2)
      pixels2.setPixelColor(i, pixels2.Color(red, green, blue));
    else
      pixels2.setPixelColor(i, 0);
  }
  pixels2.show();

  for (byte i = 0; i < numpixels3; i++)
  {
    if (tap3)
      pixels3.setPixelColor(i, pixels3.Color(red, green, blue));
    else
      pixels3.setPixelColor(i, 0);
  }
  pixels3.show();
}

genau, bei Tastendruck auf einen Piezo Sensor, sollen die 6 dem Sensor zugeordneten LEDs leuchten und bei erneuten Tastendruck wieder ausgehen, klingt natürlich sehr simpel, ich verzweifle leider komplett und bin im Stress mit zwei weiteren Projekten und kriege gerade gar nix geregelt, sorry dafür, Student halt.
Bin für die Hilfe bis jetzt aber auf jeden Fall sehr dankbar.

Nochmal kurz zur Erläuterung, ich baue eine Lampe bzw habe eine entworfen. Es gibt drei Halbkugeln, in jeder steckt ein NeoPixel LED Streifen, bestehend aus 6 LEDs. Hinter diesen Halbkugeln ist dann der Piezo Sensor angebracht welcher mit den jeweiligen LED Streifen verbunden ist. Beim Druck auf eine solche Halbkugel soll dann in der Praxis der LED streifen aufleuchten, weil der hinter der Kugel liegende Piezo auf den druck reagiert und das Licht anschaltet. Also soll jede dieser Kugeln individuell durch Berührung/ Druck Ausübung angeschaltet werden können.

Ein Piezo ist immer an einem analogen Pin angeschlossen, in meinem Fall einer an A0, einer an A1, einer an A2. Die LEDs sind an den digitalen Pins 9,10,11 angeschlossen

Hi

Berührung/Druck - Da wirst Du Schiffbruch erleiden - Klopfen: Ja
Berührung könnte in Richtung kapazitiver Sensor (verstimmen eines Schwingkreis) klappen.

Hat allerdings recht wenig mit Design, mehr mit Elektronik zu tun.

Egal, wie's wird - tu mir einen Gefallen:
ALLES, was Du Dir in Deinem zukünftigem Schaffensbereich so durch die Birne gehen lässt, sollte auch halbwegs machbar sein.
Meiner bisherigen Erfahrung nach haben wir bereits genug 'Großkopferte', Die von Tuten und Blasen keine Ahnung haben, aber sich doch für die größten Bringer halten - werde nicht Einer von Denen oder habe zumindest von Dem Bereich, in Dem Du bestimmen willst, etwas Ahnung!

MfG

Mamo61428:
Bin für die Hilfe bis jetzt aber auf jeden Fall sehr dankbar.

Was macht denn #15?