"Rauschen" auf passivem Buzzer / Anfängerfrage ;)

Moin Forum,

kurz das übliche - ich bin Anfänger mit Arduino und Elektronik, seit Erwerb eines Uno-Einsteigerkastens aber schwer begeistert. Hab mich grad auf ein ganz "einzigartiges" Projekt eingeschossen :wink: LED-Strip mit Uhr und Bewegungsmelder für unters Bett :slight_smile: Dabei will ich aber nicht nur stumpf was nach Anleitung aus dem Netz zusammenstecken und cut&paste betreiben, sondern selber was schreiben und bauen.

So komme ich nun zu meiner Frage - meine Sketch und Schaltung funktioniert soweit ganz gut und wie gewünscht. Nun habe ich einen passiven Buzzer dazugehängt - Pin 11 an Uno und Masse mit auf Breadboard. Funktioniert soweit auch - aber:

Selbst wenn über die Sketch keine Ausgabe am Buzzer erzeugt wird, habe ich einen Grundton-Dauerton (sehr leise) auf dem Buzzer. So lange, biss ich die Masse von Breadboard auf ne Masse am Uno umstecke. Dann ist Stille. Also vermute ich irgendwie nen Grundrauschen in meiner Schaltung - auch reagiert der Bewegungsmelder etwas unzuverlässig (kann da auch damit zusammenhängen?).

Was kann man gegen das Grundrauschen machen? Mit Abblockkondesatoren habe ich mich schon belesen - das scheint mir aber nicht das richtige zu sein / wo soll ich den hier hinstecken?

Tips sind willkommen. Herzlichen Dank für Hilfe bei meinem aktuellen Lieblingshobby :wink:

VG,
VR

Ich würde mal sagen: Schaltplan zeigen, da passt was nicht so richtig.
Aber Gnd vom arduino hängt schon an Gnd vom Breadboard, oder?

Wenn es an GND des Arduino funktioniert, dann sind es wohl die Übergangswiderstände auf dem Steckbrett.

Führe deine GND-Verbindungen mal anders (Sternförmig vom Arduino aus).

Gruß Tommy

Zeige doch mal eine Schaltung wie du den Buzzer angeschlossen hast.
Aktuell verstehe ich das nicht.

Was ist denn noch alles am Steckbrett angeschlossen ?

Du musst natürlich auch GND am Buzzer angeschlossen haben, aber hier muss ich weiter raten.

Gemeinsamer GND ist schonmal immer richtig, aber:
Ein simpler Piezo-Lautsprecher gibt "von sich aus" keinen Ton von sich. Auch wenn da irgend etwas frei floaten würde.

Zur Klarstellung evtl: Was ist ein "passiver Buzzer" ?

Aktuell verstehe ich das nicht... hier muss ich weiter raten

Vielleicht liest du das ganze nochmal durch und verstehst unsere Verwirrung, Victor ?

N'Abend zusammen und danke für die rege Anteilnahme! Habe mich wohl für das richtige Board entschieden. :slight_smile:

Da ich vorhin Fritzing entdeckt habe un ich es eh mal ausprobieren wollte, habe ich mein Breadboard grad mal abgepaust (hier im Anhang). Exakt so sieht es im Moment aus. Es funktioniert auch alles.

  • RGB-LED zeigt Tag/Nacht Modus an
  • Grüne-LED zeigt Bewegung an
  • LED-Kette ist noch nicht eingearbeitet, muss mich noch mit Mosfets (?) beschäftigen

Ich habe aber eben einen leisen Dauerton auf dem Buzzer (Piezo?) - wenn ich den GND des Buzzer aber auf den Uno stecke (z.B. neben Pin13), ist Ruhe un es funktioniert trotzdem alles.

@michael_x - ja verstehe ich. Sorry. Jetzt besser? Und Buzzer heisst das Ding (Piezo?) aus meinem Starter-Kit (The most complete Starter-Kit, Elegoo)

VG,
VR

Bist du sicher dass der Piezo passiv ist ?

Ein aktiver kann schon mal Geräusche machen, wenn dieser falsch angesteuert wird.

Hi,
Wenn dein Schaltplan so ist wie deine tatsächliche Verdrahtung hast Du nen Fehler bei der I2C. da schaltest Du SDA vom UNO auf SCL des RTC-Modules und SCL vom UNO auf SDA des RTC. Bei I2C sind die Leitungen 1:1. also SDA auf SDA und SCL auf SCL zu verbinden.
Vielleicht werden die Störungen (das Rauschen) ja auch dadurch verursacht?

Weiteres ist nur im geheimen Sketch zu finden. Bin aber weder Detektiv, noch arbeite ich beim Geheimdienst. Und meine Glaskugel ist grad in Reparatur.

LG Stefan

@HotSystems

ja, bin ich ....

@Deltaflyer

Oh, ja - ist aber "nur" auf dem Plan falsch. Habe ich falsche gezeichnet. War ja mein erster Versuch :wink: Sketch ist natürlich nicht geheim - da ich absoluter Anfänger bin, habe ich dem zu diesem Problem nicht so viel Bedeutung zugemessen. Hier jetzt im Anhang, auch wenn da noch so gut wie nix passiert - Feedback und Tips erbeten - ist ja mein erster. :wink:

#include <math.h>
#include <Dusk2Dawn.h>
#include <RtcDS3231.h> 
#include <time.h> 
#include <Wire.h>


#define DS3231
#define MY_TIMEZONE 1
#define myWire TwoWire
#define I2C Wire
RtcDS3231<myWire> Rtc(I2C);

const int BLUE = 10;      // Pin für RGB-LED
const int GREEN = 5;      // Pin für RGB-LED
const int RED = 6;        // Pin für RGB-LED
const int PIR_PIN = 7;    // Pin Daten vom HC-S501 Bewegungs-Sensor
const int MOTION_LED = 9; // Pin für die Bewegungs-Kontroll-LED


int sr = 0;  // Sonnenaufgang in Minuten ab Mitternacht
int ss = 0;  // Sonnenuntergang in Minuten ab Mitternacht

Dusk2Dawn position(53.8666, 10.6848, 1);

void setup()
{
  Serial.begin(9600);

  Rtc.Begin();
  set_zone(MY_TIMEZONE);

  // ### PIN Modes
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
  pinMode(MOTION_LED, OUTPUT);
  pinMode(PIR_PIN, INPUT);
  // ### LEDs aus
  analogWrite(RED, 0);
  analogWrite(GREEN, 0);
  analogWrite(BLUE, 0);
  analogWrite(MOTION_LED, 0);

  // Sonnenaufgang / Sonnenuntergang
  time_t start = Rtc.GetTime(); 
  struct tm *myTm;              
  myTm = localtime(&start);     
  sr = position.sunrise(myTm->tm_year, myTm->tm_mon + 1, myTm->tm_mday, myTm->tm_isdst);
  ss = position.sunset(myTm->tm_year, myTm->tm_mon + 1, myTm->tm_mday, myTm->tm_isdst);

  // Beep
  tone(11, 500, 200);
}

// main loop
void loop()
{
  // brechne Zeit seit Mitternacht lokal in Minuten
  time_t now = Rtc.GetTime();
  struct tm *myTm;
  myTm = localtime(&now);
  int todaysMins = ((myTm->tm_hour * 60) + myTm->tm_min);

  if ((todaysMins < sr) || (todaysMins > ss))
  {
    analogWrite(RED, 16);
    analogWrite(GREEN, 0);
    analogWrite(BLUE, 0);
  }
  else
  {
    analogWrite(RED, 128);
    analogWrite(GREEN, 32);
    analogWrite(BLUE, 0);
  }

  if (digitalRead(PIR_PIN) == 1)
  {
    analogWrite(MOTION_LED, 16);
  }
  else
  {
    analogWrite(MOTION_LED, 0);
  }
  delay(100);
}

Versuchs mal mit:

tone(11, 500, 200);
noTone(11);