This shows you the differences between two versions of the page.
pm:prj2025:ajipa:bogdan.trifan2412-rj45-tester [2025/05/24 15:53] bogdan.trifan2412 |
pm:prj2025:ajipa:bogdan.trifan2412-rj45-tester [2025/05/30 07:03] (current) bogdan.trifan2412 |
||
---|---|---|---|
Line 21: | Line 21: | ||
Prin simpla apăsare a unui buton, utilizatorul poate selecta tipul de cablu testat: | Prin simpla apăsare a unui buton, utilizatorul poate selecta tipul de cablu testat: | ||
- | - **Straight-through** – pentru conectarea dispozitivelor aflate pe //layere diferite// (ex: PC – switch) | + | - **Straight-through** - pentru conectarea dispozitivelor aflate pe //layere diferite// (ex: PC – switch) |
- | - **Crossover** – pentru conectarea dispozitivelor de //același layer// (ex: PC – PC) | + | - **Crossover** - pentru conectarea dispozitivelor de //același layer// (ex: PC – PC) |
+ | - **Rollover** (numit si //cablu de consola//) - pentru a conecta un dispozitiv la un echipament de retea si pentru a avea acces direct la CLI | ||
După selectare, pe ecranul principal (128x160 SPI) este afișată o imagine cu ordinea corectă a firelor pentru tipul respectiv de cablu. | După selectare, pe ecranul principal (128x160 SPI) este afișată o imagine cu ordinea corectă a firelor pentru tipul respectiv de cablu. | ||
Line 41: | Line 42: | ||
Testarea poate fi oprită forțat, în orice moment, prin apăsarea unui buton. | Testarea poate fi oprită forțat, în orice moment, prin apăsarea unui buton. | ||
- | În timp ce display-ul pe SPI (de rezoluție mai mare) afișează ordinea firelor în mufa RJ-45, LCD-ul cu modul I2C va scrie pe ecran tipul de cablu **straight-through**\**crossover** și indexul pinului de pe **sender** de pe care se trimit semnale (ex: //Testing pin 1...8//), sau mesajul //Testing all pins//. | + | În timp ce display-ul pe SPI (de rezoluție mai mare) afișează ordinea firelor în mufa RJ-45, LCD-ul cu modul I2C va scrie pe ecran tipul de cablu **straight-through**\**crossover**\**rollover** și indexul pinului de pe **sender** de pe care se trimit semnale (ex: //Testing pin 1...8//), sau mesajul //Testing all pins//. |
==== De ce este util? ==== | ==== De ce este util? ==== | ||
Line 89: | Line 90: | ||
* Size matters: cele de **22 AWG** se conecteaza cel mai bine in breadboard | * Size matters: cele de **22 AWG** se conecteaza cel mai bine in breadboard | ||
* Calalalt tip de fire (silicon - multifilar): sunt bune de lipit, dar in niciun caz nu se pot infige intr-un breadboard | * Calalalt tip de fire (silicon - multifilar): sunt bune de lipit, dar in niciun caz nu se pot infige intr-un breadboard | ||
- | </npte> | + | </note> |
+ | |||
+ | |||
+ | ==== Schema electrica ==== | ||
+ | |||
+ | |||
+ | {{:pm:prj2025:ajipa:rj45-schematics.jpg?800}} | ||
Line 97: | Line 105: | ||
=== Arduino === | === Arduino === | ||
- |  | + | {{:pm:prj2025:ajipa:Arduino-Nano.png}} |
^ Pin Arduino ^ Corespondent ^ | ^ Pin Arduino ^ Corespondent ^ | ||
Line 116: | Line 124: | ||
| D16 (etichetat A2) | CLK 74HC165 | | | D16 (etichetat A2) | CLK 74HC165 | | ||
| A4 | (I2C) SDA | | | A4 | (I2C) SDA | | ||
- | | A5 | (I2C) SDA | | + | | A5 | (I2C) SCL | |
=== 160x128 Display (pe SPI) === | === 160x128 Display (pe SPI) === | ||
- |  | + | {{pm:prj2025:ajipa:spi_128x160_display.jpeg?400}} |
Line 161: | Line 169: | ||
=== 74HC595 shift register === | === 74HC595 shift register === | ||
- | > Shift register-ul **74HC595** are o singura intrare si **8 iesiri paralele**. | + | <note tip> |
+ | Shift register-ul **74HC595** are o singura intrare si **8 iesiri paralele**. | ||
+ | </note> | ||
- |  | + | {{:pm:prj2025:ajipa:SN74HC595N.png}} |
Line 180: | Line 190: | ||
| 11 | SRCLK | Arduino D8 | | | 11 | SRCLK | Arduino D8 | | ||
| 12 | RCLK | Arduino D7 | | | 12 | RCLK | Arduino D7 | | ||
- | | 13 | !OE | GND | + | | 13 | !OE | GND | |
| 14 | SER | Arduino D6 | | | 14 | SER | Arduino D6 | | ||
| 16 | Vcc | 5V | | | 16 | Vcc | 5V | | ||
Line 196: | Line 206: | ||
</note> | </note> | ||
- |  | + | |
+ | {{:pm:prj2025:ajipa:74HC165.png}} | ||
^ Index pin 74HC165 ^ Denumire pin 74HC165 ^ Corespondent ^ | ^ Index pin 74HC165 ^ Denumire pin 74HC165 ^ Corespondent ^ | ||
Line 222: | Line 234: | ||
</note> | </note> | ||
- | |||
- | ==== Schema electrica ==== | ||
- | |||
- | |||
- | {{:pm:prj2025:ajipa:rj45-schematics.jpg?800}} | ||
Line 275: | Line 282: | ||
Am asociat fiecarui buton cate o intrerupere: | Am asociat fiecarui buton cate o intrerupere: | ||
- | * Butonul **albastru** - intreruperea **INT0** - schimba tipul de cablare (crossover/straigh-through) | + | * Butonul **albastru** - intreruperea **INT0** - schimba tipul de cablare (crossover/straigh-through/rollover) |
* Butonul **rosu** - intreruperea **INT1** - opreste fortat rularea testului | * Butonul **rosu** - intreruperea **INT1** - opreste fortat rularea testului | ||
* Butonul **alb** - intreruperea **PCINT20** (din **PCINT2_vect**) - porneste algoritmul de testare: | * Butonul **alb** - intreruperea **PCINT20** (din **PCINT2_vect**) - porneste algoritmul de testare: | ||
Line 301: | Line 308: | ||
* Functia este apelata in urma apasarii butonului **rosu**. | * Functia este apelata in urma apasarii butonului **rosu**. | ||
* Opreste fortat algoritmul de testare, | * Opreste fortat algoritmul de testare, | ||
- | * dar nu inainte de a afisa pe ecranul LCD pe I2C un mesaj sugestiv in acest sens | + | * dar nu inainte de a afisa pe ecranul LCD pe I2C un mesaj sugestiv in acest sens: **lcd.print("Force stop!");** |
- | * **lcd.print("Force stop!");** | + | |
* **void write_to_sender_socket()**: | * **void write_to_sender_socket()**: | ||
* Variabila **bool pinsSenderSocket[8]** retine starea pinilor din mufa RJ-45 de transmisie | * Variabila **bool pinsSenderSocket[8]** retine starea pinilor din mufa RJ-45 de transmisie | ||
Line 361: | Line 367: | ||
Repo GitHub: https://github.com/TrifanBogdan24/RJ45-tester | Repo GitHub: https://github.com/TrifanBogdan24/RJ45-tester | ||
- | YouTube: https://www.youtube.com/shorts/l0MMbmgLmWM | + | [[https://www.youtube.com/embed/1yIg8dGbAU8|link]] YouTube: |
+ | |||
+ | |||
+ | |||
+ | <html> | ||
+ | <iframe width="400" height="600" | ||
+ | src="https://www.youtube.com/embed/1yIg8dGbAU8" | ||
+ | frameborder="0" | ||
+ | allow="autoplay; encrypted-media" | ||
+ | allowfullscreen> | ||
+ | </iframe> | ||
+ | </html> | ||