Skip to content

Commit 6d57c85

Browse files
committed
Diskoleuchte funktioniert wieder
1 parent 029a6cf commit 6d57c85

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

00Informatik/00Mikrocontroller/Wahlkurs/Diskoleuchte_AP/Diskoleuchte_AP/Diskoleuchte_AP.ino

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <Adafruit_NeoPixel.h>
1616

1717
// --- Hardware Konfiguration (Muss an die Verdrahtung angepasst werden) ---
18-
#define MATRIX_PIN 4 // GPIO Pin, an dem die Matrix angeschlossen ist
18+
#define MATRIX_PIN 5 // GPIO Pin, an dem die Matrix angeschlossen ist
1919
#define MATRIX_WIDTH 32 // Breite der Matrix in Pixel
2020
#define MATRIX_HEIGHT 8 // Höhe der Matrix in Pixel
2121
// Flags: Ursprung oben links, Spalten-Layout, Zick-Zack-Muster (typische Verdrahtung für viele Panels)
@@ -75,7 +75,7 @@ volatile bool isScrolling = false;
7575
volatile bool stopScrollRequested = false;
7676

7777
// Mikrofon-Pin + Mikrokontrolle-Flag
78-
#define MIC_PIN 6
78+
#define MIC_PIN 4
7979
volatile bool micControlEnabled = true; // wird durch /mic GET gesetzt
8080

8181
// Zufallspixel-Modus: wenn aktiv, werden regelmäßig zufällige Pixel gemäß Mic-Pegel gezeichnet
@@ -602,10 +602,11 @@ int readMicLevel(int max) {
602602
unsigned long startMillis = millis();
603603
unsigned int peakToPeak = 0;
604604
unsigned int signalMax = 0;
605-
unsigned int signalMin = 1024;
605+
unsigned int signalMin = 4096;
606+
//Serial.println(analogRead(MIC_PIN));
606607
while (millis() - startMillis < 50) {
607608
int sample = analogRead(MIC_PIN);
608-
if (sample < 1024) {
609+
if (sample < 4096) {
609610
if (sample > signalMax) {
610611
signalMax = sample;
611612
} else if (sample < signalMin) {
@@ -614,13 +615,19 @@ int readMicLevel(int max) {
614615
}
615616
}
616617

617-
peakToPeak = signalMax - signalMin;
618-
double sig = (peakToPeak * 5.0) / 1024;
619-
Serial.println(sig);
620618

621-
const int maxInput = 2000;
622-
const int schwelle = 50;
623-
int mapped = map(constrain(sig, schwelle, maxInput)-schwelle, 0, maxInput, 0, max);
619+
peakToPeak = signalMax - signalMin;
620+
// Serial.print(peakToPeak);
621+
// Serial.print(" ");
622+
const int maxInput = 2500;
623+
const int schwelle = 400;
624+
peakToPeak=constrain(peakToPeak,schwelle,maxInput)-schwelle;
625+
// Serial.print(peakToPeak);
626+
// Serial.print(" ");
627+
628+
629+
int mapped = map(peakToPeak, 0, maxInput-schwelle, 0, max);
630+
// Serial.println(mapped);
624631
return mapped;
625632
}
626633

0 commit comments

Comments
 (0)