This is an old revision of the document!


Tamagotchi Circuits

Introducere

Tamagotchi Circuits este un proiect individual care combină embedded cu o interfață web servită de ESP32.

Ideea principală: o fantomă (Ghost Boo) afișată pe un ecran OLED devine tristă în timp. Pentru a o menține fericită, utilizatorul trebuie să joace minigame-uri — unele dintre ele implică construirea unor circuite electronice reale pe breadboard, pe care ESP32 le validează și le grafică.

Scopul proiectului este de a oferi un sistem de recompensă concret (menținem fantoma fericită) prin construirea și înțelegerea unor circuite electronice, învățând astfel concepte de bază din electronică și fizică:

  1. Voltage divider
  2. RC circuit — utilizatorul primește un τ țintă, fantoma grafică curba de descărcare
  3. RC high-pass / low-pass filter — fantoma devine fericită dacă filtrul funcționează corect
  4. Diode half-wave rectifier
  5. Capacitor as power buffer — ESP taie GPIO-ul, ADC-ul măsoară cât timp condensatorul menține tensiunea
  6. LDR light sensor — divizor de tensiune cu fotorezistență
  7. Transistor switch — ESP conduce baza, măsoară colectorul

TODO: Abstractizare generală a conceptului de „circuit minigame” ca struct/clasă — similar cu perechea GPIO25/GPIO34 din circuitul RC, fiecare minigame expune un GPIO de ieșire, unul de intrare (ADC), o funcție de măsurare și un criteriu de validare.

Am pornit de la ideea de a face un personaj tip Tamagotchi care devine fericit când este încălzit (senzor de temperatură extern) și am ajuns la un sistem complet de minigame-uri de electronică.

Proiectul este util pentru că stimulează dorința de a învăța electronică și de a construi circuite corecte, într-un mod interactiv și vizual.

Descriere Generală

Tipuri de minigame-uri

^ # ^ Minigame ^ Descriere ^ Reward ^

1 Circuit minigame Construiești un circuit real pe breadboard; ESP32 îl măsoară și validează Fantoma animează o secvență de bucurie
2 Temperature minigame Încălzești senzorul LM-35 cu mâna sau o sursă de căldură Fantoma „se încălzește” vizual pe OLED
3 Metronome minigame Reglezi două potențiometre pentru a seta frecvența și duty cycle-ul unui buzzer pasiv Fantoma dansează pe ritmul setat
4 Deadbeet rhythm game ESP32 redă o secvență de LED-uri; utilizatorul o repetă folosind butoane tactile Fantoma aplaudă dacă secvența e corectă

Schema bloc

Modulele principale și interacțiunile dintre ele:

  • Interfața utilizator (WiFi 802.11 b/g/n) — o pagină web servită direct de ESP32 prezintă minigame-ul curent și, pentru circuit minigame-uri, schema circuitului de construit
  • ESP-32 Devkit V1 — nucleul sistemului; orchestrează toate minigame-urile, servește interfața web, conduce OLED-ul și perifericele
  • OLED SH1106 — afișează fantoma și starea ei (fericită / tristă / măsurând)
  • Buzzer pasiv (PWM) — folosit în metronome minigame
  • LED-uri (RGB) — folosite în deadbeet rhythm game
  • 3 butoane tactile (GPIO) — input pentru deadbeet rhythm game
  • ADC GPIO34 — măsurare circuit RC
  • ADC GPIO35 — senzor temperatură LM-35
  • ADC GPIO32 — potențiometru minigame

Hardware Design

Listă de piese

^ # ^ Componentă ^ Cantitate ^ Observații ^

1 ESP-32 Devkit V1 (DOIT) 1 Microcontroller principal
2 Ecran OLED SH1106 1.3”, 128×64, I2C 1 SDA→GPIO21, SCL→GPIO22
3 Senzor temperatură LM-35 1 ADC→GPIO35
4 Butoane tactile 3 Deadbeet rhythm game
5 LED-uri (preferabil RGB) 3 Deadbeet rhythm game
6 Buzzer pasiv 1 Metronome minigame (PWM)
7 Potențiometre 2–3 Metronome minigame + potentiometer minigame
8 Rezistențe, condensatoare, diode, fotorezistențe, tranzistoare asortate Pentru circuit minigame-uri
9 Fire de breadboard + breadboard Conectică generală
10 Smartphone (WiFi) 1 Interfața utilizator web

Scheme electrice

TODO: Schemă electrică pentru circuitul RC (GPIO25 → R → C → GPIO34/GND)

TODO: Schemă electrică pentru voltage divider minigame

TODO: Schemă electrică pentru LDR light sensor (divizor de tensiune cu fotorezistență)

TODO: Schemă electrică pentru transistor switch (NPN, ESP conduce baza, măsoară colectorul)

TODO: Schemă electrică pentru deadbeet rhythm game (3 butoane + 3 LED-uri)

TODO: Schemă electrică pentru metronome minigame (2 potențiometre + buzzer pasiv)

Diagrame de semnal

TODO: Diagramă semnal pentru RC circuit minigame — curba V(t) = V₀·(1 - e^(-t/τ)) capturată pe ADC, cu τ măsurat și τ țintă suprapuse

TODO: Diagramă semnal pentru deadbeet rhythm game — secvența ESP vs. secvența introdusă de utilizator

Rezultatele simulării

TODO: Nu se aplică direct — validarea se face pe hardware real. Eventual: simulare RC în Falstad Circuit Simulator pentru verificarea valorilor R și C.

Software Design

TODO: De completat după implementare. Secțiuni planificate:

  • Mediu de dezvoltare: PlatformIO + ESP-IDF v5.x
  • Librării third-party: niciuna — driver SH1106 custom, ADC oneshot driver (ESP-IDF built-in)
  • Algoritmi planificați:
    • Curve fitting exponențial prin linearizare (ln) + least-squares — pentru RC minigame
    • Web server HTTP minimal servit din flash (SPIFFS) — pentru interfața WiFi
    • Sistem de stare al fantomei (fericită / neutră / tristă) cu animații OLED distincte
    • Abstractizare generală „circuit minigame” (struct cu GPIO in/out, funcție de măsurare, criteriu de validare, toleranță)

Rezultate Obținute

TODO: De completat după finalizarea proiectului.

Concluzii

TODO: De completat după finalizarea proiectului.

Download

TODO: Arhivă cu sursele finale, README și instrucțiuni de compilare/flash.

Jurnal

  • 11 aprilie — prima comandă: breadboard, SSD1306 (OLED 0.96” I2C), LM-35
  • 6 mai — a doua comandă: ESP-32, SH1106 (OLED 1.3” I2C)
  • 10 mai — primul demo funcțional: fantoma animată pe OLED, circuit RC pe breadboard, grafic al curbei de descărcare afișat pe ecran

Bibliografie/Resurse

pm/prj2026/theodor_ioan.buliga/ioan.sabou.1778451017.txt.gz · Last modified: 2026/05/11 01:10 by ioan.sabou
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0