Dasar dari FastLED

Instruksi ini kita akan melihat bagaimana kita dapat menulis program FastLED, serta bagaimana menggunakan perpustakaan FastLed. Kita juga akan melihat bagaimana kita bisa membuat kode untuk mendesain pola warna kita sendiri. Pustaka ini mendukung berbagai jenis strip LED yang dilengkapi dengan pengontrol LED yang berbeda seperti WS2811, WS2812, Neopixel, dll.

Mari kita mulai

Langkah 1: Sebelum Anda Mulai:

1. Arduino Uno

2. LED Strip yang memiliki controller seperti ws2811 atau lainnya

3. Power Supply sesuai peringkat Led Strip.

Langkah 2: Sertakan Perpustakaan:

Unduh pustaka FastLED dari sini:

//github.com/FastLED/FastLED

Sertakan perpustakaan ini ke ide arduino Anda.

Langkah 3: Menyiapkan LED Strip:

Hubungkan Strip LED ke catu daya Anda. Pin data LED Strip masuk ke pin digital apa pun yang Anda pilih dalam kode. Pastikan tanah ground LED dan arduino harus terhubung bersama.

Anda dapat menggunakan strip dipimpin neopixel atau Anda dapat membeli strip dipimpin murah dari pasar dan apa yang perlu Anda lakukan yang menghapus bagian dipimpin pertama strip dipimpin yang memiliki master controller. Dari seri LED berikutnya Anda dapat menggunakan strip neopixel. Tetapi dalam strip led Cina satu kontrol ic tiga led secara seri yang berarti setiap pixel sama dengan 3 pixel led. Jika Anda menulis data pada ic pertama, tiga led yang terhubung dengan ic itu akan menyala. Jadi saya menggunakan jenis strip dipimpin murah yang memiliki 7 ic dalam seri yang mengontrol 21 dipimpin sebagai sekelompok 3 led.

Koneksi:

Arduino: pin digital 6 ---> Pin din LED Strip

gnd ---> Gnd strip LED

Catu Daya: terminal positif ---> + vcc Strip LED

gnd ---> gnd dari LED Strip

Langkah 4: File Header dan Konstanta:

Kredit tutorial ini diberikan kepada //github.com/FastLED/FastLED/wiki/Basic-usag ...

Kunjungi tautan ini untuk informasi lebih lanjut dan terperinci.

Jadi mari kita mulai ...

#termasuk // file header

#define NUM_LEDS 60 // jumlah led yang ada di strip Anda
#define DATA_PIN 6 // pin digital arduino Anda

CRGB leds [NUM_LEDS];


Langkah 5: Void Setup ()

Tergantung pada jenis strip dipimpin Anda pilih fungsi pengaturan kekosongan yang sesuai

pengaturan batal () {

FastLED.addLeds < NEOPIXEL, DATA_PIN > (leds, NUM_LEDS);

}

atau

pengaturan batal () {
FastLED.addLeds (leds, NUM_LEDS);

}

atau

pengaturan batal () {
FastLED.addLeds (leds, NUM_LEDS);

}

atau

pengaturan batal () {
FastLED.addLeds (leds, NUM_LEDS);

}

atau

pengaturan batal () {
FastLED.addLeds (leds, NUM_LEDS);

}

Langkah 6: Bersinar LED:

// di strip saya satu pixel sama dengan 3 led jadi ketika saya menyalakan 1 led seperti pada kode 3 led menyala

// ini karena pada led strip 3 leds saya terhubung secara seri dan dikendalikan oleh ws28111 pada 12v

// leds [led no.] adalah sebuah array

void loop () {

leds [0] = CRGB :: Green; // glow 1st led sebagai hijau

FastLED.show (); // terapkan fungsi pada strip yang dipimpin

keterlambatan (30);

}


Kedip itu ....

membatalkan loop ()
{leds [0] = CRGB :: Blue;

FastLED.show ();

keterlambatan (200);

leds [0] = CRGB :: Black;

FastLED.show ();

keterlambatan (200);

}

Langkah 7: LED Chaser:

// kejar maju

membatalkan loop ()

{

untuk (int dot = 0; dot <NUM_LEDS; dot ++)

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [dot] = CRGB :: Black;

keterlambatan (300);

}

}

// kejar ke belakang

membatalkan loop ()
{for (int dot = NUM_LEDS; dot> = 0; dot--)

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [dot] = CRGB :: Black;

keterlambatan (300);

}

}

// kejar keduanya

membatalkan loop ()
{for (int dot = (NUM_LEDS-1); dot> = 0; dot--)

{

leds [dot] = CRGB :: Green;

FastLED.show ();

leds [dot] = CRGB :: Black;

keterlambatan (300);

}

untuk (int dot = 0; dot <NUM_LEDS; dot ++)

{leds [dot] = CRGB :: Red;

FastLED.show ();

leds [dot] = CRGB :: Black;

keterlambatan (300);

}

}

Langkah 8: Serial Glow:

membatalkan loop ()

{

untuk (int dot = (NUM_LEDS-1); dot> = 0; dot--)

{leds [dot] = CRGB :: HotPink;

FastLED.show ();

keterlambatan (300);

}

untuk (int dot = 0; dot <NUM_LEDS; dot ++)

{

leds [dot] = CRGB :: Blue;

FastLED.show ();

keterlambatan (300);

}

}

Artikel Terkait