Table des matières:

Affichage audiovisuel à LED : 8 étapes
Affichage audiovisuel à LED : 8 étapes

Vidéo: Affichage audiovisuel à LED : 8 étapes

Vidéo: Affichage audiovisuel à LED : 8 étapes
Vidéo: Matrice à led 2024, Novembre
Anonim
Image
Image
Affichage audiovisuel à LED
Affichage audiovisuel à LED
Affichage audiovisuel à LED
Affichage audiovisuel à LED

Par beckslelandsimpsonSuivez plus par l'auteur:

Commencer un jardin à partir de rien
Commencer un jardin à partir de rien
Commencer un jardin à partir de rien
Commencer un jardin à partir de rien

[ATTENTION: CLIGNOTANTS EN VIDÉO]

Les matrices de LED RVB sont un projet courant pour les amateurs qui souhaitent expérimenter des affichages lumineux, mais sont souvent soit coûteuses, soit restrictives dans leur taille et leur configuration. L'objectif de ce projet était de créer un affichage reconfigurable qui pourrait fonctionner comme une pièce autonome ou comme un affichage interactif contrôlé par une console à l'aide d'un assortiment de joysticks et de boutons. L'affichage pourrait être agencé dans une variété de dispositions allant d'une formation matricielle à une bande linéaire décorative plus statique.

En attachant un assortiment de capteurs audio, de boutons et de manettes, l'affichage peut basculer entre les modes interactifs et automatiques, avec des couleurs, des effets, des modes, des vitesses, une luminosité et des motifs configurables.

Les utilisateurs peuvent basculer entre les modes et les configurations à l'aide des boutons MODE et CONFIG, en utilisant le joystick et le bouton SELECT pour faire leurs choix. Le choix actuel de l'utilisateur est affiché sur l'écran LCD 16x2 au centre de la console.

Ce projet impliquait une bande LED composée de 250 LED, mais le code peut être facilement modifié pour permettre une bande de n'importe quelle taille.

Modes

  • Jeux: les jeux peuvent être joués en utilisant la matrice led comme écran
  • Bruit: les LED s'allument en fonction du volume et de la fréquence du bruit ambiant.
  • Couleur: LED utilisées comme éclairage affichant une palette de couleurs prédéfinie.
  • Pluie: Effets de lumière de pluie tombante

Configurations des modes

  • Couleur - Définit la palette de couleurs de la bande

    • Drapeau de la fierté - Arc-en-ciel
    • Drapeau Trans - Bleu, Rose, Blanc
    • Feu - Rouge, Orange, Jaune
    • Lumière - Blanc
  • Style - Définit l'effet d'affichage des bandes

    • Bloquer - Si en mode couleur, les couleurs des LED restent constantes, en mode bruit, toutes les LED sont réglées sur la valeur de couleur de bruit la plus récente, créant un effet de clignotement.
    • Shimmer - Les LED alternatives oscillent, s'estompant entre marche et arrêt.
    • Piste - Si en mode couleur, la palette de couleurs des LED se déplace sur la bande. En mode bruit, les couleurs du bruit se déplacent à travers la bande sous la forme d'une onde en mouvement.
  • Effet de pluie - Comment les modèles de pluie sont générés

    • Aléatoire - Les nouvelles rayures de pluie sont positionnées de manière aléatoire et le motif varie.
    • Constant - Le motif de pluie se répète.
  • Jeu - À quel jeu pouvez-vous jouer sur la matrice

    Snake - Viva la Nokia, jouable uniquement lorsque la bande est en configuration matricielle

  • Couleur d'effet - Quelle source de couleur les effets utilisent-ils ?

    • Ensemble de couleurs - Les effets (par exemple, la pluie) prennent une couleur aléatoire dans la palette de couleurs définie.
    • Noise Freq - Les effets lorsqu'ils sont générés prennent la couleur correspondant à la fréquence de bruit actuelle.
    • Noise Vol - Les effets lorsqu'ils sont générés prennent la couleur correspondant au volume de bruit actuel.
  • Taille - Comment l'affichage est-il organisé ?

    • Bande 250x1
    • Matrice 50x5
    • Matrice 25x10

Vitesse et luminosité

Contrôlé via des potentiomètres analogiques rotatifs, pour modifier la luminosité des LED et la vitesse de mise à jour de l'affichage. Cela impacte largement l'intensité des effets lumineux et la difficulté des jeux.

Statut stroboscopique et LED

L'interrupteur supérieur gauche de la console permet d'éteindre les LED, en option lors de la configuration de l'affichage. L'interrupteur inférieur gauche active l'effet stroboscopique, faisant clignoter l'affichage à la vitesse définie.

Étape 1: Exigences

Composants:

  • Planche à pain ~ 5 £
  • StripBoard ~ 10 £ pour le set 5
  • Arduino Mega (n'importe quel clone fera l'affaire) ~ 20 £
  • 2x résistances de potentiomètre 1M
  • Bande 300 RGB adressable individuellement ~ 30 £
  • En-têtes de broche ~ 5 £
  • 10x 10K, 1x 300 Résistances
  • Module LCD I2C ~ 5 £
  • Joystick à 4 commutateurs ~ 10 £
  • Capteur audio ~ 5 £
  • 1x 1μF, 1x 10μF, 1x 100nF Condensateurs
  • 3x (momentanés) boutons. Recommandations: Arcade, Mini ~ 3 £
  • 2x interrupteurs. Recommandations: Basculer ~ 5 £
  • Prise d'alimentation
  • Boite ~ 20x20x15cm - Le carton c'est le plus simple, mais si vous avez accès à un cutter laser, vous le faites vous-même.

Mes recommandations Joystick/Button étaient des choix purement stylistiques, après un thème d'arcade; des interrupteurs momentanés de toute nature feront l'affaire. Des joysticks moins chers peuvent être obtenus qui signalent leur position via des signaux analogiques produits à l'aide de 2 potentiomètres (un pour chaque axe). Si vous êtes prêt à modifier le code, vous pouvez utiliser des joysticks comme tels.

Alors que j'ai utilisé un pourcentage minimal des broches d'E/S de l'Arduino Megas, il a été sélectionné pour sa plus grande taille dynamique et mémoire de programme, pour laquelle l'Arduino Uno s'est avéré insuffisant.

Choix de bande LED

La bande LED que j'ai utilisée était une bande flexible LED WS2813 300 RVB adressable individuellement. une version améliorée du WS2812. Ce format, bien qu'un peu plus cher, améliore le WS2812 avec une double transmission de signal, ce qui signifie que si une LED cesse de fonctionner, le reste de la bande après elle fonctionne toujours. En tant que tel, il dispose de 4 broches: 5V, GND, DI (entrée de données) et BI (entrée de sauvegarde).

Coût total: ~ 100 £

Équipement:

  • Fer à souder + soudure
  • Multimètre (facultatif, mais recommandé)
  • Coupe-fils et dénudeurs
  • Fil: de préférence monoconducteur, flexible (LOTS)
  • Scalpel
  • Règle/Crayons
  • 1x 5V Alimentation
  • Tournevis manuels
  • Câble USB de l'imprimante A vers B

Logiciel:

IDE Arduino

Compétences:

  • Soudure
  • Une certaine expérience Arduino tout sauf absolument nécessaire

Étape 2: Schéma et code

Schéma & Code
Schéma & Code
Schéma & Code
Schéma & Code
Schéma & Code
Schéma & Code

Ce projet se composait de 2 potentiomètres, 1 capteur audio, 1 bande LED, 3 boutons momentanés, 1 joystick (4 boutons momentanés), 1 module LCD et 2 interrupteurs.

Je vous recommande de vous assurer que vous comprenez le câblage et la configuration des circuits de base sur une planche à pain, avant de souder l'électronique au stripboard à l'étape suivante pour une durabilité à long terme. Vous devriez au moins pouvoir connecter les différentes broches Arduino aux valeurs par défaut HIGH (5V)/LOW (GND) et expérimenter en différant les paramètres d'origine du LEDStrip dans le code (ceci est marqué - voir l'étape du code) pour voir certains des effets de lumière préliminaires.

Circuit audio

Le circuit audio est discuté à l'étape suivante et n'est nécessaire que si vous souhaitez des effets audio, sinon vous pouvez simplement connecter les broches d'entrée analogique AUDIO A0, A1 à GND via une résistance pull-down (~ 300 Ohm). Ce circuit cherche à extraire la fréquence et le volume du son mesuré, en donnant deux valeurs d'entrée différentes pour contrôler les visualisations audio, par ex. hauteur (amplitude vol) et couleur (fréquence).

Bande LED

J'ai joint la fiche technique de la bande WS2813, celle-ci présente le câblage idéal. La broche BI peut être tirée vers le bas à travers une résistance à la terre et un condensateur doit être connecté entre le GND et +5V et placé près de la bande. Cela atténue les changements soudains de la demande de courant de la bande, par exemple s'il y a une augmentation soudaine et importante lorsque toutes les LED s'allument, le condensateur utilisant sa charge stockée peut l'alimenter plus rapidement que l'Arduino, réduisant ainsi la contrainte sur les composants de la carte.

La bande est contrôlée à l'aide de la bibliothèque FASTLED (voir l'étape de code pour plus de détails) et connectée à la broche 5.

Module LCD

Le module LCD que j'ai recommandé utilise un circuit interne de sorte qu'il ne nécessite que 2 broches d'entrée, ce qui réduit considérablement la complexité de sa soudure dans le circuit. Il est connecté aux broches SCL, SDA.

Potentiomètres

Les potentiomètres sont des résistances variables, qui vous permettent de contrôler la tension mesurée sur la broche interne, l'Arduino peut la lire comme une valeur analogique. Je les ai utilisés comme moyen interactif de contrôler manuellement la vitesse et la luminosité de l'écran et ils sont connectés aux broches d'entrée analogiques: A3, A2.

Alimentation externe

Pour les projets plus petits (< 20 LED), l'Arduino peut être alimenté uniquement via USB, mais pour ce cas d'utilisation plus important (250 LED), en raison de la forte demande de courant, une source d'alimentation externe + 5 V est requise. J'ai alimenté l'Arduino via une prise externe connectée au GND et au VIN de l'Arduino. Lorsqu'il est alimenté uniquement via USB, les couleurs des LED seront déformées et l'écran LCD ne s'allumera pas complètement.

Boutons/Interrupteurs/Joystick

En position neutre, les broches INPUT des boutons sont tirées vers GND et l'Arduino lit numérique LOW, mais lorsqu'elles sont enfoncées, les broches sont connectées à +5V lisant numérique HIGH. Voir ici pour un exemple typique de bouton Arduino. Ces valeurs lues peuvent être utilisées comme valeurs booléennes conditionnelles pour le programme, provoquant l'exécution de différents segments de code. Les boutons/interrupteurs sont connectés aux broches d'entrée numériques suivantes: Mode/Config: 3/2. Joystick L/R/U/D: 10/11/13/12. Sélectionnez: 9.

Étape 3: effets audio

Effets audio
Effets audio
Effets audio
Effets audio
Effets audio
Effets audio

La partie la plus compliquée du circuit était le convertisseur de tension audio - fréquence. J'ai suivi le schéma ci-dessus (voir ici pour plus d'informations). Une certaine altération du condensateur, des valeurs de résistance peuvent être nécessaires en fonction de la force de votre signal audio. L'exemple donné utilisait un signal alternatif de 12 V, j'ai trouvé de bons résultats en utilisant 3,3 V comme tension d'alimentation et en alimentant 5 V dans le capteur audio.

Les deux signaux que j'ai extraits de ce circuit étaient la fréquence (VOUT) et le volume (V2 +).

Remarques utiles

Les condensateurs plus grands (seuil d'environ au-dessus de 1µF, non céramique) sont polarisés, ceux-ci incluent les condensateurs électrolytiques, le courant y circule de + à -. Sur le schéma, j'ai noté la direction dans laquelle ils doivent être disposés.

Le transistor utilisé dans ce circuit est du PNP, ces transistors permettent au courant de circuler de l'émetteur vers le collecteur lorsqu'une polarité négative est appliquée à leur base par rapport à l'émetteur.

Tristesse #1

À l'origine, j'ai essayé d'alimenter le circuit en audio à l'aide d'une prise audio, le rêve étant de connecter l'audio directement depuis mon téléphone. Malheureusement, le signal que cela produisait semblait trop faible, et après une semaine de lutte pour le faire fonctionner, j'ai eu recours à un module de capteur de son. Je suis sûr qu'il existe des techniques d'amplification que j'aurais pu utiliser, et c'est certainement le principal problème de mon projet que je chercherais à corriger à l'avenir.

Étape 4: Conception et création de consoles

Conception et création de consoles
Conception et création de consoles
Conception et création de consoles
Conception et création de consoles
Conception et création de consoles
Conception et création de consoles
Conception et création de consoles
Conception et création de consoles

La conception de ma console a été inspirée des arcades de la vieille école, avec un joystick rétro, des boutons et des interrupteurs à bascule. Je l'ai construit à l'aide d'une vieille boîte à écouteurs en carton (la thésaurisation a son utilité); c'était très efficace car la boîte avait une doublure intérieure en mousse, donc une fois retournée, elle produisait un bel effet poli.

  1. Esquissez la disposition générale de la console que vous souhaitez.
  2. Mesurez et marquez les positions des différents composants sur le dessus de la boîte. Assurez-vous de prendre les mesures intérieures des boutons/interrupteurs/joysticks car vous voulez que les espaces soient juste assez grands pour pousser les composants à travers mais que leurs bords extérieurs s'accrochent toujours au carton. Je recommande d'utiliser un scalpel pour couper ces trous, mais des ciseaux pointus en combinaison avec des tournevis pour les trous circulaires devraient faire l'affaire. Coupez lentement, en essayant de faire passer le composant à travers et en augmentant progressivement la taille des prises, faites un composant à la fois.
  3. Pour les composants plus gros tels que le joystick et l'écran LCD, je recommande de visser des écrous/boulons à travers le dessus de la console pour les maintenir solidement en place.
  4. Découpez trois trous en bas à l'arrière de la console, ceux-ci seront pour l'entrée d'alimentation, l'entrée USB pour éventuellement programmer le connecteur de sortie Arduino et LEDStrip.

Meilleures astuces

Je recommande de pré-souder chacun des connecteurs métalliques des composants avant de les placer dans la console pour faciliter l'accès et réduire le risque de brûler le carton.

Étape 5: Schéma de soudure

Schéma de soudure
Schéma de soudure
Schéma de soudure
Schéma de soudure
Schéma de soudure
Schéma de soudure
Schéma de soudure
Schéma de soudure

Vous aurez besoin d'un morceau de planche à bandes d'au moins 25 rangées sur 20 colonnes. Cependant, en choisissant un plus grand, vous pourrez fixer votre micro-contrôleur sur le Stripboard à côté des fils, cela signifie que les seules connexions non stables seront celles entre le Stripboard et les composants attachés à la surface de la console. Ce qui est essentiel à chaque étape de ce processus, c'est, dans la mesure du possible, de réduire la contrainte que tout câblage pourrait subir pour garantir un produit final durable.

J'ai utilisé des en-têtes de broches pour organiser proprement les fils en groupes et les connecter à l'Arduino d'une manière qui peut être facilement détachée pour le débogage.

J'ai partiellement soutenu le Stripboard contenant les circuits les plus lourds en utilisant une ficelle/un fil pour le connecter à la paroi intérieure de la boîte en carton.

Les fils d'alimentation principale et LEDStrip qui sortaient de la console avaient des connecteurs intermédiaires qui pouvaient être détachés, cela signifiait que les fils pouvaient être enfilés dans des trous au bas de la console et permettre toujours à la boîte de s'ouvrir.

Conseils de soudure

Une pince pour maintenir les fils/stripboards pendant la soudure rendra le processus beaucoup plus facile. Pré-soudez toujours chaque fil avant d'essayer de les connecter.

Conseils de mise en page

Tous les fils sortants (allant vers les broches Arduinos) sont situés au bord de la carte.

Si possible, l'utilisation de fils de couleur différente dans les rangées voisines permet d'éviter toute confusion de câblage.

GND, +3,3V, +5,5V doit toujours être placé sur les rangées de bord, pour une identification facile, placer GND et +3,3/5V sur les bords opposés permet d'éviter un court-circuit potentiel mais personnellement je ne me suis pas embêté et je les ai placés dans les 3 premiers Lignes. La disposition de la console peut déterminer en partie l'ordre des rangées de fils, les composants à proximité correspondent aux rangées voisines, les numéros PIN dans l'IDE Arduino peuvent toujours être réécrits.

En soudant toutes les broches +5V des boutons/résistances ensemble à l'arrière de la console les unes aux autres dans une chaîne en guirlande, un seul fil +5V est nécessaire entre le Stripboard et le dessus de la console, réduisant considérablement le nombre de fils de connexion vulnérables. Par exemple pour les 4 interrupteurs du joystick j'ai connecté toutes leurs bornes 5V ensemble.

Soyez généreux dans la longueur des fils qui s'étendent entre le Stripboard et la console, beaucoup plus facile à réduire plus tard que d'essayer d'augmenter.

Si possible, utilisez un câble flexible entre le Stripboard et les composants de la console, cela facilite l'ouverture et le débogage ultérieur de la console.

Étape 6: Extension 1: Matrice LED

Extension 1: Matrice LED
Extension 1: Matrice LED
Extension 1: Matrice LED
Extension 1: Matrice LED
Extension 1: Matrice LED
Extension 1: Matrice LED

En connectant la bande LED telle quelle à la console, la majorité des effets de pluie, de couleur, de stroboscope et de bruit peuvent être affichés, mais la forme de visualisation est limitée. Le code permet à l'affichage d'être configuré davantage dans des dispositions 250x1, 50x5 et 25x10, ce qui permet des visualisations matricielles. Le bruit peut être affiché sous forme d'ondes en mouvement, les jeux peuvent être joués sur la matrice comme un écran basse résolution. Le choix d'une longueur de bande individuelle de 25 pixels était personnel, et vous pouvez le choisir vous-même et le définir dans le code. Ce que je voulais avant tout, c'était la flexibilité, de sorte que quel que soit l'effet graphique que j'ai décidé de coder à une date ultérieure, je puisse assembler le matériel dans l'arrangement requis.

Tristesse #2

J'ai fait un rêve, et c'était d'utiliser une encre conductrice pour peindre des connexions de circuits sur du carton, qui pourrait être pressé contre les extrémités adjacentes des bandes LED.

Avantages:

  1. Ça a l'air super cool, et je pourrais utiliser du carton de couleur assez différente
  2. Je peux dessiner des circuits
  3. Personnalisation ultime, pensez à un nouvel arrangement, dessinez-le simplement.

Désavantages:

  1. Cela n'a pas fonctionné.
  2. Pas même un peu.
  3. Pourquoi seriez-vous capable de dessiner à la main un câblage suffisamment précis puis d'appliquer une pression suffisamment précise et constante sur un matériau compressible tel que le carton ?

Je maintiens que si cela avait fonctionné, cela aurait été vraiment cool et je ne regrette que partiellement les 2 heures consacrées à cette entreprise.

Solution réelle

J'ai décidé d'utiliser un système de connecteurs mâles/femelles enfichables, similaires à ceux utilisés pour connecter les fils Stripboard à l'Arduino. En plaçant M/F alternativement à chaque extrémité, les bandes individuelles peuvent être éventuellement enfichées les unes dans les autres en recréant la bande originale non coupée. Ou des connecteurs de fils flexibles intermédiaires peuvent être utilisés afin que les bandes puissent être repliées sur elles-mêmes pour former une matrice, ou toute autre configuration spatiale.

  1. Découpez la Led Strip en segments, j'ai choisi 10 bandes de longueur 25, laissant 50 LED de rechange pour un autre projet
  2. Soudez chacune des connexions en cuivre à chaque extrémité de la bande. Attention à ne pas faire fondre le plastique, si vous en avez acheté un avec un revêtement imperméable, vous devrez couper une petite partie supérieure à chaque extrémité.
  3. Mon LEDStrip avait 4 connecteurs à chaque extrémité et 10 bandes, j'ai donc coupé 10 segments d'en-têtes mâles et 10 femelles de longueur 4. Pour chaque bande, j'ai soudé un mâle à une extrémité et une femelle à l'autre. Assurez-vous que les mêmes extrémités sont mâle/femelle pour chaque bande, cela vous permettra de les connecter en guirlande comme à la mode.
  4. Testez les connexions en branchant les 10 bandes ensemble, corrigez avec plus de soudure si nécessaire.
  5. Nous avons maintenant besoin des connecteurs de fils, ceux-ci seront utilisés pour connecter les bandes individuelles ensemble dans des arrangements flexibles, que l'objectif soit de s'éloigner les uns des autres ou d'assembler une matrice. Leur longueur déterminera à quelle distance vous pouvez placer chaque section continue de LEDStrip; coupez le fil un peu plus longtemps que vous ne le souhaitez car une certaine longueur sera perdue lors de la connexion des fils. Coupez 10 autres segments d'en-tête mâles et 10 femelles de longueur 4. Coupez 40 morceaux de fil (idéalement multicolores, flexibles), dénudez chaque extrémité et pré-soudez.
  6. Pour créer une connexion filaire, prenez d'abord 4 fils (idéalement de couleurs différentes pour permettre l'identification de quel fil se connecte à quelle broche) et soudez-les à une embase mâle. Vous souhaitez ensuite tresser ces 4 fils, cela permet de garder le câblage soigné. Une fois tressé (la qualité que nous recherchons ici suffit), vous pouvez souder les autres extrémités au connecteur femelle. Assurez-vous que les mêmes fils sont soudés aux mêmes broches. Si tous vos fils sont de la même couleur, faites des marquages ou utilisez un multimètre pour déterminer quel fil est lequel, car après le tressage, il ne sera pas clair. Répétez ce processus pour chaque connexion filaire dont vous avez besoin.
  7. Testez à nouveau les connexions en connectant toutes les bandes par les connexions filaires, jouez avec le réglage de la taille de la console et disposez les bandes LED dans différentes formations matricielles. Il est préférable de rompre et d'identifier les connexions faibles plus tôt que plus tard.

Vous disposez maintenant de 10 bandes individuelles, qui peuvent être directement branchées les unes sur les autres pour recréer une longue bande unique, ou réarrangées en formations matricielles.

Étape 7: Configuration et configuration

Configuration et configuration
Configuration et configuration
Configuration et configuration
Configuration et configuration

La dernière version peut toujours être trouvée sur mon github: rs6713/leddisplay/, n'hésitez pas à la télécharger/la télécharger et à jouer.

Installer l'IDE Arduino

Dans le cas miraculeux où vous auriez terminé ce didacticiel sans expérience Arduino préalable, l'IDE Arduino peut être téléchargé ici. Installez et ouvrez simplement le code dans l'IDE, branchez la carte via le câble de l'imprimante sur l'ordinateur. (Vous devrez peut-être installer un pilote pour que l'ordinateur reconnaisse la carte Arduino, mais cela devrait se produire automatiquement la première fois que vous branchez un Arduino sur votre ordinateur). Sélectionnez le type de carte et sélectionnez le port COMM actif sur lequel l'Arduino est branché.

Configuration

Pour modifier les différents paramètres de l'affichage, aucune connaissance de programmation sophistiquée n'est requise.

Les zones du programme susceptibles d'être configurées sont marquées par /*** CONFIGURE ME ***/

Vous pouvez facilement modifier/configurer les zones suivantes du programme:

  • Les broches auxquelles les composants sont connectés
  • La taille des bandes LED individuelles
  • Nombre total de LED dans les bandes globales
  • Les modes que vous souhaitez autoriser pour le programme
  • La longueur des gouttes de pluie pour l'effet pluie.

Les broches et le nombre total de LED sont essentiels pour que le code fonctionne correctement avec votre version du circuit électronique discuté dans les étapes précédentes. Il est également utile pour tester différents modes d'affichage en les paramétrant lors de l'initialisation du code plutôt que d'avoir à construire et connecter tous les boutons de manette, de mode et de configuration.

Télécharger

Une fois que vous avez défini les codes PIN corrects pour les composants, la taille de la bande et le nombre de LED, vous pouvez télécharger le programme sur l'Arduino en appuyant sur télécharger. J'espère que vous l'avez déjà fait à ce stade pendant les tests. Branchez l'alimentation externe 5V et vous devriez être prêt à partir.

Débogage

Si le LEDStrip/la console ne fonctionne pas comme prévu, il existe un certain nombre de causes potentielles.

Le LEDStrip est complètement/partiellement éteint:

  • Vérifiez que le commutateur LEDStrip est activé,
  • Si vous avez étendu la bande et que les derniers segments d'extrémité de la bande LED ne s'allument pas, cela est probablement dû à une connexion défectueuse. Vérifiez vos connexions pour les joints secs et le ressouder, essayez de changer l'ordre des bandes, et s'il s'agit d'une connexion câblée, essayez de changer une connexion câblée pour une autre.

La luminosité de l'écran LCD est faible/les couleurs des bandes LED sont incorrectes:

  • Vérifiez que la connexion d'alimentation externe est allumée/correctement connectée. Lorsque la puissance est faible, toutes les couleurs des LED RVB ne s'allument pas de manière cohérente et l'écran LCD a du mal à s'éclairer.
  • Les couleurs peuvent également être erronées si la configuration de la taille, par ex. 250x1 du programme ne reflète pas la disposition réelle des LED.
  • Dans le pire des cas, vous pouvez modifier le programme pour réduire le nombre de bandes illuminées.

Terriblesse aléatoire

En dernier recours, des Serial.prints commentés ont été laissés tout au long du code, les décommenter vous donnera des informations sur les divers états des composants et des programmes internes.

Une situation probable est qu'une entrée qui devrait être mise à la terre, est déconnectée et reste flottante, cela créera de faux déclencheurs d'événements (lecture de broche oscillant de manière aléatoire entre FALSE et TRUE) et un comportement de programme imprévisible.

Modifications du programme

D'autres domaines de modifications possibles sont marqués avec /** CHANGE ME **/

Ces zones sont d'excellents exemples où vous pouvez ajouter vos propres personnalisations:

  • Ajouter de nouvelles options de palette de couleurs
  • Ajoutez de nouveaux effets, par ex. miroiter
  • Ajouter de nouveaux jeux

Ce ne sont que des suggestions, n'hésitez pas à modifier le code comme vous le souhaitez.

Étape 8: Extension 2: OpenProcessing

Extension 2: OpenProcessing
Extension 2: OpenProcessing

** Au moment de la rédaction, cette fonctionnalité n'est toujours pas implémentée, cette étape est donc destinée à mettre en évidence les futurs plans/manifestations de ce projet et à souligner l'importance d'étendre le LEDStrip pour permettre les affichages matriciels. **

L'une des raisons pour lesquelles j'étais tellement enthousiasmé par le fait que l'extension du LEDStrip a permis de l'organiser sous forme de matrice, c'est qu'avoir un écran d'affichage ouvre de nombreuses opportunités pour mapper des visualisations 2D d'autres logiciels vers l'Arduino HW.

OpenProcessing est une communauté de graphiques interactifs 2D basée sur le langage Processing. En utilisant une simple fonction d'impression série, l'apparence de chaque image peut être transmise pixel par pixel à l'Arduino. Par conséquent, il peut y avoir un futur mode pour la console, où l'Arduino n'écoute que la connexion série et met simplement à jour la matrice de LED image par image en fonction de l'animation spécifiée par le programme de traitement. Cela présente de nombreux avantages dans la mesure où Processing est un langage spécialisé pour les arts visuels et est facile à apprendre, ce qui permet de créer très rapidement des visualisations d'art complexes. Il déplace également la mémoire et la complexité de traitement vers votre ordinateur, l'Arduino, relativement limité en mémoire/puissance de traitement, n'ayant qu'à gérer les informations transmises via la série.

En sous-traitant vos visualisations d'affichage LED à une bibliothèque préexistante d'effets graphiques 2D, les possibilités sont infinies. Consultez le catalogue openprocessing.org pour vous inspirer.

Conseillé: