» Elektronica » Arduino »Led Matrix op WS2812

Led Matrix op WS2812

Led Matrix op WS2812

Goedemiddag, ik wil er nog een delen zelfgemaakt. Deze keer besloot ik instructies te schrijven voor de fabricage van Led matrix. De maat is kleine 10x10 diodes. Maar volgens deze instructie is het mogelijk om matrices en grote maten te maken. Voor schoonheid extra achtergrondverlichting. De basis werd genomen door WS2812 adresseerbare LED's die op een tape waren gemonteerd met 60 diodes per meter. We zullen ze beheren Arduino Pro Mini. Er zijn veel mogelijkheden om de matrix te gebruiken. Ik heb bijvoorbeeld een temperatuursensor toegevoegd en de klokfirmware zonder RTC geschreven.

We hebben nodig:
- WS2812 tape met 120 leds, 60 stuks per meter
-
- Voeding voor 5V 1A
- ds18b20 temperatuursensor
- Weerstand 4.7 Kom 0.25 W
- spaanplaat 10 mm dik
- Mat of "melk" plastic
- Dik karton
- elektrische tape
- aansluitdraden
- printplaat
- Knopen
- Zelftappende schroeven 19 mm
- soldeerbout
- Soldeer, hars
- Dubbelzijdige tape
- USB-TTL
- Boor of schroevendraaier
- Elektrische fretzaag
- Boren voor hout

Stap 1 Bereiding van diodes
We nemen een dicht karton en "omlijnen", dat wil zeggen, we tekenen horizontale lijnen met een onderlinge afstand van 16 mm. We tellen 100 diodes van onze tape. Deze 100 diodes werken in segmenten van 10 diodes. De overige 20 zijn één diode afgesneden. Dit moet zorgvuldig en strikt langs de snijlijnen gebeuren. Laat me het uitleggen: 10 segmenten van 10 diodes in totaal 100 zijn nodig voor de matrix, de overige 20 hebben achtergrondverlichting. Secties van 10 diodes worden langs de lijnen op het karton gelijmd. Let op de richting van het stuursignaal voor de diodes! Het stuursignaal moet in de juiste richting worden aangevoerd, hiervoor wordt de pijl op de bandrichting aangegeven. Lijm de eerste strip van links naar rechts, dat wil zeggen, IN (invoer) op de tape moet aan de linkerkant zijn en OUT (aan de rechterkant). De IN (invoer) van de eerste strip moet dus in de linkerbovenhoek staan! Lijm de volgende strip daarentegen van rechts - naar links. De derde weer van links naar rechts. Dus verder. Als we de richting van het stuursignaal volgen, moeten we een zigzaglijn krijgen, beginnend in de linkerbovenhoek. Het belangrijkste is niets te verwarren.

Tussen de eerste en tweede strip, dichter bij het begin, wordt een gat gemaakt voor de draden. Soldeer de draden aan de eerste strip, bij voorkeur veelkleurig, om niet te verwarren. We passeren ze door het gemaakte gat. Soldeer vervolgens onze strepen met korte draden. + 5 van de eerste holte tot +5 de tweede. GND naar GND. Van de OUT van de eerste strip tot IN van de tweede strip, van de OUT van de tweede strip tot IN van de derde, enzovoort. Het resultaat zou het volgende moeten zijn:


Stap 2 De zaak maken.
De koffer bestaat uit drie delen. Eerst moet u het frame van spaanplaat 10 mm dik snijden. Het is het beste om te snijden met een decoupeerzaag, maar bij afwezigheid kan het handmatig worden genomen. De zijkant van het buitenvierkant is 190 mm.Intern - 170 mm. Voor schoonheid is het beter om de hoeken af ​​te ronden. Er moet dus een frame met een afmeting van 190 x 190 mm en een wanddikte van 10 mm worden verkregen. Na het snijden reinigen we met fijn schuurpapier.


We gaan over tot de fabricage van het tweede deel. We bevestigen ons frame aan de spaanplaat en tekenen een potlood rond de buitenrand. We verwijderen het frame. We trekken 30 mm aan elke kant terug in de binnenkant van het vierkant en tekenen een binnenvierkant. Je zou een ander frame van 190 x 190 moeten krijgen, maar met een zijdikte van 30 mm. Op een afstand van 5 mm van de buitenrand van dit frame en op gelijke afstand van elkaar maken we gaten met een diameter van 3 mm. 2 gaten aan elke kant. Ze zijn nodig voor schroeven. Je moet ook beslissen waar de bovenkant zal zijn en in de linkerbovenhoek van het binnenvierkant een sleuf maken voor de draden.


Aan de achterkant van het tweede frame, langs de omtrek van de binnenkant, moeten segmenten van dezelfde spaanplaat met een dikte van 10 mm worden geschroefd. Het resultaat zou er als volgt uit moeten zien:


Ga naar de vergadering. We zetten het tweede frame op tafel. Top, diodes omhoog, zet een kartonnen doos met diodes. En we behandelen het allemaal met het eerste frame. Plaats het karton tussen de frames zodat de diodes parallel lopen aan de zijkanten van het frame en op gelijke afstand van de randen. We draaien het helemaal om, heel voorzichtig om de diodes niet omver te werpen en het allemaal samen te draaien. Daarna hebben we het overtollige karton afgesneden.


Ga naar de achtergrondverlichting. Aan de zijkant van de diodes, tussen de voorlaatste en laatste strip, dichter bij de linkerrand, moet je een gat boren voor de draden. Soldeer de draden aan het einde van de laatste strip en rijg deze draden door het gat. De overgebleven en afgesneden stuk voor stuk 20 diodes moeten aan de achterkant op gelijke afstand van elkaar worden gelijmd. 5 stuks aan elke kant. De richting van het stuursignaal is de uurwijzer vanaf de rechter benedenhoek. We solderen ze evenals de matrix. Afgeleide draden van het uiteinde van de matrix worden aan de eerste diode gesoldeerd. + 5 van de eerste diode tot +5 van de tweede. GND naar GND. Van de OUT van de eerste diode tot IN van de tweede, van OUT van de tweede tot IN van de derde, enzovoort.

We plaatsen onze Arduino Pro Mini in het achterframe, achter de matrix. Gebruik voor voeding een gestabiliseerde 5 volt voeding. Met een stroomsterkte van minimaal 1 Ampère. De diodes zijn behoorlijk vraatzuchtig en als je van plan bent ze allemaal tegelijk en voor een lange tijd aan te zetten, is de voeding krachtiger nodig, ik raad 1,5 - 2 ampère aan. We verbinden dit allemaal samen van +5 voeding tot +5 Arduino en +5 WS2812. -5 voeding met GND Arduino en GND WS2812. De stuurkabel van IN WS2812 wordt aangesloten op de "pin 6" Arduino.


De diodes zijn erg helder en ze zien er niet erg esthetisch uit. Daarom is het noodzakelijk om een ​​diffuser te vervaardigen en te installeren. Mat plastic is hiervoor het meest geschikt, of zoals het "melk" wordt genoemd. Het is noodzakelijk om de matrix op het plastic te bevestigen en met een potlood te cirkelen. Knip en bevestig vervolgens op dubbelzijdige tape op het voorframe. Het is niet altijd mogelijk om zo'n plastic snel te vinden, maar ik wil het product echt starten. In dit geval kunt u in plaats van plastic wit karton of landschapspapier gebruiken.


Volgens hetzelfde principe is het mogelijk om een ​​matrix van grote afmetingen te maken. Het is alleen nodig om de afmetingen van de koffer te vertellen.

Stap 3 Sluit de temperatuursensor aan.
Het is alleen dat dit horloge niet interessant is, dus voeg er een temperatuursensor aan toe. Om de temperatuur te meten, gebruiken we de geïntegreerde sensor DS18B20. Het heeft een hoge meetnauwkeurigheid, de fout is niet meer dan 0,5 ° C. Af fabriek is de sensor gekalibreerd en zijn geen aanvullende instellingen vereist. Groot temperatuurmeetbereik -55 ... + 125 ° C. Het kan in elke kamer worden gebruikt. Als u op straat bent, moet u zorgen voor bescherming tegen vocht. Er zijn twee werkingsmodi: met een externe stroombron en "onechte stroom". Ik raad aan om met externe voeding te gebruiken.


Op één communicatielijn kunnen meerdere sensoren worden opgenomen. Maar voor ons is één voldoende. +5 nemen we van de voeding. GND tot -5. Bedraad van pin "DQ" ds18b20 naar "pin 9" Arduino.Vergeet niet om een ​​pull-up-weerstand tussen "DQ" en +5 op 4,7 kOhm te plaatsen. Naar mijn mening is dit het handigst om dit op de sensor zelf te doen. We tonen het in de rechterbovenhoek:


Stap 4 Een bord met knoppen voorbereiden.
In dit geval gebruiken we de matrix als klok. De tijd kan worden ingesteld via de seriële poort door de Arduino op de computer aan te sluiten. Dit is niet altijd handig. Daarom maken we een bord met drie knoppen om de tijd in te stellen. Daarnaast kan de matrix voor andere doeleinden worden gebruikt, schrijf gewoon een andere schets. Vervolgens kunnen de knoppen voor andere doeleinden worden gebruikt.


We verbinden ze als volgt: verbind de gemeenschappelijke draad van alle drie de knoppen met de "GND" Arduino. De eerste knop, dient om de tijdinstellingsmodus te openen en om te schakelen tussen tijd en datum, verbinding maken met "Pin 2". De tweede, de knop om de waarde te verhogen, is "Pin 3", en de derde, de knop om de waarde te verlagen, is "Pin 4". We bevestigen de knopen op de dubbelzijdige tape achter de matrix:


Stap 5 Firmware.
Zoals ik al zei, kan de matrix voor verschillende doeleinden worden gebruikt. Ik heb momenteel alleen een schets voor horloges geschreven. In de daaropvolgende lay-out en andere schetsen. Voor schrijven en vullen gebruik ik Arduino IDE 1.8.5. U kunt de matrix op verschillende manieren besturen. Bedien elke diode afzonderlijk of als een enkele matrix. In mijn schets gebruik ik de eerste optie. Om dit te doen, heb je een bibliotheek van Adafruit nodig genaamd NeoPixel-master:
adafruit_neopixel-master.rar [27.83 Kb] (downloads: 71)


Om met diodes te werken zoals met de matrixmatrix Adafruit_NeoMatrix-master en Adafruit-GFX-Library-master:
matrix_bibliotheken.rar [282.01 Kb] (downloads: 80)


Een temperatuursensor heeft de OneWire-bibliotheek nodig.
onewire.rar [16.75 Kb] (downloads: 64)


Om de schets te bewerken en in te vullen, moet je eerst de Arduino IDE installeren vanaf de officiële website van Arduino.cc, en dan al deze bibliotheken. Het is noodzakelijk om deze archieven uit te pakken en de uitgepakte bestanden te plaatsen in de map "libraries" in de map met de Arduino IDE geïnstalleerd. Het is ook mogelijk om bibliotheken rechtstreeks in de Arduino IDE te installeren. Selecteer, zonder de gedownloade archieven uit te pakken, in de Arduino IDE het menu Sketch - Connect Library. Selecteer ".Zip-bibliotheek toevoegen" bovenaan de vervolgkeuzelijst. Selecteer in het dialoogvenster dat verschijnt de bibliotheek die u wilt toevoegen. Na alle manipulaties moet je de Arduino IDE opnieuw opstarten.

De temperatuursensor heeft voor elk apparaat een uniek adres - een 64-bit code. Het vinden van deze code is een veeleisende taak. Daarom moet u eerst de sensor op de Arduino aansluiten, vul de schets in het menu Bestand - Voorbeelden - Dallas-temperatuur - OneWireSearch in. Voer vervolgens Tools - Port Monitor uit. Arduino zou je sensor moeten vinden en het adres moeten schrijven. We kopiëren of noteren gewoon het adres van uw sensor. Open de schets Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, zoek de regel:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adres van mijn sensor 


We schrijven het adres van uw sensor tussen accolades en vervangen het adres van mijn sensor.

Dit horloge maakt geen gebruik van de RTC-module. Daarom, als ze haast hebben of achterlopen, moet u de waarde in de regel wijzigen:

if (micros () - prevmicros & gt; 494000) {// verandering naar een andere voor aanpassing was 500.000


Dit aantal moet empirisch worden bepaald. Als uw horloge haast heeft, moet u dit aantal verhogen; als ik achterloop, verlaag het dan.

Vul de schets in.


Mijn excuses, maar het is me niet gelukt om een ​​foto te maken met de diodes ingeschakeld. Ik heb het geprobeerd met en zonder verlichting. Maar ik verzeker je dat ze leven, ze zien er veel beter uit.




0
0
0

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten

We raden je aan om te lezen:

Geef het voor de smartphone ...