#esp32-c3
Explore tagged Tumblr posts
bitstream24 · 5 days ago
Text
Tumblr media
Espressif ESP32-C3-AWS-ExpressLink-DevKit: Seamless Cloud Connectivity for IoT Developers
Explore the Espressif ESP32-C3-AWS-ExpressLink-DevKit—an IoT development board with built-in AWS IoT ExpressLink support. Discover how to simplify secure cloud connectivity for smart devices using this compact, RISC-V-based Wi-Fi and Bluetooth module.
0 notes
draegerit · 2 months ago
Text
ESP32-C3 Mini: Die perfekte Basis für eine moderne Timerschaltung
Tumblr media
In einem früheren Beitrag habe ich mit der Arduino-gestützten Eieruhr bereits eine flexible Countdown-Anzeige mit akustischem Alarm vorgestellt. Die ursprüngliche Version, die ich auf meinem Blog unter diesem Link veröffentlicht habe, basierte auf einem klassischen Arduino. Doch nun wird es Zeit für ein Upgrade: Der ESP32-C3 Mini bietet nicht nur mehr Leistung mit seinen 160 MHz, sondern bringt auch WiFi- und Bluetooth-Konnektivität mit – und das in einem äußerst kompakten Format. https://youtu.be/5CGeBJfi6Gc Die Portierung der bestehenden Arduino-Schaltung auf den ESP32-C3 Mini war erstaunlich einfach, da dieser ebenfalls in der Arduino IDE programmiert werden kann. Der eigentliche Fokus lag jedoch darauf, die Schaltung auf eine eigene Platine (PCB) zu bringen, um sie für ein bevorstehendes Event im JFZ Schöningen einsatzbereit zu machen.
Tumblr media Tumblr media Tumblr media
In diesem Beitrag zeige ich, wie die Timerschaltung mit dem ESP32-C3 Mini realisiert wurde, welche Anpassungen notwendig waren und wie die finale Version als fertige Platine umgesetzt wurde.
Warum der ESP32-C3 Mini besser als ein Arduino ist
Zunächst einpaar Gründe warum der ESP32-C3 Mini besser als ein Arduino ist: ✔ WiFi & Bluetooth integriert – Kein extra Modul nötig, ideal für IoT. ✔ Mehr Leistung & Speicher – 160 MHz, 384 KB RAM vs. 16 MHz, 2 KB RAM beim Arduino. ✔ Energieeffizient – Sleep-Modi für geringen Stromverbrauch. ✔ Vielseitigere GPIOs – Mehr analoge Eingänge, PWM, SPI, I2C, UART gleichzeitig nutzbar. ✔ Moderne Programmierung – Neben der Arduino IDE auch MicroPython & ESP-IDF unterstützt.
Tumblr media
ESP32-C3 Super Mini
Benötigte Bauteile für die Timerschaltung
Für den Aufbau der Schaltung werden folgende Komponenten benötigt. Diese ermöglichen eine einfache Umsetzung und sind flexibel auf einem 800-Pin-Breadboard testbar. - 1x ESP32-C3 Mini – Der Mikrocontroller als Steuerzentrale - 4x Taster mit Köpfen – Zur Steuerung der Timer-Funktionen - 1x 3mm LED mit 220-Ohm-Vorwiderstand – Statusanzeige - 2x 5mm LED mit 220-Ohm-Vorwiderstand – Visuelles Feedback beim Alarm - 2x Piezo-Buzzer – Akustischer Signalgeber - diverse Breadboardkabel – Zur Verbindung der Komponenten - 1x 800-Pin-Breadboard – Für eine flexible Verdrahtung 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!
Timerschaltung am Schaltung am ESP32-C3 Mini im Detail
Nachfolgend die Timerschaltung am ESP32-C3 auf einem Breadboard.
Tumblr media
ESP32-C3 Mini - Countdown Schaltung Bauteil / PinESP32-C3 Mini4fach 7 SegmentanzeigeCLK > 3 (GPIO3) SDA > 4 (GPIO4) GND > GND VCC > 5VTaster - Start / Stopp5 (GPIO5)Taster - Plus6 (GPIO6)Taster - Minus7 (GPIO7)Taster - Select8 (GPIO8)LED 120 (GPIO20)LED 221 (GPIO21)Status LED9 (GPIO9)Piezo Buzzer - links10 (GPIO10)Piezo Buzzer - rechts2 (GPIO2) Pinout des ESP32-C3 Mini Nachfolgend findest du den Aufbau des ESP32-C3 Mini, der dir hilft, die richtigen Pins für deine Schaltung schneller und einfacher zu identifizieren. Eine klare Übersicht der GPIO-Belegung erleichtert die Verdrahtung und reduziert Fehler beim Anschluss der Komponenten.
Tumblr media
ESP32-C3 Pinout Falls du spezielle Funktionen wie PWM, I2C, SPI oder UART nutzen möchtest, lohnt sich ein Blick auf die multiplen Belegungsmöglichkeiten der Pins. Unterschiedliche - 4fach 7Segmentanzeigen Es gibt verschiedene Arten von 7-Segment-Anzeigen auf dem Markt. Einerseits gibt es kompakte, einfache Modelle, andererseits größere Varianten mit farbigen Segmenten. Für dieses Projekt entscheide ich mich für die größere Version, da sie nicht nur besser lesbar ist, sondern durch die unterschiedlichen Farben auch optisch ansprechender wirkt und das Projekt aufwertet.
Tumblr media
Ausbau einer LED In der Schaltung kommen drei LEDs zum Einsatz, die sich durch ihre hohe Leuchtkraft und lange Lebensdauer auszeichnen. Sie dienen nicht nur als Statusanzeige, sondern ermöglichen auch eine visuelle Rückmeldung über den aktuellen Betriebszustand der Timerschaltung. Die LEDs werden über einen GPIO-Pin des ESP32-C3 Mini angesteuert und mit einem 220-Ohm-Vorwiderstand in Reihe geschaltet, um den Stromfluss zu begrenzen und die Lebensdauer der LEDs zu erhöhen. Durch diese Beschaltung ist sichergestellt, dass die LEDs effizient betrieben werden, ohne den Mikrocontroller zu überlasten. Beim Einbau einer LED ist darauf zu achten, dass sie richtig gepolt angeschlossen wird. Die Kathode (Minuspol) wird mit dem Vorwiderstand verbunden, der anschließend an GND führt. Die Anode (Pluspol) hingegen wird direkt mit dem entsprechenden GPIO-Pin des ESP32-C3 Mini verbunden. Eselsbrücke: Die Kathode erkennt man am kürzeren Bein der LED.
Tumblr media
Aufbau einer LED Falls du mehr über die Funktionsweise und den Anschluss von LEDs erfahren möchtest, findest du eine detaillierte Erklärung auf der Seite "Bauteile: Leuchtdiode (LED)", wo ich dieses Bauteil ausführlich vorstelle.
Programmieren in der Arduino IDE
Wie bereits erwähnt, habe ich dieses kleine Projekt zuvor für den Arduino entwickelt und programmiert. Dadurch war die Portierung auf den ESP32-C3 Mini relativ unkompliziert – es mussten lediglich die Pinbelegungen angepasst werden. Eine zusätzliche Optimierung bestand darin, die Start- und Stopp-Funktion auf einen einzigen Taster zu legen, anstatt zwei separate Taster zu verwenden. Dadurch spart man nicht nur einen GPIO-Pin, sondern macht die Bedienung auch kompakter und effizienter. Dies ist besonders vorteilhaft, da der ESP32-C3 Mini im Vergleich zu einem klassischen Arduino weniger verfügbare GPIOs hat. Programm: Timerschaltung am ESP32-C3 Mini in der Arduino IDEHerunterladen fertiges Programm für eine Timerschaltung am ESP32-C3 Mini /* * Autor: Stefan Draeger * Webseite: https://draeger-it.blog * Beitrag: https://draeger-it.blog/esp32-c3-mini-die-perfekte-basis-fuer-eine-moderne-timerschaltung/ * * Beschreibung: * Diese Firmware steuert eine Timerschaltung mit einer 7-Segment-Anzeige (TM1637), * Tastern zur Zeiteinstellung, LEDs zur Statusanzeige und einem akustischen Alarm über einen Buzzer. * Die Zeit kann in Sekunden oder Minuten eingestellt und per Start/Stopp-Taste gesteuert werden. * * Funktionen: * - Anzeige der verbleibenden Zeit auf einer TM1637 7-Segment-Anzeige * - Steuerung der Zeit über Taster (Erhöhung/Verringerung in Sekunden oder Minuten) * - Akustischer Alarm nach Ablauf des Timers mit abwechselnden LED-Signalen * - Speicherung und Aktualisierung des Timers in der Loop * - Start/Stopp-Funktion für den Timer */ #include // Bibliothek für 7-Segment-Anzeige TM1637 #include // Bibliothek für die Taster-Entprellung // Definition der LED-Pins #define led1 20 #define led2 21 // Definition der Pins für die 7-Segment-Anzeige (TM1637) #define segmentanzeige_CLK 3 #define segmentanzeige_DIO 4 TM1637Display display(segmentanzeige_CLK, segmentanzeige_DIO); // Anzeige-Objekt erstellen // Definition der Taster-Pins #define tasterStartStopp 5 #define tasterPlus 6 #define tasterMinus 7 #define tasterSelect 8 // Taster-Objekte für die Entprellung Bounce bceTasterStartStopp = Bounce(); Bounce bceTasterPlus = Bounce(); Bounce bceTasterMinus = Bounce(); Bounce bceTasterSelect = Bounce(); // Definition der Pins für Buzzer und Status-LED #define buzzerLeft 10 #define buzzerRight 2 #define statusLed 9 // Variablen für die Timer-Logik unsigned int timeAuswahl = 0; // Auswahlmodus für Zeit (Sekunden/Minuten) unsigned int seconds = 0; // Aktuelle Zeit in Sekunden const unsigned int PAUSE = 1000; // Zeitintervall für Timer-Update (1 Sekunde) const unsigned int PAUSE_ALARM = 250; // Zeitintervall für Alarmton unsigned long lastAction = 1L; // Zeitstempel für letzte Aktion bool clockStarted = false; // Timer läuft oder nicht bool clockAlarm = false; // Alarmstatus bool lastStateLED = false; // Zustand der LEDs für Alarm void setup() { // Setzt die Pin-Modi für LEDs, Buzzer und Status-LED pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(buzzerLeft, OUTPUT); pinMode(buzzerRight, OUTPUT); pinMode(statusLed, OUTPUT); // Helligkeit der 7-Segment-Anzeige einstellen (0-7, hier maximale Helligkeit) display.setBrightness(7); // Anzeige mit allen Segmenten aktivieren (zum Test) uint8_t data = { 0xff, 0xff, 0xff, 0xff }; display.setSegments(data); // Taster mit Pullup-Widerständen initialisieren und Entprellzeit setzen bceTasterStartStopp.attach(tasterStartStopp, INPUT_PULLUP); bceTasterStartStopp.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); // LEDs und Status-LED ausschalten digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(statusLed, LOW); displayTime(); // Startanzeige aktualisieren } // Zeigt die aktuelle Zeit auf der 7-Segment-Anzeige an void displayTime() { int minutes = seconds / 60; // Maximale Anzeige auf 99 Minuten begrenzen if (minutes > 99) { minutes = 99; } // Anzeige im Format MM:SS int fourDigitValue = (minutes * 100) + (seconds % 60); display.showNumberDecEx(fourDigitValue, 0b01000000, true, 4, 4); } // Reduziert die verbleibende Zeit um eine Sekunde void incrementTime() { unsigned long currentMillis = millis(); if ((lastAction + PAUSE) lastAction = currentMillis; if (seconds > 0) { seconds--; // Eine Sekunde abziehen if (seconds == 0) { clockAlarm = true; // Timer abgelaufen, Alarm aktivieren } } } displayTime(); } // Spielt einen akustischen Alarm ab und wechselt die LEDs void playAlarm() { unsigned long currentMillis = millis(); if ((lastAction + PAUSE_ALARM) lastAction = currentMillis; // Wechselton für den Alarm (zwei verschiedene Frequenzen) if (lastStateLED) { noTone(buzzerRight); tone(buzzerLeft, 1400); } else { noTone(buzzerLeft); tone(buzzerRight, 700, 175); } // LED-Zustand ändern, um visuelles Signal zu erzeugen digitalWrite(led1, lastStateLED); digitalWrite(led2, !lastStateLED); lastStateLED = !lastStateLED; } } void loop() { // Taster-Status aktualisieren bceTasterPlus.update(); bceTasterMinus.update(); bceTasterSelect.update(); // Wenn der Timer nicht läuft, kann die Zeit eingestellt werden if (!clockStarted) { bool buttonPressed = false; // Umschalten zwischen Sekunden- und Minutenmodus if (bceTasterSelect.fell()) { timeAuswahl = (timeAuswahl == 0) ? 1 : 0; } // Zeit erhöhen if (bceTasterPlus.fell()) { buttonPressed = true; if (timeAuswahl == 0) { seconds++; } else { seconds += 60; } } // Zeit verringern, falls Sekunden > 0 sind if (bceTasterMinus.fell() && seconds > 0) { buttonPressed = true; if (timeAuswahl == 0) { seconds--; } else { seconds -= 60; } } // Anzeige aktualisieren, falls sich die Zeit geändert hat if (buttonPressed) { displayTime(); } } // Falls der Timer läuft und der Alarm noch nicht aktiv ist, Zeit herunterzählen else if (clockStarted && !clockAlarm) { incrementTime(); } if (clockStarted && clockAlarm) { playAlarm(); } // Start/Stopp-Taster auslesen bceTasterStartStopp.update(); // Timer starten oder stoppen if (bceTasterStartStopp.fell()) { clockStarted = !clockStarted; clockAlarm = false; digitalWrite(statusLed, clockStarted); // LEDs zurücksetzen digitalWrite(led1, LOW); digitalWrite(led2, LOW); noTone(buzzerRight); noTone(buzzerLeft); } }
Aufbau der Schaltung mit EasyEDA
Die Platine habe ich in der Online Version von EasyEDA entwickelt, durch die große Bibliothek welche vom Hersteller und der Community gepflegt wird ist diese meine erste Wahl.
Tumblr media
Das Hintergrundbild also quasi den "Wecker" habe ich mir recht günstig bei Etsy.com gekauft und somit sogar noch einen anderen Creator mit diesem Projekt unterstützt ;).
Ausblick
Als nächstes möchte ich dieses Projekt, wie bereits erwähnt, für das Jugendfreizeitzentrum Schöningen umsetzen. Besonders spannend daran ist, dass die Teilnehmer nicht nur das Löten auf einer Platine erlernen, sondern auch erste Erfahrungen im Programmieren sammeln können. Zudem lässt sich der Code erweitern, um beispielsweise die aktuelle Uhrzeit aus dem Internet über einen NTP-Server auf der Segmentanzeige darzustellen. Der ESP32-C3 Mini eröffnet dabei viele weitere Möglichkeiten für kreative Erweiterungen. Read the full article
0 notes
chaddavisphotography · 3 months ago
Photo
Tumblr media
A HLK-LD2410B connected to a ESP32-C3 mini computer with a USB cable plugged in.
0 notes
ivoras-electronics · 7 months ago
Text
ESP32-C3 BLE / WiFi dev board with 0.42-inch OLED notes
I got some ESP32-C3 dev boards with built-in OLED screens for a Halloween costume project, and I've been troubled by the lack of documentation and general information about both the ESP32-C3 platform and the board, so here are some notes for future hackers:
OLED type is SH1106, not SSD1306, as seen in some forum posts and even in the blurry screenshot that accompanies these boards. Specifically, the U8G2 constructor for this board is U8G2_SH1106_72X40_WISE_F_HW_I2C(). With the SSD1306 driver, the screen pixels are shifted to the left and there's a column or two of corrupted data on the right-hand-side of the OLED screen.
Apparently the ESP32-C3 chip cannot measure its supply voltage internally, something that even ATtiny chips can do :(
Proper Arduino configuration is:
Tumblr media
(CPU frequency and partition setup are of course configurable).
I'm not sure yet if I2C is actually hardware-offloaded here, but the pins are apparently non-default, with SDA=5, SCL=6. At least the display speed doesn't change at all when changing the I2C frequency. I don't have the equipment to measure this, but so far it looks like I2C clock speed is ignored. Anyway, I can get about 73 FPS, or about 11ms per frame draw on the built-in 72x40 OLED.
But overall, looks like a nice dev board, and it's neat that it's powered by a RISC-V microcontroller. Perfect for hobby projects that don't need many pins.
Buy the board here.
0 notes
campuscomponent · 5 days ago
Text
WIRELESS MODULE with BLE and WiFi – ESP32-C3-DevKitM-1 The ESP32-C3-DevKitM-1 from Campus Component is a low-power, cost-effective solution for IoT developers. It combines WiFi and Bluetooth LE connectivity in a compact design. Featuring robust security features and efficient processing capabilities, this board is suitable for smart home devices, health monitors, and industrial IoT systems. It supports Espressif’s ESP-IDF framework.
0 notes
dilfslayer1080p · 4 months ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media
LAMP DONE. SOLDERING IS HELL. Enjoy some fun colors.
If anyone's interested in how this actually works it's an esp32-c3 supermini running wled with a WS2812b ultra narrow led strip. It has it's own wifi network. Technology is magic.
112 notes · View notes
utopicwork · 3 months ago
Note
Hi, I'm a junior in university right now working towards my bachelor's in electrical engineering and I've since realized I have no idea wtf I'm doing. Do you have some resources on how to begin designing electric circuits and programming in C? You seem like you know what you're doing
So I've thought about this a good bit and what helped me learn both times was hands on practice so I'd see about getting a cheap breadboard kit like this:
But probably not this one exactly, you can get something similar for way cheaper.
As for specific literature for circuitry I don't have a recommendation but I can recommend picking varying difficulties of diy projects that require circuitry at the beginning to get comfortable and bringing that comfortability to your school projects.
For using C with circuitry I'll say the best path is definitely buying a cheap esp32 board, something based on the c3 would probably be cheapest. There is tons of documentation on how to use these boards and I've found that PlatformIO + VS code/vscodium is a very good setup for programming these boards.
19 notes · View notes
thamechanist · 5 months ago
Text
So I was prototyping and scoping things out, and it turns out there's actually a fair bit of room in the core of a ghost for electronics
Tumblr media
From front to back, we have:
The front casing - please ignore how scruffy this looks, it was a rough print with whatever material I had lying around
Tumblr media
The led ring - not entirely sold on this bit. Might see if I can find a small round screen to fit inside, once I've modified the design a bit
Tumblr media
The seeed xiao esp32-c3 core. Might see if I can upgrade this to their S3 or C6 version for the proper build
Tumblr media
A nifty lil' qt py bff board that incorporates both a BMP280(for environmental sensing) and a BMO055 for orientation/speed/heading/etc.
Tumblr media
Another bff board, this time with a teeny-tiny lil' audio amplifier & sd card reader - so I can have it make a great many sounds
Tumblr media
And finally the rear case
Tumblr media
Oh god... I'm definitely going to have to get back into destiny now, aren't I?
12 notes · View notes
allie-leth · 8 days ago
Text
Yay esp32-s3 debug now works as expected. Takes 3 clicks, time to write a script Anyone got some spare usbser drivers so i can unbrick the esp32-s3 and esp32-c3 laying here that got murdered in my quest?
2 notes · View notes
adafruit · 1 year ago
Text
Tumblr media
Coming soon - This ESP32-C6 feather is a Matter of fact
ESP32-C6 (https://www.adafruit.com/product/5672) is Espressif’s first Wi-Fi 6 SoC integrating 2.4 GHz Wi-Fi 6, Bluetooth 5 (LE) and the 802.15.4 protocol. It brings the goodness you know from the low-cost C3 series (https://www.adafruit.com/product/5337) and improves it with Zigbee/802.15.4 at 2.4Ghz. That means it could make for great Matter (https://csa-iot.org/all-solutions/matter/) development hardware!
We took our Feather ESP32-S2 (https://www.adafruit.com/product/5000) and swapped out the 'S2 for a C6. Plus some re-routing and here's what we've got: a C6 Feather with lots of GPIO, lipoly charging and monitoring with the MAX17048, (https://www.adafruit.com/product/5580) NeoPixel, I2C Stemma QT port, and a second low-quiescent LDO for disabling the I2C and NeoPixel when we want ultra-low power usage. We also tossed a BME280 (https://www.adafruit.com/product/2652) on there, so you could use it immediately as a low power temp/hum/pressure sensor.
4 notes · View notes
digitalmore · 24 days ago
Text
0 notes
draegerit · 2 months ago
Text
ESP32-C3 Mini im Deep Sleep: So verlängerst du die Akkulaufzeit
Tumblr media
Der ESP32-C3 Mini ist ein leistungsstarker Mikrocontroller mit integriertem Wi-Fi und Bluetooth, ideal für energieeffiziente IoT-Projekte. Doch gerade in batteriebetriebenen Anwendungen ist es entscheidend, den Stromverbrauch so gering wie möglich zu halten. Eine effektive Methode dafür ist der Deep Sleep Modus, in dem der ESP32-C3 Mini nur minimal Energie verbraucht und dennoch jederzeit aufwachen kann. https://youtu.be/qS03yO8yFQg In diesem Beitrag zeige ich dir, wie du den ESP32-C3 Mini in den Deep Sleep versetzt und mit zwei verschiedenen Methoden wieder aufweckst: - Per Taster und Interrupt-Pin – Eine praktische Lösung, um den Mikrocontroller durch eine externe Eingabe zu aktivieren. - Per Timer – Hier wacht der ESP32-C3 Mini nach einer voreingestellten Zeit automatisch auf. Mit diesen Techniken kannst du die Akkulaufzeit deines Projekts erheblich verlängern, ohne auf wichtige Funktionen zu verzichten. Los geht’s!
Tumblr media
ESP32-C3 mit LED
Tumblr media
ESP32-C3 mit Taster und LED
Deep Sleep für stromsparenden Einsatz der Schaltung am ESP32
Der ESP32 kann ganz einfach in den Tiefschlaf-Modus (Deep Sleep) versetzt werden, um Strom zu sparen. Dabei gibt es verschiedene Möglichkeiten, ihn wieder aufzuwecken: - Per Timer – Der Mikrocontroller wird nach einer bestimmten Zeit automatisch aufgeweckt, führt eine definierte Aufgabe aus und geht anschließend selbstständig wieder in den Tiefschlaf. - Per Interrupt-Pin – Der Mikrocontroller wacht auf, sobald ein externes Signal (z. B. ein Taster oder Sensor) den Interrupt auslöst. Aufwecken aus dem Deep Sleep via Timer Dieses Beispiel zeigt, wie ein ESP32-C3 in einem Intervall von 5 Sekunden aufwacht, eine LED aktiviert und dann wieder in den Tiefschlaf (Deep Sleep) geht. Funktionsweise: - Der ESP32 wacht alle 5 Sekunden auf. - Er aktiviert eine LED für 250 Millisekunden. - Anschließend wird die Anzahl der Boot-Zyklen gezählt und ausgegeben. - Danach geht der ESP32 wieder in den Tiefschlaf.
Tumblr media
ESP32-C3 mit LED
Tumblr media
Schaltung: ESP32-C3 Mini mit LED Quellcode /* Autor: Stefan Draeger Webseite: https://draeger-it.blog Beschreibung: Dieses Beispiel zeigt, wie ein ESP32-C3 in einem Intervall von 5 Sekunden aufwacht, eine LED aktiviert und dann wieder in den Tiefschlaf (Deep Sleep) geht. Funktionsweise: - Der ESP32 wacht alle 5 Sekunden auf. - Er aktiviert eine LED für 250 Millisekunden. - Anschließend wird die Anzahl der Boot-Zyklen gezählt und ausgegeben. - Danach geht der ESP32 wieder in den Tiefschlaf. */ // Umrechnungsfaktor für Mikrosekunden zu Sekunden #define uS_TO_S_FACTOR 1000000ULL // 1 Sekunde = 1.000.000 Mikrosekunden #define TIME_TO_SLEEP 5 // Zeitspanne des Tiefschlafs in Sekunden // LED-Pin Definition #define led 4 // Die LED ist mit GPIO4 verbunden // Speichert die Anzahl der Boot-Zyklen im RTC-Speicher (bleibt beim Deep Sleep erhalten) RTC_DATA_ATTR int bootCount = 0; void setup() { Serial.begin(115200); // Startet die serielle Kommunikation mit 115200 Baud delay(1000); // Kurze Wartezeit zur Stabilisierung pinMode(led, OUTPUT); // Setzt den LED-Pin als Ausgang // LED für 250 Millisekunden aktivieren digitalWrite(led, HIGH); delay(250); // Kurze Verzögerung, um das Blinken sichtbar zu machen // Boot-Zähler erhöhen und ausgeben ++bootCount; Serial.println("Start: #" + String(bootCount)); // Konfigurieren des Timers für den Tiefschlaf esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); Serial.println("Der ESP32 geht nun für " + String(TIME_TO_SLEEP) + " Sekunden schlafen!"); Serial.println("Gute Nacht!"); Serial.flush(); // Wartet darauf, dass die serielle Ausgabe abgeschlossen ist // Tiefschlafmodus aktivieren esp_deep_sleep_start(); // Diese Zeile wird nie erreicht, da der ESP32 in den Tiefschlaf geht Serial.println("!!Diese Ausgabe wird nie erscheinen!!"); } void loop() { // Die Loop-Funktion bleibt leer, da der ESP32 immer wieder in den Tiefschlaf geht. } Aufwecken aus dem Deep Sleep via Interrupt Pin Dieses Programm nutzt einen Taster, um den ESP32-C3 aus dem Deep Sleep zu wecken. Nach dem Aufwachen blinkt eine LED 10 Mal, während ein Indexwert über die serielle Schnittstelle ausgegeben wird. Danach geht der ESP32 wieder in den Tiefschlaf, bis der Taster erneut gedrückt wird. Hardware: - Der Taster ist an GPIO2 angeschlossen. - Die LED ist an GPIO4 angeschlossen. - Der ESP32 geht in den Tiefschlaf und wird durch den Taster wieder aktiviert.
Tumblr media
ESP32-C3 mit Taster und LED
Tumblr media
Schaltung: ESP32-C3 mit LED und Taster Für den Taster können nur die GPIOs 0, 2, 4 am ESP32-C3 verwendet werden. Quellcode /* Autor: Stefan Draeger Webseite: https://draeger-it.blog Beschreibung: Dieses Programm nutzt einen Taster, um den ESP32-C3 aus dem Deep Sleep zu wecken. Nach dem Aufwachen blinkt eine LED 10 Mal, während ein Indexwert über die serielle Schnittstelle ausgegeben wird. Danach geht der ESP32 wieder in den Tiefschlaf, bis der Taster erneut gedrückt wird. Hardware: - Der Taster ist an GPIO2 angeschlossen. - Die LED ist an GPIO4 angeschlossen. - Der ESP32 geht in den Tiefschlaf und wird durch den Taster wieder aktiviert. */ // Definition der verwendeten GPIO-Pins #define LED 4 // LED ist mit GPIO4 verbunden #define WAKEUP_PIN 2 // Taster ist mit GPIO2 verbunden // Speichert die Anzahl der Boot-Zyklen im RTC-Speicher (bleibt nach dem Deep Sleep erhalten) RTC_DATA_ATTR int bootCount = 0; // Speichert den aktuellen Blink-Index im RTC-Speicher (bleibt nach dem Deep Sleep erhalten) RTC_DATA_ATTR int blinkIndex = 0; void setup() { Serial.begin(115200); // Startet die serielle Kommunikation mit 115200 Baud delay(500); // Kurze Wartezeit zur Stabilisierung pinMode(LED, OUTPUT); // Setzt den LED-Pin als Ausgang // Die LED 10 Mal blinken lassen und den Index ausgeben for (int i = 1; i - - - - Read the full article
0 notes
tonieletronica-blog · 7 months ago
Photo
Tumblr media
Placa de desenvolvimento prática ESP32-C3 com display IPS com touch + diversos sensores e exemplos de uso
1 note · View note
svsembedded · 1 year ago
Video
youtube
ESP32 GPS Tracker - IoT based Track a Vehicle Using Telegram App and Live Location on Google Maps | ESP32 SIM800L GPS Tracker | Vehicle Tracking System using ESP32 | ESP32 GPS Tracker - IoT based Vehicle Tracking System | Vehicle tracking | Getting started with firmware |VALTRACK-V4-VTS-ESP32-C3 | IoT based Vehicle Management System using ESP32***********************************************************If You Want To Purchase the Full Working Project KITMail Us: [email protected] Name Along With You-Tube Video LinkWe are Located at Telangana, Hyderabad, Boduppal. Project Changes also Made according to Student Requirementshttp://svsembedded.com/                  https://www.svskits.in/ http://svsembedded.in/                  http://www.svskit.com/M1: 91 9491535690                  M2: 91 7842358459 We Will Send Working Model Project KIT through DTDC / DHL / Blue Dart / First Flight Courier ServiceWe Will Provide Project Soft Data through Google Drive1. Project Abstract / Synopsis 2. Project Related Datasheets of Each Component3. Project Sample Report / Documentation4. Project Kit Circuit / Schematic Diagram 5. Project Kit Working Software Code6. Project Related Software Compilers7. Project Related Sample PPT’s8. Project Kit Photos9. Project Kit Working Video linksLatest Projects with Year Wise YouTube video Links157 Projects  https://svsembedded.com/ieee_2022.php135 Projects  https://svsembedded.com/ieee_2021.php 151 Projects  https://svsembedded.com/ieee_2020.php103 Projects  https://svsembedded.com/ieee_2019.php61 Projects    https://svsembedded.com/ieee_2018.php171 Projects  https://svsembedded.com/ieee_2017.php170 Projects  https://svsembedded.com/ieee_2016.php67 Projects    https://svsembedded.com/ieee_2015.php55 Projects    https://svsembedded.com/ieee_2014.php43 Projects    https://svsembedded.com/ieee_2013.php1100 Projects https://www.svskit.com/2022/02/900-pr...***********************************************************1. Google Maps and Live Location Tracking,2. How to track exact location of your family members by using Google maps,3. Track Live Location With Google Maps - Google Maps Live Location,4. How to Track Location of Your Family
0 notes
campuscomponent · 5 months ago
Text
0 notes
fernand0 · 1 year ago
Link
0 notes