Hallo iedereen
In overeenstemming met ons project op Amazon, willen we u vandaag kennis laten maken met een oplossing waarmee u Neopixel controleren en integreren in bestaande systemen zonder veel programmering. In ons onderzoek zijn we op McLighting Ondervonden.
In de huidige tijd gebruiken we voor ons onze D1mini D1mini met een Knopmodule.
Voordat we met ons project beginnen wil ik erop wijzen dat WS2812 alias Neopixel niet alleen met 5V wordt bediend, maar ook communiceert met 5V-logica, dus je hebt eigenlijk een logic level converter nodig bij het gebruik van een 3.3V controller.
Toblum Toblumbiedt niet alleen de software, maar biedt ook de bestanden van een klein bord, dat is ontworpen volgens Adafruits.
Bovendien vinden de ESP, een logic level converter, een ElKo en de aanbevolen weerstanden ruimte.
Als u nog nooit met NeoPixel hebt gewerkt, is het ten zeerste aan te raden de Adafruit NeoPixel Overguide om te voorkomen dat uw pixels beschadigd zijn en optimaal worden ingebruik.
Voor probleemloze bediening heb je naast de D1 ook een level converter, een 1000-F Elko en een weerstand van 300Ohm nodig. De ElKo voor voeding en weerstand op de datalijn.
We hebben gesoldeerd aan de snelle een gat grid board voor permanente werking:
Omdat we vandaag alleen de software willen testen, maken we geen gebruik van het benodigde circuit. We verbinden de LED's rechtstreeks op de D1 mini, zodat de bedrading:
D1 mini | WS2812 | Voeding 5V |
Vcc | Vcc | 5V+ |
Gnd | Gnd | 5V- |
D1 | Gegevens |
Zo u de pinnen van de D1 met jumperkabel rechtstreeks aansluiten op de connector van de pixels.
Overigens kan het project veel gemakkelijker worden uitgevoerd met PlatformIO, omdat de libarys automatisch worden geïnstalleerd.
Ga voor gedetailleerde instructies naar de GitHub-pagina Hier.
We hebben de instructies voor de ArduinoIDE stap voor stap voor u gecontroleerd en konden deze 1:1 overnemen, de nodige werkstappen kort samengevat met de nodige links:
Installeer Libarys (voor volledige functionaliteit)
- WiFi-manager
- Websockets
- Adafruit NeoPixel
- ArduinoJson
- AMQQT AMQQT
- ESPAsyncTCP
- MQTT MQTT
- WS2812FX
- NeoPixelBus NeoPixelBus
- NeoAnimationFX NeoAnimationFX
- Download code en verplaats deze naar de Arduino-projectmap, bijvoorbeeld "C:"Users"Markus Neumann-Documents-Arduino". Open dan "McLighting.ino". Er moeten meer tabbladen worden geopend nadat u de volledige gegevens van de download naar de projectmap hebt gekopieerd.
- Pas de definities.h in uw projectmap aan uw installatie aan: aantal pixels en de gebruikte pin zijn belangrijk, de rest werkt in de standaardconfiguratie, zoals u in het bestand zien, zelfs een knop op pin 4 is aanwezig om de effecten door te schakelen.
- Code compileren en uploaden naar controllers
- De D1 opent vervolgens een HotSpot waarmee u verbinding maken met elk apparaat. De configuratiepagina moet automatisch worden gebeld als dit niet het geval is, dan u de controller bereiken op 192.168.4.1.
- Klik op WiFi (No Scan) en voer de toegangsgegevens in overeenkomstige lijnen, je hebt ook de mogelijkheid om hier je MQTT-broker op te geven. Na een definitieve herstart moet de D1 verbinding maken met uw netwerk en een adres verkrijgen via DHCP. Je ze vinden in je router.
- Installeer nu de webinterface: Open hiervoor de URL http://IP_ADRESSE_DES_D1/upload in uw browser.
Als u de volledige download naar uw Arduino-projectmap hebt gedownload, vindt u het benodigde bestand onder "C:'Users''MarkusNeumann'Documents''''''''''''McLighting'clients'web'
Selecteer het bestand index.htm en klik op Uploaden.
- Na een reset is de gebruikersinterface beschikbaar via het IP-adres van de controller.
Als u problemen hebt met de uitvoering van dit project, laat dan een reactie achter, zullen we een meer gedetailleerde beschrijving publiceren als u geïnteresseerd bent. Aangezien de pixels moeten worden aangepast in de broncode, kunnen we geen afbeelding leveren.
Tot de volgende post :)
2 Reacties
Birger T
@Klaus-Peter
Deine Anfrage ist ja schon Ewigkeiten her.. Siehe im Github die Datei “request_handlers.h”:
struct
{
uint16_t stripSize = NUMLEDS;
uint8_t RGBOrder = NEO_GRB;
#if defined(USE_WS2812FX_DMA) or defined(USE_WS2812FX_UART1) or defined(USE_WS2812FX_UART2)
#ifdef USE_WS2812FX_DMA
uint8_t pin = 3;
#endif
#ifdef USE_WS2812FX_UART1
uint8_t pin = 2;
#endif
#ifdef USE_WS2812FX_UART2
uint8_t pin = 1;
#endif
#else
uint8_t pin = LED_PIN;
#endif
} WS2812FXStripSettings;
Augenscheinlich ist hier die Zeile uint8_t RGBOrder = NEO_GRB;
anzupassen; z.B. in uint8_t RGBOrder = NEO_BRG;
Siehe auch https://adafruit.github.io/Adafruit_NeoPixel/html/_adafruit___neo_pixel_8h.html
Klaus-Peter
Leider sind bei mir Blau und grün vertauscht.
Laut McLighting-wiki soll die Zeile
WS2812FX-Streifen = WS2812FX (NUMLEDS, PIN, NEO_BRG + NEO_KHZ800);
angepasst werden.
Im McLighting.ino ist die Zeile aber auskommentiert.
Was kann nun probieren?