God eftermiddag, jag vill dela en annan homebrew kvist. Den här gången bestämde jag mig för att skriva instruktioner för tillverkning av Led-matris. Storleken är små 10x10 dioder. Men enligt denna instruktion är det möjligt att göra matriser och stora storlekar. För skönhet ökad bakgrundsbelysning. Basen togs av WS2812 adresserbara lysdioder monterade på ett band med 60 dioder per meter. Vi kommer att hantera dem igenom Arduino Pro Mini. Det finns många alternativ för att använda matrisen. Till exempel lägger jag till en temperatursensor och skrev klocka firmware utan RTC.
Vi kommer att behöva:
- WS2812-band med 120 lysdioder, 60 stycken per meter
-
- Strömförsörjning för 5V 1A
- ds18b20 temperatursensor
- Motstånd 4.7 Kom 0,25 W
- spånskiva 10 mm tjock
- Matt eller "mjölk" plast
- Tjock kartong
- elektrisk tejp
- anslutande ledningar
- kretskort
- Knappar
- Självtagande skruvar 19 mm
- lödkolv
- Löd, kolofonium
- Dubbelsidig tejp
- USB-TTL
- Borr eller skruvmejsel
- Elektrisk fretsåg
- Borr för trä
Steg 1 Beredning av dioder
Vi tar en tät kartong och "fodrade" den, det vill säga vi drar horisontella linjer med ett avstånd mellan dem på 16 mm. Vi räknar 100 dioder från vårt band. Dessa 100 dioder läge i segment om 10 dioder. De återstående 20 skärs en diod. Detta måste göras försiktigt och strikt längs snittlinjerna. Låt mig förklara: 10 segment av 10 dioder totalt 100 behövs för matrisen, de återstående 20 är bakgrundsbelysta. Avsnitt av 10 dioder limmas på kartongen längs linjerna. Var uppmärksam på riktningen för styrsignalen för dioderna! Styrsignalen ska matas i rätt riktning, för detta ändamål visas pilen i bandriktningen. Limma den första remsan från vänster till höger, det vill säga IN (ingång) på tejpen ska vara till vänster och UT (till höger). Således bör IN (ingången) på den första remsan vara i det övre vänstra hörnet! Limma nästa remsa tvärtom, från höger - till vänster. Den tredje igen från vänster till höger. Så vidare. När vi följer styrsignalens riktning bör vi få en sicksacklinje med början från det övre vänstra hörnet. Det viktigaste är att inte förvirra någonting.
Mellan den första och andra remsan, närmare början, gör ett hål för trådarna. Löd trådarna till den första remsan, helst flerfärgad, för att inte blandas. Vi passerar dem genom det gjorda hålet. Därefter löd våra ränder med korta ledningar. + 5 från det första hålrummet till +5 det andra. GND till GND. Från UTEN av den första remsan till IN på den andra remsan, från UTEN på den andra remsan till IN av den tredje, och så vidare. Resultatet bör vara följande:
Steg 2 Att göra saken.
Fallet består av tre delar. Först måste du klippa ramen från 10 mm tjock spånskiva. Det är bäst att klippa med en pussel, men i frånvaro kan det tas manuellt. Den yttre fyrkantens sida är 190 mm.Intern - 170 mm. För skönhet är det bättre att runda hörnen. Således bör en ram med en storlek på 190 x 190 mm och en väggtjocklek på 10 mm erhållas. Efter skärning rengör vi med fint sandpapper.
Vi fortsätter till tillverkningen av den andra delen. Vi fäster vår ram på spånskivan och drar en penna runt ytterkanten. Vi tar bort ramen. Vi drar tillbaka 30 mm på vardera sidan in på torget och drar en inre kvadrat. Du bör få en annan ram som mäter 190 x 190, men med en sidotjocklek på 30 mm. På ett avstånd av 5 mm från ytterramen på denna ram och på lika avstånd från varandra gör vi hål med en diameter på 3 mm. 2 hål på varje sida. De behövs för skruvar. Du måste också bestämma var toppen ska vara, och i det övre vänstra hörnet av den inre fyrkanten, skapa en plats för trådarna.
På baksidan av den andra ramen, längs innersidan, är det nödvändigt att skruva segment från samma spånskiva 10 mm tjocka. Resultatet ska se ut så här:
Gå till församlingen. Vi lägger den andra ramen på bordet. Överst, dioder upp, lägg en kartong med dioder. Och vi täcker allt med den första ramen. Placera kartongen mellan ramarna så att dioderna löper parallellt med sidorna på ramen och på lika avstånd från kanterna. Vi vänder det hela, mycket försiktigt för att inte slå ner dioderna och vrida det hela ihop. Efter det skar vi bort överskottet kartong.
Gå till bakgrundsbelysningen. På sidan av dioderna, mellan den näst sista och sista remsan, närmare den vänstra kanten, måste du borra ett hål för trådarna. Löd trådarna till slutet av den sista remsan och tråd dessa trådar genom hålet. De återstående och klippta en åt gången 20 dioder måste limmas på baksidan, på lika avstånd från varandra. 5 stycken på varje sida. Riktningen för styrsignalen är timmen som börjar från det nedre högra hörnet. Vi löd dem såväl som matrisen. Deriverade trådar från matrisens ände lödas till den första dioden. + 5 från den första dioden till +5 på den andra. GND till GND. Från UT på den första dioden till IN i den andra, från UT av den andra till IN på den tredje, och så vidare.
Vi placerar vår Arduino Pro Mini i den bakre ramen, bakom matrisen. För ström använder du en stabiliserad 5 volt strömförsörjning. Med en strömstyrka på minst 1 Ampere. Dioderna är ganska gluggiga och om du planerar att slå på dem på en gång och under lång tid krävs strömförsörjningen kraftigare, jag rekommenderar 1,5 - 2 ampère. Vi ansluter allt detta från +5 strömförsörjning till +5 Arduino och +5 WS2812. -5 strömförsörjning med GND Arduino och GND WS2812. Styrledningen från IN WS2812 är ansluten till “stift 6” Arduino.
Dioderna är väldigt ljusa och de ser inte så mycket estetiskt ut. Därför är det nödvändigt att tillverka och installera en diffusor. Mattplast passar bäst för detta, eller som det kallas "mjölk". Det är nödvändigt att fästa matrisen på plasten och cirkeln med en penna. Klipp sedan fast och fäst till dubbelsidig tejp på framramen. Det är inte alltid möjligt att hitta sådan plast snabbt, men jag vill verkligen starta produkten. I det här fallet kan du använda vitt papp eller landskapspapper istället för plast.
Med samma princip är det möjligt att skapa en matris med stora storlekar. Det är bara nödvändigt att berätta om målets mål.
Steg 3 Anslut temperatursensorn.
Det är bara att den här klockan inte är intressant, så lägg till en temperatursensor i den. För att mäta temperaturen kommer vi att använda den integrerade sensorn DS18B20. Den har en hög mätnoggrannhet, felet är inte mer än 0,5 ° C. Redan från fabriken är sensorn kalibrerad och inga ytterligare inställningar krävs. Brett temperaturmätningsområde -55 ... + 125 ° C Det kan användas i alla rum. Om du är på gatan måste du ta hand om skydd mot fukt. Det finns två driftsätt: med en extern kraftkälla och "falsk ström". Jag rekommenderar att du använder extern ström.
Flera sensorer kan inkluderas på en kommunikationslinje. Men för oss räcker det. +5 tar vi från strömförsörjningen. GND till -5. Tråd från stift “DQ” ds18b20 till “stift 9” Arduino.Kom ihåg att sätta ett dragmotstånd mellan “DQ” och +5 vid 4,7 kOhm. Enligt min mening är det mest bekvämt att göra detta på själva sensorn. Vi visar det i det övre högra hörnet:
Steg 4 Förbereda ett bräde med knappar.
I det här fallet använder vi matrisen som en klocka. Tiden kan ställas in med hjälp av den seriella porten genom att ansluta Arduino till datorn. Detta är inte alltid bekvämt. Därför tillverkar vi ett kort med tre knappar för att ställa in tiden. Utöver detta kan matrisen användas för andra ändamål, bara skriva en skiss. Sedan kan knapparna användas för andra ändamål.
Vi ansluter dem enligt följande: anslut den gemensamma kabeln till alla tre knapparna till "GND" Arduino. Den första knappen, den tjänar till att gå in i tidsinställningsläget och växla över tid och datum, anslut till "Pin 2". Den andra, knappen för att öka värdet, är att "Pin 3", och den tredje, knappen för att minska värdet, är "Pin 4". Vi fäster knapparna på det dubbelsidiga bandet bakom matrisen:
Steg 5 Firmware.
Som sagt kan matrisen användas för olika ändamål. Jag har för närvarande skrivit en skiss för klockor. I den efterföljande lay out och andra skisser. För att skriva och fylla använder jag Arduino IDE 1.8.5. Du kan kontrollera matrisen på flera sätt. Styr varje diod individuellt eller som en enda matris. I min skiss använder jag det första alternativet. För att göra detta behöver du ett bibliotek från Adafruit som heter NeoPixel-master:
För att arbeta med dioder som med matrismatrisen Adafruit_NeoMatrix-master och Adafruit-GFX-Library-master:
En temperatursensor behöver OneWire-biblioteket.
För att redigera och fylla skissen måste du först installera Arduino IDE från den officiella webbplatsen för Arduino.cc och sedan alla dessa bibliotek. Det är nödvändigt att packa upp dessa arkiv och placera de packade filerna i mappen ”bibliotek” som finns i mappen med Arduino IDE installerat. Det är också möjligt att installera bibliotek direkt i Arduino IDE. Utan att packa upp de nedladdade arkiven, välj menyn Sketch - Connect Library på Arduino IDE. Överst på rullgardinslistan väljer du "Lägg till. Zip-bibliotek". Välj det bibliotek som du vill lägga till i dialogrutan som visas. Efter alla manipulationer måste du starta om Arduino IDE.
Temperaturgivaren har en unik adress för varje enhet - en 64-bitars kod. Att hitta den här koden är en krävande uppgift. Därför måste du först ansluta sensorn till Arduino, fylla i skissen som finns i filen - Exempel - Dallas temperatur - OneWireSearch-menyn. Kör sedan Tools - Port Monitor. Arduino ska hitta din sensor och skriva sin adress. Vi kopierar eller skriver helt enkelt ner adressen till din sensor. Öppna skissen Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term, leta efter raden:
byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adress för min sensor
Vi skriver ner din sensors adress mellan hängslen och ersätter adressen till min sensor.
Denna klocka använder inte RTC-modulen. Därför, om de har bråttom eller bakom, bör du ändra värdet i raden:
om (mikros () - prevmicros & gt; 494000) {// ändring till en annan för justering var 500 000
Det är nödvändigt att bestämma detta antal empiriskt. Om din klocka har bråttom bör du öka antalet; om jag är bakom, minska den.
Fyll skissen.
Jag ber om ursäkt, men jag lyckades inte ta ett foto med dioderna på. Jag försökte med och utan lampor. Men jag försäkrar att du lever att de ser mycket bättre ut.