Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Arduino-gestützte Eieruhr: Flexible Countdown-Anzeige mit akustischem Alarm

Posted on 17. Februar 202518. Februar 2025 by Stefan Draeger

Eine Eieruhr mit Arduino? Warum nicht! In diesem Projekt baue ich eine digitale Countdown-Uhr, die die verbleibende Zeit auf einer 4-stelligen 7-Segment-Anzeige darstellt und nach Ablauf ein akustisches Signal über einen Piezo-Buzzer ausgibt.

Arduino-gestützte Eieruhr: Flexible Countdown-Anzeige mit akustischem Alarm
Dieses Video auf YouTube ansehen.

Ein besonderer Vorteil dieser Anzeige ist, dass sie einen Doppelpunkt besitzt. Dadurch kann die Zeitdarstellung automatisch angepasst werden:

  • Bis 59 Sekunden wird der Countdown klassisch in Sekunden angezeigt.
  • Ab 60 Sekunden wechselt die Anzeige in das MM:SS-Format (Minuten:Sekunden).

Dadurch ist eine maximale Countdown-Zeit von 99 Minuten und 59 Sekunden möglich – perfekt für das Frühstücksei, aber auch ideal für längere Koch- oder Backvorgänge.

Die Steuerung erfolgt über zwei Taster:
🔴 Roter Taster – Stoppt den Timer jederzeit.
🟢 Grüner Taster – Startet den Timer mit der voreingestellten Zeit.

Das Ganze läuft auf einem Arduino Nano V3, der genauso leistungsfähig wie ein Arduino UNO ist, aber deutlich kompakter.

Im folgenden Abschnitt zeige ich dir, wie du diese digitale Eieruhr mit flexibler Zeitdarstellung und akustischem Countdown-Signal ganz einfach selbst nachbauen kannst!

Schaltung - Arduino Eieruhr
Schaltung – Arduino Eieruhr

Hinweis: Idee aus der Community – Die Idee zu diesem Beitrag stammt von einem Leser meines Blogs, der sich zum Beitrag „Flexibler Timer für Arduino: Wie du die Zeit per Poti regulierst“ gemeldet hat. Dort habe ich gezeigt, wie man mit einem Drehpotentiometer die Timersteuerung am Arduino flexibel anpassen kann.

Schaltung - Arduino UNO R4 Minima - Drehpotentiometer und LEDs
Schaltung – Arduino UNO R4 Minima – Drehpotentiometer und LEDs
Schaltung - Arduino UNO R4 Minima mit Servomotor SG90 und Drehpotentiometer
Schaltung – Arduino UNO R4 Minima mit Servomotor SG90 und Drehpotentiometer

Zunächst habe ich versucht, die Zeitsteuerung mit einem Rotary Encoder zu realisieren. Allerdings führte das Aktualisieren der 4-stelligen 7-Segmentanzeige dazu, dass Impulse des Encoders nicht zuverlässig erkannt wurden. Deshalb bin ich auf eine einfache und robuste Lösung mit drei Tastern umgestiegen:

  • „+“ erhöht den Timer-Wert.
  • „-“ verringert den Timer-Wert.
  • „Select“ wechselt zwischen Minuten- und Sekunden-Einstellung.

Diese Lösung ist nicht nur stabiler, sondern auch intuitiv in der Bedienung.

Ich freue mich immer über Input aus der Community und helfe gerne weiter, wenn es um spannende Projekte geht. Falls du also eigene Ideen oder Fragen hast, hinterlasse einfach einen Kommentar – vielleicht wird daraus ja der nächste Blogbeitrag! 😊

Inhaltsverzeichnis

  • Aufbau der Schaltung – Eieruhr mit Segmentanzeige und Taster am Arduino Nano
  • Alternativer Aufbau am Arduino UNO R3/R4 mit Prototyp-Board
  • Programmieren der Arduino Eieruhr in der Arduino IDE
    • Schritt 1 – einbinden der benötigten Module
    • Schritt 2 – definieren der verwendeten Pins & Objekte initialisieren
    • Schritt 3 – Felder zum speichern der Zustände
    • Schritt 4 – Funktion Setup
    • Schritt 5 – Funktion loop
  • fertiger Quellcode – Arduino Eieruhr mit flexiblem Timer
  • Ausblick: Eieruhr mit ESP32-C3 und MicroPython

Aufbau der Schaltung – Eieruhr mit Segmentanzeige und Taster am Arduino Nano

Bevor wir die Schaltung auf eine Platine übertragen, bauen wir sie zunächst auf einem Breadboard auf. Dafür benötigen wir folgende Komponenten:

  • Arduino Nano V3* (inkl. Datenkabel)
  • Piezo-Buzzer* für das akustische Signal
  • fünf Taster mit Tasterkappen* (Start/Stopp)
  • 4-stellige 7-Segmentanzeige Typ TM1637*
  • 830-Pin Breadboard* für den Hauptaufbau
  • 170-Pin Breadboard* für die Segmentanzeige
  • diverse Breadboardkabel* zur Verkabelung

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Falls du keinen Arduino Nano V3 zur Hand hast, kannst du alternativ auch ein Arduino UNO oder Arduino Mega verwenden. Ich habe mich für den Nano entschieden, da er genauso leistungsfähig wie der UNO ist, aber deutlich kompakter – was später für die endgültige Schaltung von Vorteil ist.

Schaltung - Arduino mit Taster - Segmentdisplay und Piezo Buzzer
Schaltung – Arduino mit Taster – Segmentdisplay und Piezo Buzzer

Wenn du es aber noch kompakter als den schon kleinen Arduino Nano V3 haben möchtest, dann kannst du den Super Mini Arduino Nano Clone verwenden welchen ich im Beitrag Arduino Nano Clone von Aliexpress: Günstig, aber oft mit Mängeln vorgestellt habe. Dieser bietet trotz seiner Größe genügend Pins & Power für dieses Projekt.

Alternativer Aufbau am Arduino UNO R3/R4 mit Prototyp-Board

Die Schaltung ist kompakt genug um auch auf einem Prototyp-Board für den Arduino UNO gebaut zu werden.

Da der neue Arduino UNO R4 das selbe Pinout hat wie der Vorgänger UBO R3 kannst du hier auch auf den neuen Mikrocontroller der Arduino Familie setzen.

Programmieren der Arduino Eieruhr in der Arduino IDE

Wie du einen Taster, Drehpotentiometer, Piezo Buzzer und auch die 4fach 7 Segmentanzeige am Arduino programmierst habe ich dir bereits in separaten Beiträgen gezeigt.

  • Arduino Lektion 87: Taster entprellen
  • Arduino UNO R3 – Gabellichtschranke& Piezo Buzzer
  • Arduino Lektion 26: TM1637 – 4 Digit 7 Segment Display

Nachfolgend, die Schritt-für-Schritt-Anleitung zur erstellung des Sketches für die Eieruhr.

Schritt 1 – einbinden der benötigten Module

Für die Ansteuerung der 4fach 7 Segmentanzeige vom Typ TM1637 und zum entprellen der Taster benötigen wir jeweils eine Bibliothek. Diese können wir über den Bibliotheksverwalter installieren.

Sobald beide Bibliotheken installiert sind, können wir sie mit dem folgenden Befehl in unser Projekt einbinden.

#include <TM1637Display.h>  // Bibliothek für die 7-Segment-Anzeige (TM1637)
#include <Bounce2.h>        // Bibliothek zur Tasten-Entprellung

Schritt 2 – definieren der verwendeten Pins & Objekte initialisieren

Im nächsten Schritt definieren wir die Pins für die verbauten Komponenten und initalisieren die entsprechenden Objekte.

// Pins für die 7-Segment-Anzeige
#define segmentanzeige_CLK 6
#define segmentanzeige_DIO 5
TM1637Display display(segmentanzeige_CLK, segmentanzeige_DIO);  // Anzeige-Objekt erstellen

// Tasten-Pins definieren
#define tasterStopp 3
#define tasterStart 4
#define tasterPlus 7
#define tasterMinus 8
#define tasterSelect 9

// Bounce-Objekte für die Tasten-Entprellung
Bounce bceTasterStopp = Bounce();
Bounce bceTasterStart = Bounce();
Bounce bceTasterPlus = Bounce();
Bounce bceTasterMinus = Bounce();
Bounce bceTasterSelect = Bounce();

// Pin für den Piezo-Buzzer
#define buzzer 10

Schritt 3 – Felder zum speichern der Zustände

Für unseren Code benötigen wir einpaar Felder in welche wir zbsp. speichern ob der Countdown gerade läuft und wie hoch der Countdown ist.

// Variable für den Countdown in Sekunden
unsigned int seconds = 0;

// Timer-Zustand (läuft oder gestoppt)
bool clockStarted = false;

// Auswahl der Zeiteinheit:
// 0 = Sekunden, 1 = Minuten
unsigned int timeAuswahl = 0;

// Wartezeit zwischen Sekundenverringerungen
const unsigned int PAUSE = 1000;
unsigned long lastAction = 1L;

// Alarmzustand (true = abgelaufen)
bool alarm = false;

Schritt 4 – Funktion Setup

Die setup()-Funktion wird einmalig beim Start des Mikrocontrollers aufgerufen – sowie nach einem Neustart über den RESET-Taster. In dieser Funktion legen wir die Helligkeit der 7-Segment-Anzeige fest und verknüpfen die Taster-Pins mit den Bounce-Objekten, um eine zuverlässige Tastenentprellung zu gewährleisten.

void setup() {
  Serial.begin(9600);
  Serial.println("Initialized");  // Debug-Ausgabe

  // Helligkeit der 7-Segment-Anzeige setzen (maximale Helligkeit: 7)
  display.setBrightness(7);

  // Anzeige initial mit "--:--" belegen
  uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
  display.setSegments(data);

  // Taster als Eingänge mit Pull-Up-Widerständen definieren und entprellen
  bceTasterStopp.attach(tasterStopp, INPUT_PULLUP);
  bceTasterStopp.interval(5);

  bceTasterStart.attach(tasterStart, INPUT_PULLUP);
  bceTasterStart.interval(5);

  bceTasterPlus.attach(tasterPlus, INPUT_PULLUP);
  bceTasterPlus.interval(5);

  bceTasterMinus.attach(tasterMinus, INPUT_PULLUP);
  bceTasterMinus.interval(5);

  bceTasterSelect.attach(tasterSelect, INPUT_PULLUP);
  bceTasterSelect.interval(5);

  pinMode(buzzer, OUTPUT);  // Buzzer als Ausgang setzen

  displayTime();  // Anfangszeit auf dem Display aktualisieren
}

Schritt 5 – Funktion loop

Die loop()-Funktion wird kontinuierlich ausgeführt und enthält den Code für die Steuerung der Eieruhr.

Bevor wir die Taster auswerten können, müssen wir sie mit der Funktion update() aktualisieren. Anschließend können wir mit fell() überprüfen, ob ein Taster losgelassen wurde, um entsprechende Aktionen auszuführen.

 // Tasten aktualisieren (Entprellung)
 bceTasterStopp.update();
 bceTasterStart.update();

 // Taster "Stopp" beendet den Timer und setzt den Alarm zurück
  if (bceTasterStopp.fell()) {
    clockStarted = false;
    alarm = false;
  }

  // Taster "Start" beginnt den Countdown
  if (bceTasterStart.fell()) {
    clockStarted = true;
    alarm = false;
  }

Der Countdown wird durch das Drücken der Start-Taste aktiviert, wodurch die Variable clockStarted auf true und alarm auf false gesetzt wird. Dadurch beginnt der Timer zu laufen und zählt in der loop()-Funktion in Schritten von einer Sekunde herunter.

// Wenn der Timer läuft und noch nicht abgelaufen ist
  else if (clockStarted && !alarm) {
    unsigned long currentMillis = millis();

    // Jede Sekunde die Zeit verringern
    if ((lastAction + PAUSE) < currentMillis) {
      lastAction = currentMillis;

      if (seconds > 0) {
        seconds--;  // Eine Sekunde abziehen
      } else {
        alarm = true;  // Timer abgelaufen
      }
    }

    displayTime();

Solange der Countdown nicht gestartet ist, also die Variable clockStarted auf false steht, kann die Zeit eingestellt werden.

Über die Select-Taste lässt sich zwischen den beiden Einstellfeldern Minuten und Sekunden wechseln.

  • In der Sekunden-Einstellung wird der Wert sekundengenau um eins erhöht oder verringert.
  • Ist die Minuten-Einstellung aktiv, werden 60 Sekunden zur Variable seconds hinzugefügt oder abgezogen.
if (!clockStarted) {
    bool buttonPressed = false;

    // Taster "Select" wechselt zwischen Minuten- und Sekundenmodus
    if (bceTasterSelect.fell()) {
      timeAuswahl = (timeAuswahl == 0) ? 1 : 0;
    }

    // Taster "+" erhöht die Sekunden oder Minuten
    if (bceTasterPlus.fell()) {
      buttonPressed = true;
      if (timeAuswahl == 0) {
        seconds++;
      } else {
        seconds += 60;
      }
    }

    // Taster "-" verringert die Sekunden oder Minuten
    if (bceTasterMinus.fell() && seconds > 0) {
      buttonPressed = true;
      if (timeAuswahl == 0) {
        seconds--;
      } else {
        seconds -= 60;
      }
    }

    // Nach einer Änderung die neue Zeit anzeigen
    if (buttonPressed) {
      displayTime();
    }
  } 

fertiger Quellcode – Arduino Eieruhr mit flexiblem Timer

Nachfolgende der fertige Code mit Kommentaren etc.
/*
  Arduino-gestützte Eieruhr: Flexible Countdown-Anzeige mit akustischem Alarm

  Dieses Programm steuert eine digitale Eieruhr mit einem Arduino Nano V3.
  Der Countdown wird auf einer 4-stelligen TM1637 7-Segmentanzeige dargestellt.
  Die Bedienung erfolgt über drei Taster:
    - "+" und "-" zur Zeiteinstellung
    - "Select" zum Wechsel zwischen Minuten- und Sekundeneinstellung
    - "Start" und "Stopp" zur Steuerung des Timers
  Nach Ablauf der eingestellten Zeit gibt ein Piezo-Buzzer ein akustisches Signal aus.

  Weitere Informationen und die vollständige Anleitung findest du hier:
  
Arduino-gestützte Eieruhr: Flexible Countdown-Anzeige mit akustischem Alarm
Author: Stefan Draeger Webseite: https://draeger-it.blog Kontakt: info@draeger-it.blog */ #include <TM1637Display.h> // Bibliothek für die 7-Segment-Anzeige (TM1637) #include <Bounce2.h> // Bibliothek zur Tasten-Entprellung // Pins für die 7-Segment-Anzeige #define segmentanzeige_CLK 6 #define segmentanzeige_DIO 5 TM1637Display display(segmentanzeige_CLK, segmentanzeige_DIO); // Anzeige-Objekt erstellen // Tasten-Pins definieren #define tasterStopp 3 #define tasterStart 4 #define tasterPlus 7 #define tasterMinus 8 #define tasterSelect 9 // Bounce-Objekte für die Tasten-Entprellung Bounce bceTasterStopp = Bounce(); Bounce bceTasterStart = Bounce(); Bounce bceTasterPlus = Bounce(); Bounce bceTasterMinus = Bounce(); Bounce bceTasterSelect = Bounce(); // Pin für den Piezo-Buzzer #define buzzer 10 // Variable für den Countdown in Sekunden unsigned int seconds = 0; // Timer-Zustand (läuft oder gestoppt) bool clockStarted = false; // Auswahl der Zeiteinheit: // 0 = Sekunden, 1 = Minuten unsigned int timeAuswahl = 0; // Wartezeit zwischen Sekundenverringerungen const unsigned int PAUSE = 1000; unsigned long lastAction = 1L; // Alarmzustand (true = abgelaufen) bool alarm = false; void setup() { Serial.begin(9600); Serial.println("Initialized"); // Debug-Ausgabe // Helligkeit der 7-Segment-Anzeige setzen (maximale Helligkeit: 7) display.setBrightness(7); // Anzeige initial mit "--:--" belegen uint8_t data[] = { 0xff, 0xff, 0xff, 0xff }; display.setSegments(data); // Taster als Eingänge mit Pull-Up-Widerständen definieren und entprellen bceTasterStopp.attach(tasterStopp, INPUT_PULLUP); bceTasterStopp.interval(5); bceTasterStart.attach(tasterStart, INPUT_PULLUP); bceTasterStart.interval(5); bceTasterPlus.attach(tasterPlus, INPUT_PULLUP); bceTasterPlus.interval(5); bceTasterMinus.attach(tasterMinus, INPUT_PULLUP); bceTasterMinus.interval(5); bceTasterSelect.attach(tasterSelect, INPUT_PULLUP); bceTasterSelect.interval(5); pinMode(buzzer, OUTPUT); // Buzzer als Ausgang setzen displayTime(); // Anfangszeit auf dem Display aktualisieren } // Funktion zur Anzeige der aktuellen Zeit auf dem 7-Segment-Display void displayTime() { int minutes = seconds / 60; // Minuten berechnen // Begrenzung auf maximal 99 Minuten if (minutes > 99) { minutes = 99; } int fourDigitValue = (minutes * 100) + (seconds % 60); // Anzeigeformat MM:SS display.showNumberDecEx(fourDigitValue, 0b01000000, true, 4, 4); } void loop() { // Tasten aktualisieren (Entprellung) bceTasterStopp.update(); bceTasterStart.update(); bceTasterPlus.update(); bceTasterMinus.update(); bceTasterSelect.update(); // Wenn die Uhr nicht läuft, kann die Zeit eingestellt werden if (!clockStarted) { bool buttonPressed = false; // Taster "Select" wechselt zwischen Minuten- und Sekundenmodus if (bceTasterSelect.fell()) { timeAuswahl = (timeAuswahl == 0) ? 1 : 0; } // Taster "+" erhöht die Sekunden oder Minuten if (bceTasterPlus.fell()) { buttonPressed = true; if (timeAuswahl == 0) { seconds++; } else { seconds += 60; } } // Taster "-" verringert die Sekunden oder Minuten if (bceTasterMinus.fell() && seconds > 0) { buttonPressed = true; if (timeAuswahl == 0) { seconds--; } else { seconds -= 60; } } // Nach einer Änderung die neue Zeit anzeigen if (buttonPressed) { displayTime(); } } // Wenn der Timer läuft und noch nicht abgelaufen ist else if (clockStarted && !alarm) { unsigned long currentMillis = millis(); // Jede Sekunde die Zeit verringern if ((lastAction + PAUSE) < currentMillis) { lastAction = currentMillis; if (seconds > 0) { seconds--; // Eine Sekunde abziehen } else { alarm = true; // Timer abgelaufen } } displayTime(); } // Wenn die Zeit abgelaufen ist, Alarm auslösen else if (clockStarted && alarm) { tone(buzzer, 1400, 175); // Buzzer mit 1.4 kHz für 175ms aktivieren } // Taster "Stopp" beendet den Timer und setzt den Alarm zurück if (bceTasterStopp.fell()) { clockStarted = false; alarm = false; } // Taster "Start" beginnt den Countdown if (bceTasterStart.fell()) { clockStarted = true; alarm = false; } }

Programm: Arduino Eieruhr – flexibler Timer mit SegmentanzeigeHerunterladen

Ausblick: Eieruhr mit ESP32-C3 und MicroPython

Die aktuelle Umsetzung der Eieruhr mit dem Arduino Nano V3 funktioniert einwandfrei, doch es gibt noch Optimierungspotential. Eine spannende Alternative bietet der ESP32-C3, ein leistungsstarker und dennoch kompakter Mikrocontroller mit WiFi- und Bluetooth-Funktionalität.

In meinem nächsten Beitrag werde ich dir zeigen, wie du diese Schaltung auf einen ESP32-C3 portierst und in MicroPython programmierst. Dadurch wird das Projekt nicht nur kleiner und effizienter, sondern auch flexibler für zukünftige Erweiterungen – beispielsweise eine Steuerung über WLAN oder eine Integration in Home Assistant.

Bleib dran, es lohnt sich! 🚀😊

3 thoughts on “Arduino-gestützte Eieruhr: Flexible Countdown-Anzeige mit akustischem Alarm”

  1. Slotta, Gerhard sagt:
    18. Februar 2025 um 10:02 Uhr

    Du stellst immer gute Projekte vor. Danke dafür.

    Antworten
  2. Pingback: ESP32-C3 Mini: Die perfekte Basis für eine moderne Timerschaltung - Technik Blog
  3. Harald sagt:
    20. März 2025 um 19:16 Uhr

    Hallo Stefan
    Deine Eieruhr funktioniert wunderbar, eins könnte vieleicht optisch noch verbessert werden, bei kleineren Zeiten die unbenutzte Null unterdrücken! Ich hatte am Anfang Probleme, ich hatte nach neu aufsetzen von Windoof, vergessen für die China Clone, die Treiber neu einzuspielen!
    Harald

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}