Sadržaj:

Arduino RGB LED tračni kontroler: 4 koraka
Arduino RGB LED tračni kontroler: 4 koraka

Video: Arduino RGB LED tračni kontroler: 4 koraka

Video: Arduino RGB LED tračni kontroler: 4 koraka
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Juli
Anonim
Arduino RGB LED tračni kontroler
Arduino RGB LED tračni kontroler

Često kada ljudi žele kontrolirati svoju RGB LED traku s Arduinom, koriste se tri potenciometra za miješanje crvene, zelene i plave boje. Ovo funkcionira i moglo bi biti savršeno u skladu s vašim potrebama, ali htio sam napraviti nešto intuitivnije, nešto poput kotača u boji.

Čini se da je ovaj projekt savršena aplikacija za rotacijski davač. Ovo je uređaj koji pretvara kretanje svoje osovine u digitalni izlaz. Kada se vratilo okrene, koder šalje signal (puls) koji se može izmjeriti pomoću Arduina. Za više informacija o rotacijskim koderima možete pogledati ovaj video koji to detaljnije objašnjava.

U ovom uputstvu pokazat ću vam kako napraviti Arduino RGB LED kontroler pomoću trake pomoću rotacijskog kodera. Ovaj Instructable pokriva konstrukciju kruga na ploči. Međutim, mogli biste proizvesti vlastiti PCB kako biste stvorili Arduino štit!

Korak 1: Dijelovi

Delovi
Delovi
Delovi
Delovi

Za RGB LED kontroler trake trebat će vam sljedeći materijali:

  • 1x Arduino Nano
  • 3x IRLB8721PBF, bilo koji N-kanalni logički nivo MOSFET-a će raditi sve dok je ocijenjen na najmanje 12V i struju koju vaša LED traka troši.
  • 1x okretni davač
  • 1x napajanje 12V 2A, struja koju napajanje mora isporučiti može ovisiti o duljini korištene LED trake.
  • 16x kratkospojne žice za muškarce
  • 1x oplata bez lemljenja, svaka ploča će raditi sve dok je dovoljno velika.

Korak 2: Krug

Krug
Krug
Krug
Krug

Spojite Arduino na 12V i GND šinu matične ploče. Zatim ostale dijelove povežite na sljedeći način:

Rotacijski davač

Pin A - D4

Pin B - D3

GND - GND

MOSFET Crveni

Kapija - GND

Odvod - LED traka crvena žica

Izvor - D11

MOSFET GreenGate - GND

Odvod - LED traka zelena žica

Izvor - D9

MOSFET BlueGate - GND

Odvod - LED traka plava žica

Izvor - D6

Korak 3: Kodirajte

// Arduino PWM igle

int redPin = 11; int greenPin = 6; int bluePin = 9; // Arduino koder pinovi int encoderPinA = 3; int enkoderPinB = 4; // Varijable boja int colorVal; int redVal; int greenVal; int blueVal; // Varijable kodera int encoderPos; int encoderPinACurrent; int encoderPinALast = HIGH; // Drugi int brojač; void setup () {pinMode (encoderPinA, INPUT_PULLUP); pinMode (encoderPinB, INPUT_PULLUP); } void loop () {readEncoder (); encoder2rgb (brojač); 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; brojač = enkoderPos*8; if (brojač 1535) {brojač = 0; } counter counter; } int encoder2rgb (int counterVal) {// Crveno do žuto if (counterVal <= 255) {colorVal = counterVal; redVal = 255; greenVal = colorVal; blueVal = 0; } // Žuto do zeleno, inače if (counterVal <= 511) {colorVal = counterVal - 256; redVal = 255 - colorVal; greenVal = 255; blueVal = 0; } // Zeleno do cijan inače if (counterVal <= 767) {colorVal = counterVal - 512; redVal = 0; greenVal = 255; blueVal = colorVal; } // Cijan do plavo else if (counterVal <= 1023) {colorVal = counterVal - 768; redVal = 0; greenVal = 255 - colorVal; blueVal = 255; } // Plavo do magenta drugo if (counterVal <= 1279) {colorVal = counterVal - 1024; redVal = colorVal; greenVal = 0; blueVal = 255; } // Magenta do crvena else {colorVal = counterVal - 1280; redVal = 255; greenVal = 0; blueVal = 255 - colorVal; } return redVal, greenVal, blueVal; }

Preporučuje se: