Bonjour à tous
Conformément à notre projet sur Amazon, nous aimerions présenter aujourd'hui une solution qui peut être utilisée pour contrôler Neopixel sans grand effort de programmation et pour l'intégrer dans des systèmes existants. Nous sommes à la hauteur de nos recherches McLighting rencontré.
Nous utilisons le nôtre dans l'exemple d'aujourd'hui D1mini avec un Module bouton.
Avant de commencer notre projet, je voudrais souligner que l'alias WS2812 Neopixel fonctionne non seulement avec 5V, mais communique également avec la logique 5V, vous avez donc réellement besoin d'un convertisseur de niveau logique lorsque vous utilisez un contrôleur 3,3V.
Toblumfournit non seulement le logiciel, mais fournit également les fichiers d'une petite carte qui a été conçue selon les spécifications d'Adafruits.
Il y a de la place pour l'ESP, un convertisseur de niveau logique, un ElKo et les résistances recommandées.
Si vous n'avez jamais travaillé avec NeoPixel auparavant, il est fortement recommandé que celui fourni par Adafruit Overguide NeoPixel à lire pour ne pas endommager vos pixels et à les faire fonctionner de manière optimale.
Pour un fonctionnement sans problème, vous avez besoin d'un convertisseur de niveau, d'un condensateur électrolytique de 1000µF et d'une résistance de 300Ohm en plus du D1. ElKo pour l'alimentation et la résistance sur la ligne de données.
Nous avons soudé une planche à pain sur le jeûne pour un fonctionnement permanent:
Cependant, comme nous ne voulons tester le logiciel qu'aujourd'hui, nous renonçons aux circuits nécessaires. Nous connectons les LED directement au D1 mini, donc le câblage:
D1 mini | WS2812 | Alimentation 5V |
VCC | VCC | 5V + |
GND | GND | 5V- |
D1 | Les données |
Vous pouvez donc connecter les broches du D1 avec des câbles volants directement au connecteur des pixels.
Par ailleurs, le projet peut être mis en œuvre beaucoup plus facilement avec PlatformIO, car les Libarys sont installés automatiquement.
Des instructions détaillées peuvent être trouvées sur la page GitHubici.
Nous avons vérifié les instructions de l'ArduinoIDE étape par étape pour vous et avons pu les adopter 1: 1, les étapes de travail nécessaires brièvement résumées avec les liens nécessaires:
Installez Libarys (pour une fonctionnalité complète)
- Gestionnaire WiFi
- WebSockets
- Adafruit NeoPixel
- ArduinoJson
- AMQQT
- ESPAsyncTCP
- MQTT
- WS2812FX
- NeoPixelBus
- NeoAnimationFX
- Téléchargez le code et déplacez-le dans le répertoire du projet Arduino, par exemple "C: \ Users \ Markus Neumann \ Documents \ Arduino". Ouvrez ensuite "McLighting.ino". Des onglets supplémentaires devraient s'ouvrir lorsque vous avez copié les données complètes du téléchargement dans le dossier du projet.
- Ajustez les "définitions.h" dans votre dossier de projet à votre configuration: le nombre de pixels et la broche utilisée sont importants, le reste fonctionne dans la configuration standard, comme vous pouvez le voir dans le fichier il y a même un bouton sur la broche 4 pour changer les effets .
- Compiler le code et télécharger sur le contrôleur
- Le D1 ouvre alors un HotSpot avec lequel vous pouvez vous connecter à n'importe quel appareil. La page de configuration doit être appelée automatiquement, si ce n'est pas le cas, vous pouvez contacter le contrôleur au 192.168.4.1.
- Cliquez sur WiFi (No Scan) et saisissez les données d'accès dans les lignes appropriées Vous pouvez également saisir votre courtier MQTT ici. Après un redémarrage final, le D1 doit se connecter à votre réseau et obtenir une adresse via DHCP. Vous pouvez les trouver dans votre routeur.
- Installez maintenant l'interface Web: Ouvrez l'URL http: // IP_ADRESSE_DES_D1 / upload dans votre navigateur.
Si vous avez chargé l'intégralité du téléchargement dans le répertoire de votre projet Arduino, vous trouverez le fichier nécessaire sous "C: \ Users \ MarkusNeumann \ Documents \ Arduino \ McLighting \ clients \ web "
Sélectionnez le fichier "index.htm" et cliquez sur "Upload".
- Après une réinitialisation, l'interface utilisateur est disponible via l'adresse IP du contrôleur.
Si vous avez des problèmes avec la mise en œuvre de ce projet, n'hésitez pas à laisser un commentaire, nous publierons alors une description plus détaillée si vous êtes intéressé. Étant donné que les pixels du code source doivent être ajustés, nous ne sommes malheureusement pas en mesure de fournir une image.
Jusqu'au prochain post :)
2 commentaires
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?