Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mengonfigurasi NeoPixels dengan Vixen Lights & Arduino: Panduan Langkah demi Langkah

Komponen dan Perlengkapan

Alat dan Mesin yang Diperlukan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Tutorial ini tersedia dalam bahasa Inggris dan Spanyol (este tutorial esta en ingles y español), gulir ke bawah untuk mengubah bahasa.

Apa itu Vixen Lights?

Vixen Lights adalah perangkat lunak untuk otomatisasi tampilan pencahayaan DIY. Versi terbaru 3.x adalah pengdesain ulang lengkap untuk mendukung lampu “piksel” yang dapat di alamatkan.

Anda dapat mengunduhnya di https://www.vixenlights.com/downloads/ Tutorial ini didasarkan pada versi 3.4u2 64 Bit.

Apa itu Piksel?

Piksel adalah kluster dari 3 Dioda Pemancar Cahaya (LED) yang terdiri dari tiga warna primer (Merah, Hijau, dan Biru). Intensitas dari tiga warna (LED) ini dapat bervariasi untuk membuat warna lain. Piksel WS2812B yang saya gunakan dalam contoh ini mencakup chip Rangkaian Terpadu (IC) yang menerima data pada satu port, menampilkan informasi yang dialamatkan kepadanya, dan meneruskan data ke piksel berikutnya. Untuk tampilan saya, saya membeli tali sepanjang 5 meter yang memiliki 30 piksel per meter atau 150 piksel untuk 5 meter. Pita “piksel” RGB yang dapat di alamatkan biasanya dapat diidentifikasi karena memiliki 3 kabel. Satu untuk daya, satu untuk ground, dan satu untuk data. Sebaliknya, pita RGB “bodoh” dapat diidentifikasi karena memiliki 4 kabel. Biasanya satu untuk daya dan satu untuk setiap warna Merah, Hijau, dan Biru

Piksel RGB menggunakan banyak daya. Sementara papan Arduino dapat memberikan daya pada beberapa piksel menggunakan regulator tegangan bawaan, Anda akan segera kehabisan daya. Oleh karena itu, kita akan ingin menggunakan sumber daya eksternal untuk memberi daya pada lampu. Tegangan yang diperlukan akan bergantung pada lampu spesifik yang Anda beli. Lampu yang saya gunakan adalah 5V (volt). Persyaratan lain dari sumber daya adalah memastikan bahwa memiliki cukup daya untuk mendukung jumlah piksel yang Anda gunakan. Setiap piksel pada warna putuh penuh membutuhkan sekitar 60 miliamper. untuk 150 Piksel RGB, ini berakar sekitar 9A (Ampere).

Sayangnya, jejak tipis tembaga yang digunakan pada sebagian besar pita LED menyebabkan “resistensi” yang akan menyebabkan penurunan tingkat tegangan. Jika tegangan pada piksel terlalu rendah, dapat menyebabkan berbagai masalah seperti berkedip, lampu redup, atau sekedar gagal menyala. Untuk menghindari masalah ini, Anda mungkin menemukan bahwa perlu “menyisipkan” daya pada titik-titik dalam Pita Piksel RGB. Anda akan memotong pita dan kemudian hanya melompatkan garis DATA di seluruhnya dan menambahkan serangkaian kabel DAYA dan GROUND yang kembali ke sumber daya Anda. Namun waspada, jarak kabel daya Anda juga akan menyebabkan resistensi dan menghasilkan penurunan tegangan. Untuk menghindari ini, Anda harus menggunakan kabel yang cukup tebal berdasarkan persyaratan daya Anda. Bagian berikut adalah titik awal yang baik untuk memilih ukuran kabel daya yang tepat

Semakin besar, semakin baik ketika berbicara tentang sumber daya. Anda akan membutuhkan sesuatu yang dapat memberikan lebih banyak daya (Ampere) dari yang Anda butuhkan. Dalam kasus saya, saya telah memesan beberapa sumber daya berukuran menengah, 40 Amp dan 60 Amp. Banyak sumber daya dapat digunakan, namun Anda harus menghubungkan semua kabel ground untuk sumber daya bersama-sama.

Pengontrol Arduino

Banyak papan Arduino mainstream dapat digunakan sebagai pengontrol untuk menjadi perantara antara komputer yang menjalankan Vixen Lights dan pita Piksel RGB yang sebenarnya.

Berbagai papan memiliki keterbatasan perangkat keras yang berbeda seperti kecepatan prosesor, ukuran memori (RAM) dan ukuran penyimpanan. Namun dalam pengujian, faktor pembatas terbesar yang kami temukan adalah kecepatan Port Serial. Sebagian besar Arduino tidak dapat melebihi 115,200 bps. Saat kita mendorong kode warna untuk setiap dari tiga warna untuk 150 Piksel (aka 450 warna) ke port serial pada 115,200 bps, kita dapat menghitung bahwa akan membutuhkan 45 milidetik untuk menyelesaikan transmisi. Ini berarti kita dapat dengan aman merefresh setiap piksel setiap 50 milidetik (atau 20 kali per detik).

Kode pada Tutorial ini didasarkan pada David Hunt - blog.huntgang.com

Mengonfigurasi Port Serial Vixen

Untuk menggunakan pengontrol Arduino, Anda harus mengonfigurasinya di dalam Vixen 3.x Proses berikut didokumentasikan menggunakan

Langkah 1.- Tambahkan Generic Serial Controller dari Menu kanan atas.

Langkah 2.- Tetapkan jumlah output untuk pengontrol. Angka ini harus 3x jumlah piksel. Dalam contoh saya, saya mengonfigurasi 30 piksel yang berarti saya akan menetapkan jumlah output ke 90.

Langkah 3.- Di sudut kanan bawah klik Ikon Gerigi, sekarang kita akan mengonfigurasi Port COM. Untuk melakukannya, kita akan memilih Port COM untuk Arduino. Contoh saya adalah COM13 namun milik Anda mungkin berbeda. Kami juga ingin mengonfigurasi baud rate ke 115200. Pengaturan yang tersisa dapat dibiarkan.

Langkah 4.- Di sini kita akan menambahkan jumlah piksel ke dalam header sehingga Arduino tahu berapa banyak piksel yang harus diterima. Jumlah piksel harus 300 atau lebih sedikit dan harus dimasukkan sebagai nilai tiga digit. Lagi contoh saya menggunakan 030 piksel oleh karena itu saya akan menambahinya dengan dua nol. Pada titik ini Anda seharusnya melihat banyak berkedip berkedip pada Arduino karena sekarang menerima data serial.

Konfigurasikan Elemen untuk Piksel

Langkah 5.- Di kiri atas Anda akan melihat drop box, pilih Single Item, klik tombol Tambah Hijau, dan beri nama Pixel Strip.

Langkah 6.- Selanjutnya kita akan klik kanan pada Pixel Strip yang baru kita buat dan kita akan pilih Add Multiple. Untuk menambahkan semua piksel, kita akan pilih Numbered Items, tentukan nama (saya menggunakan Pixel Strip) dan kemudian pilih jumlah piksel untuk dihasilkan (30 dalam contoh saya). Anda seharusnya melihat semua nama dalam daftar sebelum klik OK.

Langkah 7.- Sekarang kita akan menyorot Pixel Strip dan Mengonfigurasi properti Pengolahan Warna. Kita akan pilih “Mereka bisa berwarna apa pun: mereka adalah RGB penuh dan mencampur untuk membuat warna apa pun.”

Langkah 8.- Langkah terakhir sebelum kita dapat menyelesaikan hari ini adalah menempelkan Elemen ke Pengontrol. Untuk melakukannya sorot Pixel Strip di kiri dan Generic Serial controller di kanan. Jumlah Titik Patch yang Tidak Terhubung harus cocok. Satu-satunya hal yang tersisa adalah klik Patch Elements to Controllers dan kemudian Anda siap untuk Lampu Natal.

Langkah 9.- Jika berhasil tampilan grafis Anda seharusnya terlihat seperti ini.

Buat Saya Sequence Pertama

Langkah 10.- Buka Vixen dan klik New Sequence…

Langkah 11.- Impor audio dari menu Tools, saya menggunakan mp3.

Langkah 12.-. Jika berhasil layar Anda terlihat seperti ini, Anda dapat memperbesar atau memperkecil menggunakan alat zoom ini akan membantu di Timeline.

Langkah 13.- Sekarang kita kembali ke Tools, Audio dan pilih Beat/Bar Detector, proses ini akan membantu menyelaraskan efek dengan audio sempurna. Anda akan melihat banyak garis putih.

Langkah 14.- Dari Menu kiri panggil Effects, ada 2 submenu, Basic Lighting, Pixel Lighting, kedua menu dapat digunakan dengan piksel, klik chase, Drag & drop ke garis Pixel Strip Anda, gunakan mouse untuk mengubah ukuran efek.

Langkah 15.- Pilih Efek, di menu kanan Anda akan melihat lebih banyak opsi untuk mengubah arah, warna, pulsa, kedalaman, dll., mainkan dengan efek, Anda juga dapat mengaktifkan Efek Pratinjau.

Langkah 16.- Klik Play di sudut kiri atas, bersenang-senang, youtube memiliki banyak contoh.

Catatan: Saat Arduino Anda terhubung ke komputer dan buka perangkat lunak Vixen Anda akan melihat RX pada Arduino berkedip, ini berarti Arduino menunggu instruksi dari Vixen..

Lihat Demo

Spanish - Español

Que es Vixen Lights?

Vixen Lights es un software de DIY (hágalo usted mismo) secuencias de luces. La ultimo versión 3.x se rediseño completamente para soportar píxeles RGB inteligentes.

Lo puedes descargar en la siguiente liga https://www.vixenlights.com/downloads/ Este tutorial está basado en la versión 3.4u2 64 Bit.

Que es un Pixel?

Un pixel es un cluster de 3 leds que consiste en 3 colores primarios (rojo, verde y azul). La intensidad de estos colores puede varias para crear otros colores. La tira con pixeles WS2812B que se está usando tiene un chip que acepta data en un Puerto, despliega la información asignada y la pasa la data al siguiente pixel. Para este ejemplo se trata de una tira de pixeles de 4mts, con 60 pixel x metro. Se puede identificar muy fácil una tira de pixeles vs una tira de RGB, la tira de pixeles utiliza 3 cables, +5v, Tierra y Data, mientras una de RGB utiliza 4.

Los pixeles RGB utilizan mucha energía. Mientras el Arduino puede alimentar algunos pixeles usando su fuente de regulador interno, pero rápidamente se quedará sin corriente. Por esto debemos utilizar una fuente externa para alimentar las luces, El voltaje requerido dependerá el las especificaciones de las luces que haya comprado. La tira de leds inteligentes que se está usando utiliza 5v, pero también hay que tomar en consideración el consumo de amperes. Cada pixel cuando se encienden los 3 leds al 100% consumen 60mA, es decir cada led consume 20mA, si consideramos los 60 pixeles por metro tenemos un consumo de 3.6A x cada metro.

Desafortunadamente las pistas de cobre que se usan en la mayoría de las tiras de leds causan resistencia por lo cual sufren una caída de voltaje. Si el voltaje cae muy bajo tendrás problemas con tus luces como parpadeos, atenuación. Para evitar estos problemas, se necesita insertar voltaje cada 50 pixeles, solo corta la pista, aliméntala y el Data solo crea un jumper. También tomemos en cuenta que si las tiradas de cable son largas debemos tomar en cuenta el grosor del cable para evitar pérdidas.

Lo grande siempre es mejor cuanto una fuente de poder se refiere, para este tipo se recomiendan fuentes de poder de 40A o 60A o utilizar varias.

Arduino como Controlador

La mayoría de las tarjetas de Arduino se pueden usar como controladores que sirven de interface entre la computadora que corre Vixen Lights y las titas de pixeles.

Solo que varias tarjetas están limitadas por la velocidad del procesador, tamaño de memoria y tamaño de almacenamiento, pero la mayor limitante es la velocidad de puerto serial. La mayoría de los arduinos no pueden ir más rápido de 115,200 baudios, el topo de pixeles es de 300 para que se puedan refrescar cada 50ms.

Si quieres incrementar el número de pixeles tienes que incrementar en Vixen la frecuencia de actualización a 100ms.

Este tutorial esta basado en el tutorial de David Hunt - blog.huntgang.com

Configurando el Puerto Serial en Vixen

Para poder utilizar el Arduino como controlador, tienes que primero configurar dentro de Vixen 3.x el siguiente proceso.

Paso 1.- Agrega un Generic Serial Controller del menú

Paso 2.- Ahora definiremos el # de salidas de nuestro controlador, si en mi caso use 30 pixeles debo multiplicarlo x 3, es decir cada pixel tiene 3 leds en su interior, lo que da igual a 90 salidas.

Paso 3.- En la parte inferior derecha dar clic en el engrane, ahora a configurar el puerto COM. Para hacer esto daremos clic en el puerto y seleccionamos el puerto que tiene asignado el Arduino, también configuraremos el velocidad de los baudios a 115200, el resto se queda como esta.

Step 4.- Configuraremos el Texto de Encabezado, en mi caso es >>030<<, esto le indica al código instalado en arduino el número de pixeles que estará recibiendo, siempre el número se debe ingresar en valor de 3 dígitos por eso es importante colocar ceros al inicio, sino tendrás error en los pixeles.

Configurar un Elemento para Pixeles

Paso 5.- En la esquina superior izquierda dentro del cuadro de selección, seleccionamos Single Item, damos clic en el botón verde con un signo de +, nómbralo como Pixel Strip.

Paso 6.- Sobre el nombre de Pixel Strip que acabas de crear da clic derecho y selecciona Add Multiple. Para añadir todos los pixeles, seleccionaremos ítem numerados, define un nombre, (yo use Pixel Strip) y luego selecciona el número de pixeles que en mi caso con 30. Verás todos los nombres antes de dar clic OK.

Paso 7.- Ahora seleccionamos el Pixel Strip y configuraremos las propiedades del Color Handiling, que se encuentra en la esquina inferior izquierda en un cuadro que dice Configure:, da clic y selecciona Color Handiling. Seleccionaremos “They can be any color: they are full RGB and mix any color”.

Paso 8.- Este es el paso final donde asignamos los elementos al controlador, para hacer este paso selecciona del lado izquierdo y el controlador genérico del lado derecho bajo el nombre que le hayas puesto. El número de puntos sin conectar debe ser el mismo. Lo único que queda es darle clic en el botón Patch Elements y ya está listo.

Paso 9.- Para comprobar que esta correcto deberás ver un ejemplo como el de la vista gráfica.

Crear mi Primera Secuencia

Paso 10.- Abrir Vixen y dar clic en New Sequence.....

Paso 11.- Importar nuestro Audio, preferente utilizar formatos mp3

Paso 12.-. Así debe de verse nuestra pantalla, pueden notar que la onda de música está cargada en la parte superior, en la barra superior pueden encuentran dos lupas una de + y otra -, que sirven para alejar o aumentar la línea de tiempo que es el área donde estaremos trabajando.

Paso 13.- Vamos a correr un proceso para detectar los Beats de la música, ya que nos ayudará a la hora de armar las secuencias, podrán observar en la imagen las líneas blancas alineadas a los Beats de la música.

Paso 14.- De nuestro lado izquierdo hay un menú de Effects, Basic Lighting, Pixel Lighting, ambos menús puedes ser utilizados con Pixeles, vamos a dar clic en Chase

Paso 15.- Seleccionamos el efecto en la línea de tiempo, del lado derecho se activará un menú de configuración del efecto, donde podremos modificar, intensidad, dirección, color, etc.

Paso 16.- Da clic en PLAY, diviértete, hay mucho tutoriales in YouTube.

Nota: Una vez que conectes tu Arduino y abras Vixen Light deben empezar a parpadear los leds Rx, esto indica que Arduino está esperando recibir información por el puerto Serial.

Kode

Fast Led LibraryArduino

Install to your documents - Arduino - library

No preview (download only).
Code for ArduinoArduino

Just copy & paste to arduino IDE

/* Vixen Lights 3.x - Arduino Generic Serial for Addressable Pixels Using this code is pretty straight forward, simply hookup your one wire (WS2811 or WS2812) data line to pin 6 of your Arduino and upload this code. Make sure you have properly installed the FastLED library from https://fastled.io Once you are done, simply power your Pixel strips from an external power supply. Next configure a Generic Serial Controller inside of Vixen Lights 3.x and add 3 x pixels for the number of channels. Configure the Generic Serial Controller to use 115200, 8, none, and 1. Then create your element and add "Multiple Items (1 x number of pixels). Finally select your pixel elements and set them as RGB pixels before patching them to the controler outputs. You should now be ready to begin testing. For a complete tutorial check out blog.huntgang.com Created November 8th, 2014 By Richard Sloan - www.themindfactory.com And David Hunt - blog.huntgang.com Version 1.4 */ // You must download and install the library from https://fastled.io/ #include <FastLED.h> // Sets the maximum number of LEDs that this code will handle to avoid running out of memory #define NUM_LEDS 300 // Sets the pin which is used to connect to the LED pixel strip #define DATA_PIN 6 CRGB leds[NUM_LEDS]; void setup() { // Define the speed of the serial port Serial.begin(115200); } void loop() { // Set some counter / temporary storage variables int cnt; unsigned int num_leds; unsigned int d1, d2, d3; // Begin an endless loop to receive and process serial data for(;;) { // Set a counter to 0. This couter keeps track of the pixel colors received. cnt = 0; //Begin waiting for the header to be received on the serial bus //1st character while(!Serial.available()); if(Serial.read() != '>') { continue; } //second character while(!Serial.available()); if(Serial.read() != '>') { continue; } //get the first digit from the serial bus for the number of pixels to be used while(!Serial.available()); d1 = Serial.read(); //get the second digit from the serial bus for the number of pixels to be used while(!Serial.available()); d2 = Serial.read(); //get the third digit from the serial bus for the number of pixels to be used while(!Serial.available()); d3 = Serial.read(); //get the end of the header while(!Serial.available()); if(Serial.read() != '<') { continue; } while(!Serial.available()); if(Serial.read() != '<') { continue; } // calculate the number of pixels based on the characters provided in the header digits num_leds = (d1-'0')*100+(d2-'0')*10+(d3-'0'); // ensure the number of pixels does not exceed the number allowed if(num_leds > NUM_LEDS) { continue; } // Let the FastLED library know how many pixels we will be addressing FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds); // Loop through each of the pixels and read the values for each color do { while(!Serial.available()); leds[cnt].r = Serial.read(); while(!Serial.available()); leds[cnt].g = Serial.read(); while(!Serial.available()); leds[cnt++].b = Serial.read(); } while(--num_leds); // Tell the FastLED Library it is time to update the strip of pixels FastLED.show(); // WOO HOO... We are all done and are ready to start over again! } } 

Skema

Gunakan resistor 470 ohm - usar una resistencia de 470 ohmsMengonfigurasi NeoPixels dengan Vixen Lights & Arduino: Panduan Langkah demi LangkahGunakan resistor 470 ohm - usar una resistencia de 470 ohmsMengonfigurasi NeoPixels dengan Vixen Lights & Arduino: Panduan Langkah demi Langkah

Proses manufaktur

  1. Mengontrol Kecerahan LED dengan PWM melalui Tombol Push pada Arduino Mega
  2. Buat Alat Levitasi Ultrasonik dengan Arduino – Panduan Langkah demi Langkah
  3. Membuat Remote Android Universal dengan Arduino, 1Sheeld & Kontrol IR
  4. Buat Voltmeter Cerdas dengan Arduino & Smartphone – Proyek DIY Mudah
  5. Pencatat Suhu & Kelembaban Arduino dengan DHT11 dan Ethernet Shield
  6. Buat Kotak Pintar IoT dengan ESP8266, Arduino & Sensor Ultrasonik – Pemantauan Real-Time
  7. Pengukuran Frekuensi & Siklus Kerja Akurat dengan Arduino UNO
  8. Mengukur Massa Bumi dengan Arduino: Panduan DIY Langkah demi Langkah
  9. Pengukuran Jarak Real-Time dengan Sonar Arduino & Visualisasi Processing
  10. Membuat Kompas Digital Real-Time dengan Arduino & Processing