Conectarea unui buton RGB (C+) la ESP32
Azi m-am jucat chinuit cu un căcat de butonaș RGB. Până la urmă nu ar fi chiar așa de greu de conectat la un ESP32, doar că nu am găsit documentație. În princpiu a trebui sa ghicesc cum ar trebui sa conectez acest switch , și practic am facut un fel de "reverse engineering".
Switch-ul are 6 pini (în sensul netrigonometric) :
- NO - Normal open
- G - green
- R - Red
- NO - Normal open
- B - Blue
- C+ - anode comun
Pinul NO l-am legat la C+ la pinul GPIO23 și 3V3 al ESP32. Din câte am observat switch-ul este întotdeauna deschis, și dacă este apăsat face legatura cu celălalt pin NO (închide circuitul între cei doi pini NO). În același timp pinul C+ este de fapt anodul pentru dioda RGB din interiorul switch-ului (ca în schema de mai jos).
Componente:
- Intrerupator cu LED multicolor, 5V, 16mm
- 10 x Fire Dupont mama-mama 10cm
- Placa dezvoltare ESP32, DEVKIT V1
Schema electronica/sistem:
LED-ul albastru este activat atunci cand pinul B al switch-ului este conectat la GND , si butonul este apasat .
LED-ul verde este activat atunci cand pinul G al switch-ului este conectat la GND, si butonul este apasat .
LED-ul roșu este activat atunci cand pinul R al switch-ului este conectat la GND, si butonul este apasat.
Iar în ESP32 de fiecare dată citesc pinul GPIO23 și afișez pe serial valoarea variabilei buton.
Cod de test:
Documentatie proiect:
- https://www.amazon.com/ONPOW-Tri-Color-Momentary-Illuminated-Stainless/dp/B07SGPMWCX
- https://www.custombilletbuttons.com/wiring-diagram/
Pentru întrebari și/sau consultanță tehnică vă stau la dispozitie pe blog sau pe email simedruflorin@automatic-house.ro. O seară/zi plăcută tuturor !