Table des matières:

Digispark & WS2812 Rainbow Wheel dans une boîte : 4 étapes (avec photos)
Digispark & WS2812 Rainbow Wheel dans une boîte : 4 étapes (avec photos)

Vidéo: Digispark & WS2812 Rainbow Wheel dans une boîte : 4 étapes (avec photos)

Vidéo: Digispark & WS2812 Rainbow Wheel dans une boîte : 4 étapes (avec photos)
Vidéo: SHOW AND TELL 11/22/17 #showandtell @adafruit #adafruit 2024, Novembre
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel dans une boîte
Digispark & WS2812 Rainbow Wheel dans une boîte
Digispark & WS2812 Rainbow Wheel dans une boîte
Digispark & WS2812 Rainbow Wheel dans une boîte

Ce petit projet a été réalisé autour d'une boîte en bois joliment sculptée de 10x6x5cm que j'ai trouvée dans un magasin.

Sa meilleure caractéristique, qui n'a pas été correctement capturée par la caméra, est d'éclairer avec des couleurs vives et saturées les côtés du couvercle sculpté dans l'arbre de la boîte.

D'un autre côté, sachez que l'utilisation d'un effet arc-en-ciel sur une bande de LED RVB 5050 étroites entraînera toujours un éclairage blanchâtre à quelques centimètres des LED, car la couleur de chaque pixel se mélange rapidement à celle de ses voisins. Si vous voulez éviter cet effet, vous pouvez essayer d'utiliser un objectif de mise au point

La luminosité de la lampe est maintenue proportionnelle à la lumière ambiante grâce à un LDR: la lampe brillera à la lumière du jour et ne sera pas trop lumineuse lorsqu'elle est utilisée comme veilleuse, dans l'obscurité.

Fournitures

Nomenclature:

  • une carte Attiny85 Digispark (clone), avec son bootloader Micronucleus
  • une barre 8x WS2812
  • un LDR, utilisé pour régler la luminosité de la lampe en fonction de l'environnement
  • une résistance pull-up de 10KΩ pour le LDR
  • un câble micro USB pour programmer le Digispark et alimenter la lampe une fois fait
  • une boîte en bois creuse
  • une source d'alimentation 5V⎓ (capable de fournir pas moins de 500mA)

Compétences et outils:

  • PlatformIO (s'exécutant sur Visual Studio Code) en tant qu'IDE - n'importe quel IDE Arduino fera le travail, cependant
  • un fer à souder, du fil à souder et des compétences de base en soudure
  • du câblage, des ciseaux
  • de la colle, des pincettes
  • un peu de peinture opaque (pour couvrir Digispark LED et pour protéger le LDR d'être influencé par la lumière de la lampe)

Étape 1: Digispark et PlatformIO

Digispark (et chaque clone impliquant le même microcontrôleur 8 bits) est une carte de dérivation construite autour d'un AVR Attiny85, capable d'une communication USB simple grâce à un chargeur de démarrage Micronucleus. Veuillez trouver plus d'informations sur son wiki:

PlatformIO est l'écosystème que j'ai utilisé pour programmer le Digispark. Pour travailler avec, vous devez installer Visual Studio Code

Étape 2: Schéma et câblage

Schéma et câblage
Schéma et câblage
Schéma et câblage
Schéma et câblage
Schéma et câblage
Schéma et câblage

Soudure

  1. connectez trois fils à la barre WS2812 (masse, entrée d'alimentation et entrée de données)
  2. fil de terre et Vcc à 5V et broche GND du Digispark
  3. souder le fil restant à la broche P0 de Digispark
  4. souder une résistance de 10KΩ aux broches GND et P2 de la carte
  5. utiliser deux fils pour connecter le LDR aux broches 5V et P2 (j'ai utilisé des fils émaillés à peine visibles pour des raisons esthétiques)

Étape 3: Micrologiciel

Retrouvez le code de ce projet sur mon GitHub:

Bon à savoir:

  • #include doit être utilisé lorsque vous travaillez avec PlatformIO
  • les paramètres, comme l'affectation des broches, le nombre de LED WS2812, la vitesse de la roue arc-en-ciel et les seuils sombre/lumineux pour les LED et le LDR sont au début du code
  • Adafruit Neopixel est la librairie utilisée pour contrôler les LED WS2812
  • La bibliothèque RunningMedian est utilisée pour rendre les lectures LDR plus stables; en raison des limites définies, la cartographie des limites de luminosité des LED, ceci est particulièrement agréable dans des conditions de faible luminosité, où une petite fluctuation peut entraîner un scintillement gênant
  • Vous ne trouverez aucune tentative de verrouillage de l'Attiny85, le projet restera donc éditable

Quelques astuces (apparaissant également dans le fichier README.md sur GitHub):

  • Pour télécharger le code, assurez-vous d'avoir un câble USB avec chaque broche câblée: les câbles de charge bon marché n'ont souvent que +5 V et une mise à la terre
  • Le téléchargement de PlatformIO vers DigiSpark nécessite que vous branchiez le DigiSpark après la compilation, même si la console n'avertit pas "il est maintenant temps de brancher votre DigiSpark", comme le fait Arduino IDE.
  • Solution rapide au problème de téléchargement vers DigiSpark à partir de PlatformIO sur MacOS: problème PIO 111
  • Les chargeurs USB bon marché peuvent fournir une sortie sale/bruyante, ce qui pourrait faire clignoter étrangement les LED, surtout à faible luminosité: assurez-vous d'avoir une source 5 VDC propre, ou filtrez en ajoutant un condensateur (ou un circuit plus approprié)

Étape 4: boîtier et touche finale

Boîtier et touche finale
Boîtier et touche finale
Boîtier et touche finale
Boîtier et touche finale
Boîtier et touche finale
Boîtier et touche finale
  • Faites un trou dans la boîte de votre choix pour héberger le projet, pour brancher votre câble USB. Sachez que plus le trou autour du connecteur micro USB est grand, plus la lumière fuit de votre barre LED, à moins que vous ne fournissiez un joint opaque.
  • Faites un trou pour le LDR; veillez à ne pas la faire pointer vers la zone qui sera éclairée par les leds, sinon l'auto-régulation tombera en boucle
  • Gravez la surface intérieure pour faire de la place pour la barre LED, car vous ne devriez pas vouloir voir directement les LED tout en regardant votre lampe
  • Sceller avec un support opaque le bas du LDR, pour éviter toute interférence dans la luminosité de l'environnement de détection causée par la barre WS2812
  • Utilisez une goutte de peinture opaque pour masquer la led d'alimentation Digispark, évitant ainsi qu'elle brille à l'intérieur de la box
  • Collez la carte Digispark, la barre LED, le LDR et tous les câbles pour éviter que l'intérieur de votre boîte creuse n'ait l'air désordonné
  • Prévoir un câble USB avec interrupteur, pour allumer et éteindre facilement la lampe

Conseillé: