DIY ESP32 Universele Timer met Touchscreen

Projectomschrijving

Het CrowPanel 2.1-inch ESP32-S3 display kan worden getransformeerd in een compacte, intuïtieve en zeer praktische universele timer met zowel visuele als hoorbare indicaties.

Dit project is gebaseerd op het CrowPanel 2.1-inch HMI ESP32 Rotary Display. Deze compacte en praktische module combineert een circulair kleuren-touchscreen, een ESP32-S3 microcontroller, een rotary encoder met een drukknop en een I2C-connector voor communicatie met externe apparaten. Deze combinatie van functies maakt het een ideaal platform voor een universele timer met een strakke, gebruiksvriendelijke interface en een eenvoudige manier om de gewenste tijd in te stellen.

Dit project is gesponsord door PCBWay. In de PCBWay Open Source Community zijn talloze nuttige projecten te vinden in verschillende categorieën. Hier kunnen gebruikers ook Gerber-bestanden downloaden of kant-en-klare PCB's bestellen.

Functionaliteit en Bediening

Het hoofddoel was om een timer te creëren die bijna volledig met de rotary encoder kan worden bediend:

  • Tijd instellen: Draai aan de encoder om de gewenste tijd in te stellen.
  • Start/Pause: Een korte druk op de knop start, pauzeert of hervat de aftelling.
  • Reset: Een lange druk op de knop zet de timer onmiddellijk terug naar nul.

Visuele weergave

Het circulaire display dient als visuele representatie van de resterende tijd. Het rode vlak representeert de geselecteerde of resterende tijd, terwijl het witte vlak geleidelijk toeneemt tijdens de aftelling. Dankzij tekeningen op basis van een framebuffer verlopen alle grafische wijzigingen vloeiend en zonder hinderlijk flikkeren.

Tijdsbereiken en kleuren

Er zijn vier tijdsbereiken beschikbaar, die kunnen worden gewijzigd door op het onderste gedeelte van het display te tikken. Elk bereik heeft een eigen kleurcode om de resterende tijd makkelijker te kunnen inschatten zonder de numerieke weergave af te lezen:

  • 1 minuut: Geel
  • 10 minuten: Turquoise
  • 30 minuten: Oranje
  • 60 minuten: Magenta

Audible indicatie

Voor extra meldingen is er een externe PCF8574 I2C I/O expander en een actieve buzzer aangesloten. Wanneer de aftelling nul bereikt, knippert het display drie keer rood terwijl de buzzer drie gesynchroniseerde piepjes geeft.

Deze compacte timer is zeer eenvoudig te bedienen en kan nuttig zijn in de werkplaats, keuken, laboratorium, bij fotografie, elektronica-experimenten of overal waar een eenvoudige visuele countdown timer nodig is.

Installatie en Configuratie

Om een zwart scherm of ongewenst flikkeren te voorkomen, zijn de volgende installaties en instellingen noodzakelijk:

Software:

  • ESP32 Core versie 2.0.17 in de Arduino IDE.
  • Arduino_GFX bibliotheek versie 1.6.1.

ESP32 S3 instellingen:

  • Flash Size: 16MB
  • Partition Scheme: Huge APP
  • PSRAM: OPI psram

De meeste parameters zijn gedefinieerd aan het begin van de code, waardoor modificaties (zoals het wijzigen van kleuren of geometrie) eenvoudig kunnen worden doorgevoerd. De volledige Arduino-code en aanvullende informatie zijn beschikbaar in de projectbeschrijving onder de bijbehorende video.

Benodigdheden

  • 1 × CrowPanel 2.1-inch HMI ESP32 Rotary Display
  • 1 × PCF8574 I2C I/O expander
  • 1 × Buzzer

Bestanden

  • Schematic.jpg (JPEG-afbeelding)
  • Code V 0.9 Final .txt (Tekstbestand)