Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:theodor_ioan.buliga:ioan.sabou [2026/05/11 01:08]
ioan.sabou [Schema bloc]
pm:prj2026:theodor_ioan.buliga:ioan.sabou [2026/05/27 01:12] (current)
ioan.sabou [Scheme electrice]
Line 1: Line 1:
 ====== Tamagotchi Circuits ====== ====== Tamagotchi Circuits ======
- +
 ===== Introducere ===== ===== Introducere =====
-  + 
-Tamagotchi Circuits este un proiect individual care combină embedded cu o interfață ​web servită de ESP32. +Tamagotchi Circuits este un proiect individual care combină embedded cu o interfață ​hardware interactivă pe 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ă+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 face graficul pe un al doilea ecran OLED dedicat minigame-urilor
-  + 
-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ă: +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ă. 
-  + 
-  - Voltage divider +Proiectul este finalizat cu 9 minigame-uri funcționale:​ potentiometer, ​RC circuit ​(6 configurații)voltage divider, diode rectifier, ​transistor ​switch, ​NPN amplifier, deadbeet rhythm, și metronome. 
-  ​- RC circuit ​— utilizatorul primește un τ țintăfantoma grafică curba de descărcare + 
-  - RC high-pass / low-pass filter — fantoma devine fericită dacă filtrul funcționează corect +Abstractizarea ​generală a conceptului de „circuit minigame"​ ca struct ​`minigame_t` este implementatăfiecare minigame expune ​`init``deinit``run` și un `mood_reward`,​ toate înregistrate într-un registry cu progresie liniară. 
-  - Diode half-wave ​rectifier +
-  - Capacitor as power buffer — ESP taie GPIO-ulADC-ul măsoară cât timp condensatorul menține tensiunea +
-  - LDR light sensor — divizor de tensiune cu fotorezistență +
-  - Transistor ​switch ​— ESP conduce bazamă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șireunul 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. 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ă ===== ===== Descriere Generală =====
-  + 
-==== Tipuri de minigame-uri ==== +==== Minigame-uri ==== 
-  + 
-^ # ^ Minigame ^ Descriere ^ Reward ​+^ # ^ Minigame ^ Descriere ^ GPIO-uri ^ Status ​^ 
-| 1 | Circuit minigame ​| Construiești ​un circuit real pe breadboard; ​ESP32 îl măsoară ​și validează | Fantoma animează o secvență de bucurie ​+| 0 | Potentiometer | Wiperul unui potențiometru;​ menții zona țintă random 3s | GPIO32 (ADC1 CH4) | ✓ Implementat | 
-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 +| 1 | RC circuit (6 config.) ​| Construiești ​R+C pe breadboard; ​ESP măsoară ​τ prin least-squares pe ln(V) | GPIO25 out, GPIO34 ADC | ✓ Implementat | 
-Metronome minigame ​Reglezi două potențiometre pentru a seta frecvența și duty cycle-ul unui buzzer pasiv Fantoma dansează pe ritmul setat +| 2 | Voltage divider | Doi rezistori în serie; ESP validează ​raportul de tensiune ​GPIO25 out, GPIO34 ADC | ✓ Implementat | 
-| Deadbeet rhythm ​game ESP32 redă o secvență de LED-uri; utilizatorul o repetă ​folosind ​butoane ​tactile ​Fantoma aplaudă dacă secvența e corectă ​+| 3 | RC low/​high-pass filter | R+C; ESP măsoară răspunsul în frecvență la PWM | GPIO25 PWM, GPIO34 ADC | TODO 
- +Diode rectifier ​Diodă + condensator pe semnal cosine 200Hz redresat; osciloscop live | GPIO25 DAC, GPIO34 ADC | ✓ Implementat | 
 +| 5 | Capacitor buffer | Condensatorul menține tensiunea după tăierea GPIO-ului | GPIO25 out, GPIO34 ADC | TODO | 
 +| 6 | Transistor switch | NPN în saturație (1kΩ bază); ESP conduce baza, măsoară Vc la colector ​GPIO25 out (bază), GPIO34 ADC (colector) | ✓ Implementat ​
 +6b NPN Amplifier ​NPN în regim activ (1MΩ bază); ESP măsoară β real (Ib=2.6µA fix) | GPIO25 out (bază), GPIO34 ADC (colector) | ✓ Implementat | 
 +| 7 | LM-35 temperature ​Senzor temperatură extern, output direct ​pe ADC | GPIO35 (ADC1 CH7) | TODO 
 +| Deadbeet rhythm | ESP redă o secvență de LED-uri; utilizatorul o repetă ​pe butoane ​colorate ​GPIO13/​12/​14 out (LED), GPIO19/​17/​16 in (R/G/B) | ✓ Implementat | 
 +| 9 | Metronome | Două potențiometre (BPM + duty cycle) + buzzer pasiv; ține 3s pentru pass GPIO32, GPIO35 ADC; GPIO23 PWM | ✓ Implementat | 
 + 
 +Games 1–6b partajează GPIO25 și GPIO34 — circuitul de pe breadboard se schimbă între ele, nu pinii. 
 ==== Schema bloc ==== ==== Schema bloc ====
  
-{{:​pm:​prj2026:​theodor_ioan.buliga:​tamagotchi.png?​1000|}} +{{:​pm:​prj2026:​theodor_Ioan.buliga:​tamagotchi.png?​600|}} 
- +
 Modulele principale și interacțiunile dintre ele: 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,​ conduce ​ambele ​OLED-uri și perifericele 
-  * **ESP-32 Devkit V1** — nucleul sistemului; orchestrează toate minigame-urile, servește interfața web, conduce OLED-ul și perifericele +  * **OLED SH1106 ​1.3"** — afișează fantoma ​permanent ​și starea ei (fericită / tristă / măsurând ​/ celebrând) 
-  * **OLED SH1106** — afișează fantoma și starea ei (fericită / tristă / măsurând)+  * **OLED SSD1306 0.96"​** — display dedicat minigame-urilor:​ instrucțiuni,​ bare de progres, osciloscop live
   * **Buzzer pasiv (PWM)** — folosit în metronome minigame   * **Buzzer pasiv (PWM)** — folosit în metronome minigame
-  * **LED-uri ​(RGB)** — folosite în deadbeet rhythm game +  * **LED-uri RGB** — folosite în deadbeet rhythm game 
-  * **3 butoane ​tactile ​(GPIO)** — input pentru deadbeet rhythm game +  * **Butoane ​tactile** — input pentru deadbeet rhythm game + butonul principal BTN_A (GPIO33) 
-  * **ADC GPIO34** — măsurare ​circuit ​RC +  * **ADC GPIO34** — măsurare ​circuite ​RC, voltage divider, rectifier, transistor, etc. 
-  * **ADC GPIO35** — senzor temperatură LM-35 +  * **ADC GPIO35** — senzor temperatură LM-35 / duty cycle metronome 
-  * **ADC GPIO32** — potențiometru minigame +  * **ADC GPIO32** — potențiometru minigame ​/ BPM metronome 
- +
 ===== Hardware Design ===== ===== Hardware Design =====
- + 
 +==== Pinout ==== 
 + 
 +=== Display-uri === 
 + 
 +^ Display ^ Diagonală ^ Rol ^ Bus I2C ^ SDA ^ SCL ^ Adresă ^ 
 +| SH1106 ​ | 1.3" | Ghost — permanent activ | I2C0 (I2C_NUM_0) | GPIO18 | GPIO5 | 0x3C | 
 +| SSD1306 | 0.96" | Minigame support | I2C1 (I2C_NUM_1) | GPIO4 | GPIO15 | 0x3C | 
 + 
 +Ambele display-uri au adresa 0x3C — menținute pe bus-uri separate pentru a evita conflictul. Ambele sunt cablate pe Side 1 al DevKit-ului pentru cablaj curat. 
 + 
 +=== Pini minigame-uri === 
 + 
 +^ # ^ Minigame ^ Circuit ^ Pini ^ 
 +| 0 | Potentiometer | Wiper pot la ADC | GPIO32 (ADC1 CH4) | 
 +| 1 | RC circuit | R + C la GND | GPIO25 out, GPIO34 ADC | 
 +| 2 | Voltage divider | Doi rezistori în serie | GPIO25 out, GPIO34 ADC | 
 +| 3 | RC low/​high-pass filter | R+C, măsurare răspuns frecvență | GPIO25 PWM, GPIO34 ADC | 
 +| 4 | Diode rectifier | Diodă + cap pe semnal cosine redresat | GPIO25 DAC, GPIO34 ADC | 
 +| 5 | Capacitor buffer | Cap menține tensiunea după GPIO cut | GPIO25 out, GPIO34 ADC | 
 +| 6 | Transistor switch | NPN saturație: 1kΩ bază, LED pe colector | GPIO25 out (bază 1kΩ), GPIO34 ADC (colector) | 
 +| 6b | NPN Amplifier | NPN activ: 1MΩ bază, 1kΩ colector, β real | GPIO25 out (bază 1MΩ), GPIO34 ADC (colector) | 
 +| 7 | Temperature LM-35 | Output LM-35 la ADC | GPIO35 (ADC1 CH7) | 
 +| 8 | Deadbeet rhythm | LED-uri secvență, butoane colorate repetă | GPIO13/​12/​14 out (R/G/B LED), GPIO19/​17/​16 in (R/G/B buton) | 
 +| 9 | Metronome | Două pot-uri + buzzer pasiv | GPIO32 ADC (BPM), GPIO35 ADC (duty), GPIO23 PWM | 
 + 
 +=== Pini ficși === 
 + 
 +^ Pin ^ Rol ^ 
 +| GPIO33 | BTN_A — buton principal (ISR, falling edge, debounce 300ms) | 
 +| GPIO23 | Buzzer PWM (metronome) | 
 ==== Listă de piese ==== ==== Listă de piese ====
- +
 ^ # ^ Componentă ^ Cantitate ^ Observații ^ ^ # ^ Componentă ^ Cantitate ^ Observații ^
 | 1 | ESP-32 Devkit V1 (DOIT) | 1 | Microcontroller principal | | 1 | ESP-32 Devkit V1 (DOIT) | 1 | Microcontroller principal |
-| 2 | Ecran OLED SH1106 1.3", 128×64, I2C | 1 | SDA→GPIO21, SCL→GPIO22 ​+| 2 | Ecran OLED SH1106 1.3", 128×64, I2C | 1 | SDA→GPIO18, SCL→GPIO5; display fantomă ​
-| 3 | Senzor temperatură LM-35 | 1 | ADC→GPIO35 | +| 3 | Ecran OLED SSD1306 0.96", 128×64, I2C | 1 | SDA→GPIO4,​ SCL→GPIO15;​ display minigame | 
-| Butoane tactile | Deadbeet ​rhythm ​game +| 4 | Senzor temperatură LM-35 | 1 | ADC→GPIO35 | 
-| LED-uri ​(preferabil ​RGB| 3 | Deadbeet rhythm game | +| Butoane tactile ​+ set butoane colorate SYB-120 ​4+ 3× deadbeet ​rhythm ​(R/G/B) + 1× BTN_A principal ​
-| Buzzer pasiv | 1 | Metronome minigame (PWM) | +| LED-uri RGB | 3 | Deadbeet rhythm game (R/​G/​B) ​
-| Potențiometre | 2–3 | Metronome minigame ​+ potentiometer minigame | +| Buzzer pasiv | 1 | Metronome minigame (PWM GPIO23) | 
-| Rezistențe,​ condensatoare,​ diode, fotorezistențe,​ tranzistoare ​| asortate | Pentru circuit minigame-uri | +| Potențiometre | 2+ | 1× potentiometer minigame ​(GPIO32), 1× metronome duty (GPIO35); potențiometre colorate SYB-120 ​
-Fire de breadboard ​breadboard ​— | Conectică generală | +| Rezistențe,​ condensatoare,​ diode | asortate | Pentru circuit minigame-uri ​(RC, divider, filter, rectifier) ​
-10 Smartphone ​(WiFi) | 1 | Interfața utilizator web +10 Tranzistoare NPN 2N2222 | 2+ | Transistor switch minigame (1kΩ bază) + NPN amplifier (1MΩ bază
- +11 Kit breadboard SYB-120 ​(Optimus Digital) | 1 | 4 breadboard-uri,​ fire, butoane colorate, potențiometre | 
 +| 12 | Fire de breadboard | — | Conectică generală ​
 ==== Scheme electrice ==== ==== Scheme electrice ====
-  + 
-**TODO:** Schemă electrică pentru circuitul RC (GPIO25 → R → C → GPIO34/GND+{{:pm:​prj2026:​theodor_Ioan.buliga:​schema_rc.pdf|Schema hardware placa (PDF)}} 
-  + 
-**TODO:** Schemă electrică pentru voltage ​divider ​minigame +**Voltage ​divider, RC circuit diode rectifier, transistor switch, NPN amplifier, deadbeet rhythm, metronome:** Vezi caietul ​cu ecuațiile și schemele pentru referință. 
-  + 
-**TODO:** Schemă electrică pentru LDR light sensor (divizor de tensiune ​cu fotorezistență) +**TODO:** Schemă electrică pentru ​RC low/​high-pass filter 
-  + 
-**TODO:** Schemă electrică pentru ​transistor switch (NPN, ESP conduce baza, măsoară colectorul) +**TODO:** Schemă electrică pentru ​capacitor buffer 
-  + 
-**TODO:** Schemă electrică pentru ​deadbeet rhythm game (3 butoane + 3 LED-uri) +**TODO:** Schemă electrică pentru ​LM-35 temperature sensor 
-  +
-**TODO:** Schemă electrică pentru ​metronome minigame (2 potențiometre + buzzer pasiv) +
- +
 ==== Diagrame de semnal ==== ==== 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 +Vezi caietul ​cu ecuațiile ​și schemele ​pentru ​referință. 
-  +
-**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 ===== ===== Software Design =====
-  + 
-**TODO:** De completat după implementare. Secțiuni planificate:​ +==== Mediu de dezvoltare ==== 
-  + 
-  ​* **Mediu de dezvoltare:​** PlatformIO + ESP-IDF v5.x +  * PlatformIO + ESP-IDF v5.x (framework-espidf) 
-  * **Librării third-party:​** niciuna — driver SH1106 ​custom, ADC oneshot ​driver ​(ESP-IDF built-in) +  * Toolchain: xtensa-esp-elf 
-  * **Algoritmi planificați:** +  ​* Librării third-party:​ niciuna — drivere ​custom ​pentru SH1106 și SSD1306, ADC oneshot (ESP-IDF built-in) 
-    * Curve fitting exponențial prin linearizare ​(ln+ least-squares — pentru RC minigame + 
-    * Web server HTTP minimal servit din flash (SPIFFS— pentru interfața WiFi +==== Arhitectură ==== 
-    * Sistem ​de stare al fantomei ​(fericită / neutră / tristă) cu animații OLED distincte + 
-    Abstractizare generală „circuit ​minigame" (struct cu GPIO in/outfuncție de măsurarecriteriu de validare, toleranță) +**Două task-uri FreeRTOS:*
-  +  * `ghost_task` — 8KB stack, rulează permanent la 50ms tick; gestionează animațiile fantomei, decayul de mood șspawn-ul minigame_task 
-===== Rezultate Obținute ===== +  * `minigame_task` — 4KB stack, spawnat on-demand la apăsarea butonului; distrus la finalul minigame-ului 
-  + 
-**TODO:*De completat după finalizarea proiectului. +**Abstractizare minigame (`minigame_t`):** 
- +<code c> 
 +typedef struct { 
 +    ​const char  ​*name;          // afișat pe SH1106 „NEXT:"​ 
 +    esp_err_t  ​(*init)(void); ​  // configurare GPIO/ADC 
 +    ​void       (*deinit)(void); // restaurare GPIO safe state 
 +    ​bool       (*run)(void); ​   // loop blocant; true = pass 
 +    uint8_t ​    ​mood_reward; ​   // puncte mood la PASS 
 +} minigame_t;​ 
 +</​code>​ 
 + 
 +**Registry (`minigame_registry.c`):​** progresie liniară; `registry_advance()` apelat indiferent ​de rezultat ​(pass sau abort). 
 + 
 +**Ghost state machine:** 5 stări — NEUTRAL, SAD, HAPPY, CELEBRATING,​ MEASURING. Decay de mood dependent de bandă (mai rapid la mood scăzut). Animații 2-frame per stare pe SH1106. 
 + 
 +**Buton (`g_minigame_btn`):​** ISR pe GPIO33 (falling edge, debounce 300ms). Când un minigame este activ, apăsările sunt rutate prin `g_minigame_btn` — fiecare ​minigame ​își gestionează propria logică de stop/avans. 
 + 
 +==== RC Minigame — detalii algoritm ==== 
 + 
 +6 configurații modularetoți parametrii derivați din `tau_ms`: 
 + 
 +^ Config ^ R ^ C ^ τ ^ Concept ^ 
 +| RC 100ms | 1kΩ | 100µF | 100ms | Rezistență mică → descărcare rapidă | 
 +| RC 200ms | 2kΩ | 100µF | 200ms | R dublu → τ dublu | 
 +| RC 500ms | 10kΩ | 2×100µF serie | 500ms | C serie reduce capacitatea | 
 +| RC 1s | 10kΩ | 100µF | 1s | Configurație de bază 
 +| RC 2s | 10kΩ | 2×100µF paralel | 2s | C paralel dublează capacitatea | 
 +| RC 4s | 20kΩ (2× serie) | 2×100µF paralel | 4s | Compus — τ = R×C scalează cu ambii | 
 + 
 +  * `charge_ms = 6 × τ` (încărcare la 99.75% din Vs) 
 +  * `sample_interval_ms = 5τ / 128` (128 sample-uri acoperă 5τ) 
 +  * τ ≥ 500ms → osciloscop live (flush per sample); τ < 500ms → batch (toate sample-urileun singur flush) 
 +  * τ calculat prin least-squares pe ln(V(t)) cu timestamps reale (`esp_timer_get_time()`) 
 +  * Toleranță ±35% pentru a acomoda toleranța componentelor electronice (condensatoare ±20%
 + 
 +==== TODO Software ​==== 
 + 
 +  RC low/​high-pass filter minigame 
 +  ​Capacitor buffer minigame 
 +  ​LM-35 temperature minigame 
 ===== Concluzii ===== ===== Concluzii =====
-  + 
-**TODO:** De completat după finalizarea proiectului+Proiectul a atins obiectivul principal9 minigame-uri funcționale,​ fiecare cerând utilizatorului să construiască un circuit real pe breadboard și să îl valideze cu ESP32. 
- + 
 +Abstractizarea `minigame_t` s-a dovedit robustă — fiecare joc nou a necesitat modificări în exact 3 fișiere (minigame nou, `minigame_registry.c`,​ `minigame_rewards.h`),​ fără a atinge codul existent. 
 + 
 +Cea mai complexă măsurătoare:​ RC τ prin least-squares pe ln(V) cu timestamps reale, toleranță ±35% pentru componente reale. Cea mai vizuală: diode rectifier cu osciloscop live pe SSD1306 — 128 sample-uri la 200Hz, 2 cicluri complete pe ecran. 
 + 
 +GPIO25 și GPIO34 sunt partajate de 7 jocuri (RC, voltage divider, rectifier, transistor switch, NPN amplifier) — breadboard-ul se schimbă între minigame-uri,​ pinii nu. Aceasta a simplificat semnificativ cablajul permanent. 
 + 
 +Remaparea display-urilor pe Side 1 al DevKit-ului (SSD1306→GPIO4/​15,​ SH1106→GPIO18/​5) a eliminat firele lungi care traversau breadboard-ul. 
 + 
 +Rămân de implementat:​ RC filter, capacitor buffer și LM-35 — fiecare necesită aproximativ aceeași structură ca jocurile existente
 ===== Download ===== ===== Download =====
- +
 **TODO:** Arhivă cu sursele finale, README și instrucțiuni de compilare/​flash. **TODO:** Arhivă cu sursele finale, README și instrucțiuni de compilare/​flash.
- +
 ===== Jurnal ===== ===== Jurnal =====
- +
   * **11 aprilie** — prima comandă: breadboard, SSD1306 (OLED 0.96" I2C), LM-35   * **11 aprilie** — prima comandă: breadboard, SSD1306 (OLED 0.96" I2C), LM-35
   * **6 mai** — a doua comandă: ESP-32, SH1106 (OLED 1.3" I2C)   * **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   * **10 mai** — primul demo funcțional:​ fantoma animată pe OLED, circuit RC pe breadboard, grafic al curbei de descărcare afișat pe ecran
- +  * **16 mai** — sistem complet de abstractizare minigame (minigame_t,​ registry, două task-uri FreeRTOS); potentiometer minigame funcțional;​ RC circuit minigame: osciloscop live pe SSD1306, τ prin least-squares,​ 6 configurații modulare 
 +  * **18 mai** — deadbeet rhythm minigame implementat:​ secvență LED R/G/B generată de ESP, utilizatorul repetă pe 3 butoane 
 +  * **20 mai** — achiziție kit SYB-120 (4 breadboard-uri,​ butoane colorate, potențiometre) de la Optimus Digital 
 +  * **23 mai** — voltage divider minigame implementat 
 +  * **23 mai** — remapare display-uri pe Side 1: SSD1306→GPIO4/​GPIO15,​ SH1106→GPIO18/​GPIO5;​ butoane deadbeet remapate pe GPIO19/​17/​16 
 +  * **23 mai** — metronome minigame implementat:​ două potențiometre (BPM + duty cycle) + buzzer pasiv, hold 3s pentru pass 
 +  * **23 mai** — diode rectifier minigame implementat:​ DAC cosine 200Hz pe GPIO25, osciloscop live SSD1306, validare prin std dev < 100mV 
 +  * **24 mai** — NPN transistor switch minigame implementat (1kΩ bază, LED pe colector, pass dacă Vc/Vcc < 0.15); adăugat NPN_THEORY.md cu pinout 2N2222 
 +  * **26 mai** — NPN amplifier variant implementat:​ 1MΩ bază (Ib=2.6µA),​ SSD1306 afișează Vc, Ic și β real; pass dacă 20 ≤ β ≤ 800 
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-  +
-**TODO:** De completat. Resurse planificate:​ +
- +
   * Datasheet ESP32 — [[https://​www.espressif.com/​sites/​default/​files/​documentation/​esp32_datasheet_en.pdf]]   * Datasheet ESP32 — [[https://​www.espressif.com/​sites/​default/​files/​documentation/​esp32_datasheet_en.pdf]]
   * Datasheet SH1106 — [[https://​www.displayfuture.com/​Display/​datasheet/​controller/​SH1106.pdf]]   * Datasheet SH1106 — [[https://​www.displayfuture.com/​Display/​datasheet/​controller/​SH1106.pdf]]
 +  * Datasheet SSD1306 — [[https://​cdn-shop.adafruit.com/​datasheets/​SSD1306.pdf]]
   * Datasheet LM-35 — [[https://​www.ti.com/​lit/​ds/​symlink/​lm35.pdf]]   * Datasheet LM-35 — [[https://​www.ti.com/​lit/​ds/​symlink/​lm35.pdf]]
 +  * Datasheet 2N2222 — [[https://​www.onsemi.com/​pdf/​datasheet/​p2n2222a-d.pdf]]
   * ESP-IDF v5 I2C Master docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​peripherals/​i2c.html]]   * ESP-IDF v5 I2C Master docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​peripherals/​i2c.html]]
   * ESP-IDF v5 ADC Oneshot docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​peripherals/​adc_oneshot.html]]   * ESP-IDF v5 ADC Oneshot docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​peripherals/​adc_oneshot.html]]
- +  * ESP-IDF v5 DAC Cosine docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​peripherals/​dac.html]] 
 +  * ESP-IDF v5 FreeRTOS docs — [[https://​docs.espressif.com/​projects/​esp-idf/​en/​latest/​esp32/​api-reference/​system/​freertos.html]] 
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
 +
pm/prj2026/theodor_ioan.buliga/ioan.sabou.1778450926.txt.gz · Last modified: 2026/05/11 01:08 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