Tartalomjegyzék:

Arduino RGB LED szalagvezérlő: 4 lépés
Arduino RGB LED szalagvezérlő: 4 lépés

Videó: Arduino RGB LED szalagvezérlő: 4 lépés

Videó: Arduino RGB LED szalagvezérlő: 4 lépés
Videó: Avide 24 gombos RGB LED-szalag vezérlő bekötése 2024, Július
Anonim
Arduino RGB LED szalagvezérlő
Arduino RGB LED szalagvezérlő

Gyakran, amikor az emberek Arduino -val akarják irányítani az RGB LED -szalagot, három potenciométert használnak a piros, zöld és kék színek keverésére. Ez működik, és tökéletesen megfelelhet az Ön igényeinek, de szerettem volna valami intuitívabbat készíteni, valami színkereket.

Ez a projekt tökéletes alkalmazásnak tűnik egy forgó kódoló számára. Ez egy olyan eszköz, amely tengelyének mozgását digitális kimenetre alakítja. A tengely elforgatásakor a jeladó jelet (impulzust) küld, amelyet egy Arduino mérhet. Ha többet szeretne megtudni a forgó kódolókról, nézze meg ezt a videót, amely részletesebben elmagyarázza.

Ebben az utasításban megmutatom, hogyan lehet Arduino RGB LED szalagvezérlőt készíteni egy forgó kódoló segítségével. Ez az útmutató leírja az áramkör kenyérsütő táblára történő felépítését. Arduino pajzs létrehozásához azonban saját PCB -t készíthet!

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

Az RGB LED szalagvezérlőhöz a következő anyagokra lesz szüksége:

  • 1x Arduino Nano
  • 3x IRLB8721PBF, minden N-csatornás logikai szintű MOSFET működik, ha legalább 12 V névleges névleges értékű és a LED szalag fogyasztja.
  • 1x forgó kódoló
  • 1x 12V 2A tápegység, a tápegység által szolgáltatott áram függhet a használt LED szalag hosszától.
  • 16x Férfi -férfi áthidaló vezetékek
  • 1x Forrasztás nélküli kenyérsütőlap, bármilyen kenyérsütőlap elegendő, ha elég nagy.

2. lépés: Áramkör

Áramkör
Áramkör
Áramkör
Áramkör

Csatlakoztassa az Arduino -t a kenyértábla 12V és GND sínjéhez. Ezután csatlakoztassa a többi alkatrészt az alábbiak szerint:

Forgó kódoló

A - D4

B csap - D3

GND - GND

MOSFET Piros

Kapu - GND

Vízleeresztés - LED szalag piros vezeték

Forrás - D11

MOSFET GreenGate - GND

Leeresztés - LED szalag zöld vezeték

Forrás - D9

MOSFET BlueGate - GND

Vízleeresztés - LED szalag kék vezeték

Forrás - D6

3. lépés: Kód

// Arduino PWM csapok

int redPin = 11; int greenPin = 6; int bluePin = 9; // Arduino kódoló tüskék int encoderPinA = 3; int kódolóPinB = 4; // Színváltozók int colorVal; int redVal; int greenVal; int blueVal; // Változók kódolása int encoderPos; int encoderPinACurrent; int encoderPinALast = HIGH; // Egyéb int számláló; void setup () {pinMode (encoderPinA, INPUT_PULLUP); pinMode (kódolóPinB, INPUT_PULLUP); } void loop () {readEncoder (); encoder2rgb (számláló); analogWrite (redPin, redVal); analogWrite (greenPin, greenVal); analogWrite (bluePin, blueVal); } int readEncoder () {encoderPinACurrent = digitalRead (encoderPinA); if ((encoderPinALast == LOW) && (encoderPinACurrent == HIGH)) {if (digitalRead (encoderPinB) == LOW) {encoderPos = encoderPos - 1; } else {encoderPos = encoderPos + 1; }} encoderPinALast = encoderPinACurrent; számláló = encoderPos*8; ha (1535 -ös számláló) {számláló = 0; } visszatérési számláló; } int encoder2rgb (int counterVal) {// Piros -sárga, ha (counterVal <= 255) {colorVal = counterVal; redVal = 255; zöldVal = színVal; blueVal = 0; } // Sárgától zöldig más if (counterVal <= 511) {colorVal = counterVal - 256; redVal = 255 - colorVal; zöldVal = 255; blueVal = 0; } // Zöld a ciánkékhez, ha (counterVal <= 767) {colorVal = counterVal - 512; redVal = 0; zöldVal = 255; blueVal = színVal; } // Ciánból kékre kék, ha (counterVal <= 1023) {colorVal = counterVal - 768; redVal = 0; greenVal = 255 - colorVal; blueVal = 255; } // Kék bíborvörösre if if (counterVal <= 1279) {colorVal = counterVal - 1024; redVal = colorVal; zöldVal = 0; blueVal = 255; } // Bíbor pirosra más {colorVal = counterVal - 1280; redVal = 255; zöldVal = 0; blueVal = 255 - colorVal; } return redVal, greenVal, blueVal; }

Ajánlott: