So starten Sie das Video. (Dies ist nicht gerade Ambilight - es ist ein Farbindikator für den Zustand des Panzers). Das Video schwingt und zittert, weil ich mit einer Hand fotografiere und versuche, mit der zweiten zu spielen.Bei der Herstellung stellte sich alles als sehr einfach heraus.Notwendige Zutaten:1. Arduino - was ist;2. WS2812B-LEDs (Ich habe den Ring verwendet - ich habe ihn lange gekauft, jetzt habe ich beschlossen, ihn anzuwenden);3. Mod für Panzer . Der Mod für mein Projekt wurde von einem Freund Kotyarko_O aus dem koreanischen Zufallsforum geschrieben, wofür er sich ganz besonders bedankt. Im Archiv mit dem Mod sind Quellcodes angehängt;4. Die Anwendung für den PC. - im Archiv die Quelle und Anwendung im Ordner bin.Es sieht nicht sehr schön aus, ich habe es auf ein doppelseitiges Klebeband auf einen Monitor geklebt.ABER! Details mindestens. Ich bitte Sie, den Code nicht streng zu beurteilen, er ist eine schräge Kurve :) Ich bin ein Pasteur-Programmierer :) Wer ihn nicht besonders mag, kann ihn wunderschön und praktisch für sich selbst neu erstellen.Arduino Code#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6
#define NUMPIXELS 8
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
String ser;
int red = 0;
int green =0;
void setup() {
pixels.begin();
Serial.begin(9600);
while (!Serial) {
;
}
Serial.setTimeout(100);
}
void loop() {
if (Serial.available() > 0)
{
ser = Serial.readString();
if (ser != "end")
{
green = ser.toInt()*2;
red = green-100;
for(int i=0;i<NUMPIXELS;i++)
{
pixels.setPixelColor(i, pixels.Color(red,green,0));
}
pixels.show();
}
else
{
for(int i=0;i<NUMPIXELS;i++)
{
pixels.setPixelColor(i, pixels.Color(0,0,0));
}
pixels.show();
}
}
}
Ein Programm für PC in C # geschrieben
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
SerialPort serialPort1 = new SerialPort();
doc.Load(@«C:\World_of_Tanks\res_mods\0.9.17.0.1\scripts\client\gui\mods\mod_ArduinoHP.xml»);
string maxHealth = doc.DocumentElement.ChildNodes[0].InnerText;
string currentHealth = doc.DocumentElement.ChildNodes[1].InnerText;
string healthProgress = doc.DocumentElement.ChildNodes[2].InnerText;
serialPort1.PortName = «COM13»; // COM-, Arduino
serialPort1.Open(); // COM-
if (healthProgress != "")
{
serialPort1.Write(healthProgress);
}
else
serialPort1.Write(«end»);
serialPort1.Close(); // COM-
}
Nun, das ist alles. Es funktioniert auf einfachste Weise. Der Mod für Panzer fügt der XML-Datei alle erforderlichen Informationen hinzu, und die PC-Anwendung liest wiederum die XML-Datei und überträgt alle Informationen an das Arduine, das wiederum die Farbe steuert.PS All dies kann abgeschlossen, abgeschlossen, abgeschlossen, verbessert werden ... Aber ich möchte schon schlafen :)PPS Alles mit dem Kommen!