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, Srpanj
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 redu za vaše potrebe, ali htio sam učiniti 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 gibanje svoje osovine u digitalni izlaz. Kad 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 dublje objašnjava.

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

Korak 1: Dijelovi

Dijelovi
Dijelovi
Dijelovi
Dijelovi

Za kontroler RGB LED 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 rotacijski davač
  • 1x napajanje 12V 2A, struja koju napajanje mora isporučiti može ovisiti o duljini korištene LED trake.
  • 16x žice kratkospojnika za muškarce
  • 1x ploča za lemljenje, svaka ploča će raditi sve dok je dovoljno velika.

Korak 2: Krug

Krug
Krug
Krug
Krug

Spojite Arduino na 12V i GND vodilicu matične ploče. Zatim spojite ostale dijelove na sljedeći način:

Rotacijski davač

Pin A - D4

Pin B - D3

GND - GND

MOSFET Crveni

Vrata - 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 enkoderPinACurrent; int encoderPinALast = HIGH; // Drugi int brojač; void setup () {pinMode (encoderPinA, INPUT_PULLUP); pinMode (encoderPinB, INPUT_PULLUP); } void loop () {readEncoder (); enkoder2rgb (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; } brojač povratka; } 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čeni: