Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Onderdelen en benodigdheden

  • Arduino Nano R3 (1x)
  • Arduino UNO (1x)
  • Pixel-strip 60 pixels per meter (1x)
  • Weerstand 470 ohm (1x)
  • 5V, 40A voeding (1x)
  • Breadboard (1x)
  • Dupont-kabels (1x)

Benodigde tools en machines

  • Solderbout
  • Soldeertin

Apps en online diensten

  • Vixen Lights (versie 3.4u2 64-bit)
  • Arduino IDE

Over dit project

Wat is Vixen Lights?

Vixen Lights is software voor doe-het-zelf verlichtingsautomatisering. De laatste versie 3.x is volledig herontworpen om adresserbare "pixel"-lampen te ondersteunen. Je kunt het downloaden van vixenlights.com. Deze handleiding is gebaseerd op versie 3.4u2 64-bit.

Wat is een pixel?

Een pixel is een cluster van 3 LED's (rood, groen, blauw) wier intensiteit gevarieerd kan worden om andere kleuren te creëren. De WS2812B-pixels in dit voorbeeld bevatten een IC-chip die data ontvangt, de aan hem gerichte informatie weergeeft en de data doorgeeft aan de volgende pixel. Voor mijn display kocht ik strippen van 5 meter met 30 pixels per meter (150 pixels totaal). Adresseerbare RGB-pixelstrippen herken je aan 3 draden: stroom, massa en data. Gewone "domme" RGB-strippen hebben 4 draden (stroom + R, G, B apart).

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stroomvoorziening

RGB-pixels verbruiken veel stroom. Een Arduino kan slechts enkele pixels voeden via de ingebouwde spanningsregelaar. Voor grotere installaties is een externe voeding noodzakelijk. De gebruikte pixels werken op 5V. Elke pixel bij vol wit verbruikt ~60 mA, dus 150 pixels vragen ~9A.

De dunne koperen banen op LED-strippen veroorzaken spanningval. Als de spanning te laag wordt, ontstaan knipperen, dimme lampen of totaal falen. Voed de strip daarom op meerdere punten in (bijv. elke 50 pixels): knip de strip, brug de datalijn en voeg nieuwe stroom- en massadraden toe die teruglopen naar de voeding. Gebruik voldoende dikke draden om spanningval in de voedingsdraden te voorkomen. Een zwaardere voeding (bijv. 40A of 60A) is altijd beter. Bij meerdere voedingen moeten alle massadraden met elkaar verbonden worden.

Arduino als controller

Veel mainstream Arduino-boards kunnen als controller fungeren tussen de PC met Vixen Lights en de pixelstrippen. De grootste beperking is de seriële poortsnelheid: meeste Arduinos gaan niet sneller dan 115.200 bps. Bij 150 pixels (450 kleurwaarden) duurt de transmissie ~45 ms, wat een verversing van 20 Hz (elke 50 ms) mogelijk maakt.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

De code in deze handleiding is gebaseerd op de werk van David Hunt (blog.huntgang.com).

Vixen seriële poort configureren

Stap 1: Generic Serial Controller toevoegen

Kies in het menu rechtsboven voor "Add Generic Serial Controller".

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 2: Aantal outputs instellen

Stel het aantal outputs in op 3x het aantal pixels. Voor 30 pixels = 90 outputs.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 3: COM-poort en baudrate configureren

Klik rechtsonder op het tandwielpictogram. Selecteer de COM-poort van je Arduino (bijv. COM13) en stel de baudrate in op 115200. De overige instellingen mag je staan.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 4: Header met pixel-aantal instellen

Voeg in de header het aantal pixels toe als 3-cijferige waarde (bijv. "030" voor 30 pixels). De Arduino knippert nu bij ontvangst van seriële data.

Element voor pixels configureren

Stap 5: Single Item toevoegen

Selecteer in de linker bovenhoek "Single Item", klik op de groene "+" knop en noem het "Pixel Strip".

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 6: Meerdere pixels genereren

Rechtsklik op "Pixel Strip" → "Add Multiple" → kies "Numbered Items", naam "Pixel Strip", aantal pixels (30). Klik OK.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 7: Kleurbehandeling instellen

Selecteer "Pixel Strip" → configureer "Color Handling" → kies "They can be any color: they are full RGB and mix to make any color."

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 8: Element koppelen aan controller

Selecteer "Pixel Strip" links en "Generic Serial Controller" rechts. Het aantal ongekoppelde patch-punten moet overeenkomen. Klik "Patch Elements to Controllers".

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 9: Resultaat controleren

De grafische weergave zou er nu als volgt uit moeten zien:

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Eerste sequentie maken

Stap 10: Nieuwe sequentie

Open Vixen en klik op "New Sequence…"

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 11: Audio importeren

Importeer audio via het Tools-menu (MP3-formaat).

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 12: Tijdlijn bekijken

De golfformaat van de audio is nu zichtbaar. Gebruik de zoom-tools (+/-) voor de tijdlijn.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 13: Beat/Bar Detector

Ga naar Tools → Audio → Beat/Bar Detector. Dit alignert effecten perfect met de audio (witte lijnen).

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 14: Effecten toevoegen

In het linkermenu "Effects" vind je "Basic Lighting" en "Pixel Lighting". Sleep bijv. "Chase" naar je Pixel Strip-regel en pas de lengte aan.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 15: Effect aanpassen

Selecteer het effect; rechts verschijnen opties voor richting, kleur, puls, diepte, etc. Activeer "Effect Preview" voor live-weergave.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Stap 16: Afspelen

Klik linksboven op Play. Veel voorbeelden vind je op YouTube.

Let op: Zodra de Arduino is aangesloten en Vixen draait, knippert de RX-led op de Arduino — hij wacht op instructies.

Code

FastLED bibliotheek

Installeer via Arduino IDE: Documenten → Arduino → libraries. Download van fastled.io.

Arduino-code

/* Vixen Lights 3.x - Arduino Generic Serial voor Adresseerbare Pixels
 * Gemaakt: 8 november 2014
 * Door Richard Sloan (www.themindfactory.com) en David Hunt (blog.huntgang.com)
 * Versie 1.4
 */
#include <FastLED.h>

#define NUM_LEDS 300
#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {
  Serial.begin(115200);
}

void loop() {
  int cnt;
  unsigned int num_leds;
  unsigned int d1, d2, d3;

  for(;;) {
    cnt = 0;

    // Header wachten: '>>'
    while(!Serial.available()); if(Serial.read() != '>') continue;
    while(!Serial.available()); if(Serial.read() != '>') continue;

    // 3 cijfers voor pixel-aantal
    while(!Serial.available()); d1 = Serial.read();
    while(!Serial.available()); d2 = Serial.read();
    while(!Serial.available()); d3 = Serial.read();

    // Header einde: '<<'
    while(!Serial.available()); if(Serial.read() != '<') continue;
    while(!Serial.available()); if(Serial.read() != '<') continue;

    num_leds = (d1-'0')*100 + (d2-'0')*10 + (d3-'0');
    if(num_leds > NUM_LEDS) continue;

    FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds);

    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);

    FastLED.show();
  }
}

Schema

Gebruik een 470 ohm weerstand op de datalijn tussen Arduino pin 6 en de pixel-strip.

NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding
NeoPixels configureren met Vixen Lights en Arduino: een stapsgewijze handleiding

Productieproces

  1. LED helderheid regelen met PWM via drukknop op Arduino Mega
  2. Bouw een Ultrasonische Zweefapparaat met Arduino – Stap-voor-stap Handleiding
  3. Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
  4. Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
  5. Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
  6. Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
  7. Nauwkeurige Frequentie- en Duty Cycle-meting met Arduino UNO
  8. De massa van de aarde meten met Arduino: een stapsgewijze DIY-gids
  9. Realtime afstandsmeting met Arduino Sonar & Processing visualisatie
  10. Slimme Parkeer Teller: Real-time Voertuigvolging met Arduino, Processing en PHP
  11. Bouw een Real-time Digitale Kompas met Arduino & Processing