Inhaltsverzeichnis:
Video: Mehrere unabhängige NeoPixel-Ringe - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Also habe ich dieses Projekt gebaut, um zu sehen, wie die 12 LED-Pixel funktionieren. Ich habe dieses hier mit 16 gefunden. Und ich sah dieses integrierte Armband, aber ich wollte sehen, wie verschiedene Ringe, verschiedene Größen, unabhängig voneinander funktionieren.
Anstatt den Digitalausgang von einer Platine mit dem Digitaleingang der anderen Platine zu verbinden, wie das zweite Bild vermuten lässt, war es mein Ziel, auf jeder Platine einen dedizierten DI zu haben.
Schritt 1: Material
Schritt 2: Code
Ich hatte am Anfang das neon.ino, dieses war sehr einfach, ich fand online und passte den Port und die Größe des Rings an, es funktionierte.
Ich hatte die Idee, die Variablen zu replizieren, war mir aber nicht sicher, welche benötigt werden und welche für alle NeoPixel-Ringe unverändert bleiben können.
ORIGINAL
#enthalten
#define PIN 2 // Eingabe-Pin Neopixel ist verbunden mit
#define NUMPIXELS 12 // Anzahl der Neopixel im Ring
Adafruit_NeoPixel-Pixel = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
NEU
#include #define PIN1 6 // 12 Neopixel-Streifen mit Digital PIN6 verbinden
#define PIN2 13 // 6 Neopixel-Streifen mit Digital PIN7 verbinden
#define PIN3 2 // 24 Neopixel-Ring mit Digital PIN8 verbinden
#define PIN4 10 // 16 Neopixel-Ring mit Digital PIN9 verbinden
#define PIN5 9 //
#define NUMPIXELS1 24
#define NUMPIXELS2 16
#define NUMPIXELS3 12
#define NUMPIXELS4 6
#define NUMPIXELS5 1
Adafruit_NeoPixel Pixel1 = Adafruit_NeoPixel(NUMPIXELS1, PIN1, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel Pixel2 = Adafruit_NeoPixel(NUMPIXELS2, PIN2, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel Pixel3 = Adafruit_NeoPixel(NUMPIXELS3, PIN3, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel Pixel4 = Adafruit_NeoPixel(NUMPIXELS4, PIN4, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel Pixel5 = Adafruit_NeoPixel(NUMPIXELS5, PIN5, NEO_GRB + NEO_KHZ800);
neonmultiple.txt
war ein anderer Code, den ich gefunden habe, aber basierend auf der Anpassung der Tasten für die Geschwindigkeit … Ich musste beide Codes zusammenführen.
zum ersten Mal habe ich verwendet
Leere Schleife () {
ring1();
ring2();
ring3();
ring4();
ring5();
Es war also einfach, den gesamten Code und die Variablen zu sehen, die ich zum "Vervierfachen" des ursprünglichen Neon.ino benötigte
Den eingestellten Farbteil habe ich nur einmal behalten, da sich alle Lichter zufällig ändern können, also keine Notwendigkeit, setcolor1, setcolor2… etc
Void setColor () {redColor = random (0, 255); greenColor = zufällig (0, 255); blueColor = zufällig (0, 255); Serial.print("rot:"); Serial.println (rote Farbe); Serial.print ("grün: "); Serial.println (grüne Farbe); Serial.print ("blau: "); Serial.println (blaue Farbe); }
Der endgültige Code, den ich verwendet habe, heißt multiple_rings1.ino
Schritt 3: Ergebnis
kann vorerst nur in thinkercad simulieren
www.tinkercad.com/things/0wTu8lCQSkQ-multiple-rings/editel?sharecode=0vbsPyNB7n9it870QBXkyNBV0DyDmmzPCLtHva5fRXk=
Empfohlen:
Hast du ein neues Neopixel? Hier ist eine Kurzanleitung!: 5 Schritte
Hast du ein neues Neopixel? Hier ist eine Kurzanleitung!: Ich weiß, dass ich in meinem letzten instructable gesagt habe, dass ich regelmäßig sein werde, aber ich habe es nicht. Nun, ich habe es versucht, aber ich hatte keine guten Ideen: Wachsüberzogenes Streichholz: KABOOM!*Crayon Candle: Fissssssss
So richten Sie mehrere Monitore unter Linux ein – wikiHow
So richten Sie mehrere Monitore in Linux ein: Dieses Tutorial zeigt Ihnen, wie Sie ein Multi-Head-System in den meisten Linux-Distributionen, hauptsächlich Ubuntu, einrichten. Bitte beachte, dass dies noch weitgehend unvollendet ist