Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Contrôle de Bandeau NeoPixel via Wi-Fi : Projet ESP8266 avec Application Android

Composants et fournitures

Carte ElectroPeak ESP8266 Serial WiFi Witty Cloud × 1
Bandeau NeoPixel intelligent (60 LED/m) × 3
Convertisseur de niveau logique ElectroPeak × 1
Fils de connexion Mâle-Femelle 40P 21cm ElectroPeak × 1
Tube PVC 60 cm, diamètre 2" × 1
Papier calque × 1
Cylindre en verre × 1
Alimentation 5V (au moins 9A) × 1
Arduino Nano R3 × 1

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Ce tutoriel et d'autres sont disponibles sur le site officiel d'ElectroPeak.

Créez une simulation de flamme réaliste avec contrôle sans fil Wi-Fi. Une application mobile Android avec une belle interface est prête à installer. Nous utiliserons Arduino et ESP8266 pour contrôler la flamme. À la fin, vous saurez :

Introduction aux NeoPixels

Les LEDs adressables individuellement (NeoPixels) existent depuis un moment. Ce sont des LEDs RVB normales dont chaque couleur peut être contrôlée indépendamment, permettant des motifs et animations infinis. Pour les WS2812B, seulement 3 fils sont nécessaires : 2 pour l'alimentation, 1 pour les données. Une seule broche Arduino libre suffit pour contrôler des centaines de LEDs !

Dans ce projet, nous utilisons ces LEDs intelligentes pour créer un effet de feu. Pour les contrôler, nous utilisons la bibliothèque FastLED, notamment l'exemple Fire2012 de Mark Kriegsman. Nous utilisons 6 bandes de 30 LEDs chacune (180 LEDs au total), collées sur un tube PVC placé dans un cylindre en verre (souvent utilisé comme vase). Pour diffuser la lumière et la rendre continue, nous utilisons du papier calque qui laisse passer la lumière tout en la diffusant.

Construction

  1. Obtenez un cylindre en verre adapté (le nôtre : 60 cm de long, 12 cm de diamètre). Si vous trouvez du verre dépoli, c'est idéal ; sinon, recouvrez la surface (intérieure ou extérieure) de papier calque pour diffuser la lumière.
  2. Mesurez la longueur interne du cylindre et coupez le tube PVC en conséquence (notre cylindre a une longueur interne de 59 cm). Un tube de 4 cm de diamètre est parfait.
  3. Coupez le bandeau LED en 6 parties égales. Nous utilisons une densité de 60 LEDs/m, soit six bandes de 50 cm (3 mètres total). Espacez les six bandes uniformément autour du tube PVC et collez-les.
  4. Connectez les bandes entre elles : soit soudez directement des fils selon le schéma, soit soudez des connecteurs sur les bandes et utilisez des fils de breadboard.
  5. Placez le tube à l'intérieur du cylindre. Pour le centrer, découpez deux disques de mousse : diamètre extérieur = diamètre intérieur du cylindre, diamètre intérieur = diamètre extérieur du tube PVC. Fixez-les aux extrémités du tube et insérez l'ensemble délicatement.

Code

Nous utilisons l'IDE Arduino pour coder et téléverser sur l'ESP8266. Vous avez besoin d'une carte avec ESP8266 disposant de 3 Mo de SPIFFS pour y téléverser les fichiers du contrôleur. SPIFFS (Serial Peripheral Interface Flash File System) permet de servir les fichiers depuis cette mémoire. Ainsi, vous pouvez ouvrir un navigateur (téléphone ou ordinateur) à l'adresse de l'ESP (par défaut 192.168.4.1) et accéder à l'interface de contrôle sans installer l'application – indispensable pour iPhone/iPad.

Téléversez le sketch suivant sur votre carte ESP. La bibliothèque FastLED est requise (ajoutez-la via le gestionnaire de bibliothèques si besoin). Le code de simulation de feu est basé sur l'exemple Fire2012 de Mark Kriegsman, modifié pour gérer un nombre variable de bandes. Plus il y a de bandes/LEDs, plus l'effet est impressionnant.

Le code complet est disponible dans le projet original. Il inclut la gestion du serveur web, la simulation de feu, le contrôle des paramètres (luminosité, FPS, étincelles, refroidissement), la palette de couleurs, la sauvegarde en EEPROM et le téléversement SPIFFS.

Comment téléverser sur SPIFFS ?

  1. Créez un dossier « data » dans le dossier du sketch et placez-y tous les fichiers à téléverser.
  2. Installez le plugin « Arduino ESP8266 filesystem uploader » (suivez les instructions sur GitHub). Une fois installé, « ESP8266 Sketch Data Upload » apparaît dans le menu Outils.
  3. Mettez l'ESP en mode programmation et lancez l'upload. Soyez patient, cela peut prendre du temps. Astuce : réglez la vitesse d'upload à 921600 pour aller plus vite.

Comment ça marche ?

Le sketch sur l'ESP8266 crée un serveur web qui répond aux requêtes de l'application. L'application envoie des requêtes GET au serveur (ESP8266). Les données de couleur pour la palette sont envoyées comme arguments dans la requête GET, idem pour les paramètres Sparking et Cooling.

Exemple : pour régler la luminosité, l'application envoie https://192.168.4.1/conf?brightness=224. Un gestionnaire dans le sketch traite cette requête et met à jour la luminosité.

Application Android

L'application Android est créée avec Phonegap (technologie multiplateforme utilisant HTML, CSS, JavaScript). Le code source est disponible sur la page du projet.

Retrouvez ce tutoriel et d'autres sur le site officiel d'ElectroPeak.

Code

Les fichiers complets sont disponibles en téléchargement dans le projet original.

Pièces personnalisées et boîtiers

Processus de fabrication

  1. Exploiter l'IoT pour la détection et la prévention précoces des incendies de forêt
  2. Construire un système de détection d'incendie rapide et fiable avec Samsung SAMI, Arduino UNO et Raspberry Pi
  3. Construire un détecteur de pleurs de bébé économique avec Raspberry Pi – Guide DIY
  4. Dégâts d'Incendie et Prévention : Stratégies Expertes pour Protéger Vies et Biens
  5. Révolutionner la lutte contre l'incendie : Comment l'IoT améliore sécurité, réponse et sauvetage
  6. iOS vs Android : quelle plateforme offre une meilleure sécurité pour les apps d'entreprise ?
  7. Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
  8. Axiom Equipment Group et commanditaires communautaires font don de 11 000 $ au service d'incendie d'Oxbow
  9. Compteur de Personnes Intelligent Contrôlé par Application Android