Differences

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

Link to this comparison view

pm:prj2026:andrei.batasev:ioana.priboi [2026/05/16 19:16]
ioana.priboi [Hardware Design]
pm:prj2026:andrei.batasev:ioana.priboi [2026/05/16 20:16] (current)
ioana.priboi [Hardware Design]
Line 84: Line 84:
 Cele două shift registere 74HC595 sunt conectate în lanț. Microcontroller-ul trimite datele serial pe pinul D11, semnalul de clock este pe D12, iar latch-ul este pe D10. Primul shift register controlează coloanele C1-C8, iar al doilea coloanele C9-C16. Fiecare coloană este conectată printr-o rezistența de 330 ohm pentru limitarea curentului prin LED-uri. Cele două shift registere 74HC595 sunt conectate în lanț. Microcontroller-ul trimite datele serial pe pinul D11, semnalul de clock este pe D12, iar latch-ul este pe D10. Primul shift register controlează coloanele C1-C8, iar al doilea coloanele C9-C16. Fiecare coloană este conectată printr-o rezistența de 330 ohm pentru limitarea curentului prin LED-uri.
  
-Straturile cubului sunt comutate separat cu tranzistoare NPN. Bazele tranzistoarelor sunt conectate la pinii D2-D5 prin rezistențe de 1k ohm, emitorii sunt legați la GND, iar colectorii sunt conectați la catodurile comune ale straturilor. Prin activarea rapidă a straturilor,​ cubul generează animații 3D folosind ​multiplexare.+Straturile cubului sunt comutate separat cu tranzistoare NPN. Bazele tranzistoarelor sunt conectate la pinii D2-D5 prin rezistențe de 1k ohm, emitorii sunt legați la GND, iar colectorii sunt conectați la catodurile comune ale straturilor. Prin activarea rapidă a straturilor,​ cubul generează animații 3D prin multiplexare.
  
 Interfața utilizatorului este formată dintr-un LCD 1602 cu modul I2C, 4 butoane, un potentiometru și un buzzer pasiv. LCD-ul folosește magistrala I2C pe pinii A4 și A5, potentiometrul este citit analogic pe A0 (ADC), iar buzzerul este conectat pe D6 pentru generarea semnalului sonor Interfața utilizatorului este formată dintr-un LCD 1602 cu modul I2C, 4 butoane, un potentiometru și un buzzer pasiv. LCD-ul folosește magistrala I2C pe pinii A4 și A5, potentiometrul este citit analogic pe A0 (ADC), iar buzzerul este conectat pe D6 pentru generarea semnalului sonor
Line 90: Line 90:
 == Pini folosiți == == Pini folosiți ==
  
-^ Pin Arduino ^ Componentă ​^ Rol ^ De ce l-am ales^ +^ Pin Arduino ^ Net Label ^ Componenta ​^ Rol ^ De ce l-am ales ^ 
-| D0 | - | RX | Rezervat pentru comunicatia USB/Serial | +| D0 | - | - | RX | Rezervat pentru comunicatia USB/Serial | 
-| D1 | - | TX | Rezervat pentru comunicatia USB/Serial | +| D1 | - | - | TX | Rezervat pentru comunicatia USB/Serial | 
-| D2 | Tranzistor ​Comutare ​layer 1Pin digital simplu ​+| D2 | LAYER1_CTRL ​| Tranzistor ​TR1 Control ​layer L1 (jos) Pini digitali consecutivi pt controlul layerelor ​
-| D3 | Tranzistor ​Comutare ​layer Pin digital simplu ​+| D3 | LAYER2_CTRL ​| Tranzistor ​TR2 Control ​layer L2 Pini digitali consecutivi pt controlul layerelor ​
-| D4 | Tranzistor ​Comutare ​layer Pin digital simplu ​+| D4 | LAYER3_CTRL ​| Tranzistor ​TR3 Control ​layer L3 Pini digitali consecutivi pt controlul layerelor ​
-| D5 | Tranzistor ​Comutare ​layer (sus) | Pin digital simplu ​+| D5 | LAYER4_CTRL ​| Tranzistor ​TR4 Control ​layer L4 (sus) | Pini digitali consecutivi pt controlul layerelor ​
-| D6 | Buzzer pasiv | Semnal sonor | Pin PWM, potrivit ​pentru generarea tonului | +| D6 | BUZZER ​| Buzzer pasiv | Semnal sonor | Pin PWM, pentru generarea tonului | 
-| D7 | BTN_MODE | Schimbare mod | Pin digital ​simplu ​+| D7 | BTN_MODE ​| Buton MODE | Schimbare mod | Pin digital ​cu suport PCINT 
-| D8 | BTN_UP | Creștere ​timer | Pin digital ​simplu ​+| D8 | BTN_UP | Buton UP | Crestere ​timer | Pin digital ​cu suport PCINT 
-| D9 | BTN_DOWN | Scădere ​timer | Pin digital ​simplu ​+| D9 | BTN_DOWN | Buton DOWN | Scadere ​timer | Pin digital ​cu suport PCINT 
-| D10 | 74HC595 - Latch (ST_CP) ​Actualizare ieșiri ​shift register | Pin folosit pentru latch +| D10 | SR_LATCH ​| 74HC595 - RCLK | Latch | L-am grupat cu D11-D12 pt controlul ​shift registerelor ​
-| D11 | 74HC595 - Data (DS) Trimitere date serial | Pin folosit pentru data +| D11 | SR_DATA ​| 74HC595 - SER | Data | L-am grupat cu D10-D12 pt controlul shift registerelor ​
-| D12 | 74HC595 - Clock (SH_CP) ​| Clock pentru ​shift registere | Pin folosit pentru clock +| D12 | SR_CLOCK ​| 74HC595 - SRCLK | Clock | L-am grupat cu D10-D11 pt controlul ​shift registerelor ​
-| D13 | - | Liber | L-am evitat, pentru ca este legat la LED-ul built-in | +| D13 | - | - | - | L-am evitat, pentru ca este legat la LED-ul built-in | 
-| A0 | Potențiometru ​| Citire ​valoare analogică ​| Pin ADC | +| A0 | POT | Potentiometru 10k | Citire ​analogica pt viteza animatii ​| Pin ADC | 
-| A1 | BTN_START/STOP | Pornire/​oprire timer | Pin analogic folosit ca digital | +| A1 | BTN_START_STOP | Buton START/STOP | Pornire/​oprire timer | Pin analogic folosit ca digital, cu suport PCINT 
-| A2 | - | Liber | | +| A2 | - | - | - 
-| A3 | - | Liber | | +| A3 | - | - | - 
-| A4 | LCD I2C - SDA | Date I2C | Pinul SDA hardware al Arduino Nano | +| A4 | LCD_SDA ​| LCD I2C - SDA | Date I2C | Pinul SDA hardware al Arduino Nano | 
-| A5 | LCD I2C - SCL | Clock I2C | Pinul SCL hardware al Arduino Nano |+| A5 | LCD_SCL ​| LCD I2C - SCL | Clock I2C | Pinul SCL hardware al Arduino Nano |
  
 +Am incercat sa pastrez o impartire cat mai logica pentru alegerea pinilor si sa ii aleg consecutivi. Am grupat pinii folositi pentru aceeasi componenta, ca sa fie mai usor de urmarit atat schema, cat si codul. De asemenea, am verificat ca pinii pentru butoane au suport PCINT pe ATmega328P. Astfel pot detecta apasarile fara sa blochez programul principal, iar multiplexarea cubului si timerul pot rula in paralel
  
-== Tabel de conexiuni == 
  
-^ Componentă ^ Conexiune ^ Observații ^ 
-| **Shift Register 1** ||| 
-| SR1 VCC, pin 16 | 5V Arduino | Alimentare | 
-| SR1 GND, pin 8 | GND Arduino | Masă comună | 
-| SR1 OE, pin 13 | GND Arduino | Ieșiri active permanent | 
-| SR1 MR, pin 10 | 5V Arduino | Reset dezactivat | 
-| SR1 DS, pin 14 | D11 Arduino | Linie de date | 
-| SR1 SH_CP, pin 11 | D12 Arduino | Clock | 
-| SR1 ST_CP, pin 12 | D10 Arduino | Latch | 
-| SR1 Q7', pin 9 | SR2 DS, pin 14 | Legătură în lanț către al doilea registru | 
-| SR1 Q0-Q7 | Rezistor 330 ohm -> Coloane C1-C8 | Câte un rezistor pentru fiecare coloană | 
-| **Shift Register 2** ||| 
-| SR2 VCC, pin 16 | 5V Arduino | Alimentare | 
-| SR2 GND, pin 8 | GND Arduino | Masă comună | 
-| SR2 OE, pin 13 | GND Arduino | Ieșiri active permanent | 
-| SR2 MR, pin 10 | 5V Arduino | Reset dezactivat | 
-| SR2 DS, pin 14 | SR1 Q7', pin 9 | Primește datele de la primul registru | 
-| SR2 SH_CP, pin 11 | D12 Arduino | Același clock ca SR1 | 
-| SR2 ST_CP, pin 12 | D10 Arduino | Același latch ca SR1 | 
-| SR2 Q0-Q7 | Rezistor 330 ohm -> Coloane C9-C16 | Câte un rezistor pentru fiecare coloană | 
-| **Tranzistoare NPN** ||| 
-| D2 Arduino | Rezistor 1k ohm -> baza TR1 | Controlează stratul 0 (jos) | 
-| D3 Arduino | Rezistor 1k ohm -> baza TR2 | Controlează stratul 1 | 
-| D4 Arduino | Rezistor 1k ohm -> baza TR3 | Controlează stratul 2 | 
-| D5 Arduino | Rezistor 1k ohm -> baza TR4 | Controlează stratul 3 (sus) | 
-| Emitor TR1-TR4 | GND | Toți emitorii sunt legați la masă | 
-| Colector TR1-TR4 | Catod straturi L0-L3 | Câte un tranzistor pentru fiecare strat | 
-| **LCD 1602 I2C** ||| 
-| VCC | 5V Arduino | Alimentare | 
-| GND | GND Arduino | Masă comună | 
-| SDA | A4 Arduino | Linie date I2C | 
-| SCL | A5 Arduino | Linie clock I2C | 
-| **Buzzer pasiv** ||| 
-| + | D6 Arduino | Semnal PWM pentru ton | 
-| - | GND Arduino | Masă | 
-| **Potențiometru** ||| 
-| Pin 1 | 5V Arduino | Alimentare | 
-| Pin 2 | A0 Arduino | Valoare analogică citită de Arduino | 
-| Pin 3 | GND Arduino | Masă | 
-| **Butoane tactile** ||| 
-| BTN_MODE | D7 Arduino și GND | Folosește INPUT_PULLUP,​ fără rezistor extern | 
-| BTN_UP | D8 Arduino și GND | Folosește INPUT_PULLUP,​ fără rezistor extern | 
-| BTN_DOWN | D9 Arduino și GND | Folosește INPUT_PULLUP,​ fără rezistor extern | 
-| BTN_START/​STOP | A1 Arduino și GND | Folosește INPUT_PULLUP,​ fără rezistor extern | 
-| **Condensatoare** ||| 
-| 100nF nr.1 | VCC și GND SR1 | Montat cât mai aproape de chip | 
-| 100nF nr.2 | VCC și GND SR2 | Montat cât mai aproape de chip | 
-| 100uF | Linia 5V și GND breadboard | Stabilizare generală | 
  
 ===== Software Design ===== ===== Software Design =====
pm/prj2026/andrei.batasev/ioana.priboi.1778948209.txt.gz · Last modified: 2026/05/16 19:16 by ioana.priboi
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