Innehållsförteckning:
- Steg 1: Varför arbetar jag med Magic Hercules -modulen?
- Steg 2: SPI till NZR -konvertering
- Steg 3: Magic Hercules -modul som digital LED Strip Tester
- Steg 4: Magic Hercules Module - Ny universell lösning för digitala lysdioder
- Steg 5: Magic Hercules -modul med Atmega32 och C
- Steg 6: Magic Hercules -modul med Arduino och Arduino C ++
- Steg 7: Magic Hercules -modul med PIC och C
- Steg 8: Magic Hercules -modul med Raspberry Pi och Python
- Steg 9: Magic Hercules -modul med ARM - STM32 Nucleo och C
- Steg 10:
Video: Magic Hercules - drivrutin för digitala lysdioder: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:35
Snabb överblick:
Magic Hercules-modulen är en omvandlare mellan det välkända och enkla SPI till NZR-protokollet. Modulingångarna har en tolerans på +3,3 V, så att du säkert kan ansluta alla mikrokontroller som arbetar med en spänning på +3,3 V.
Användningen av SPI-protokollet för att styra digitala lysdioder är ett innovativt tillvägagångssätt bland nuvarande lösningar, till exempel färdiga bibliotek för Arduino. Det gör det dock möjligt att byta till vilken plattform som helst oavsett mikrokontrollerfamiljen (t.ex. ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) och oavsett programmeringsspråk (t.ex. C, Arduino C ++, Python eller annat som stöder SPI -protokoll). Detta tillvägagångssätt för programmering av digitala lysdioder är extremt nybörjarvänligt eftersom allt du behöver är kunskap om SPI-protokollet.
MH -modulen tillåter också flera sätt att testa digitala LED -remsor, inklusive testning av färgordningen i dioden (RGB, BGR, RGBW, etc.), testning av hela remsorna eller skärmarna (upp till 1024 lysdioder).
Steg 1: Varför arbetar jag med Magic Hercules -modulen?
Jag har länge arbetat med digitala lysdioder som WS2812, WS2815 eller SK6812, som jag brukar kalla Magic LED.
Jag testade många remsor, ringar och skärmar (även min egen) baserad på Magic LED (även med RGBW -typ). Jag använde Arduino, Nucleo (med STM), Raspberry Pi och mina egna kort med AVR -mikrokontroller.
Oavsett plattform är det svårt att skriva ett program för att styra magiska lysdioder (på grund av behovet av NZR-protokollprogramvara), såvida du inte använder färdiga bibliotek som gör det enkelt, men fortfarande inte helt optimalt när det gäller kodanvändning, avbryt svar, eller minnesutnyttjande, och fungerar bara på specifika plattformar (att överföra dem till t.ex. från hallon till AVR -mikrokontroller är omöjligt).
På grund av att jag ofta använder olika plattformar hade jag behov av att programkoden var så kompatibel som möjligt med Arduino, Raspberry Pi, ARM / STM (Nucleo) eller AVR - särskilt när det gäller ljudeffekter.
Jag har arbetat på youtube -kanalen länge och jag har utarbetat mer än en guide för programmering av digitala dioder på C -språk för AVR -mikrokontroller (men hittills bara på polska för tillfället). Jag har ofta kontakt med nybörjare som kämpar med programmering av magiska lysdioder. Naturligtvis väljer vissa, beroende på plattformen, färdiga bibliotek för sina engångsprojekt. Men många letar efter andra lösningar eller försöker lära sig programmens hemligheter och jag är en av dem.
Steg 2: SPI till NZR -konvertering
Jag bestämde mig för att förbereda en modul som gör det smutsiga arbetet för användaren med hjälp av NZR -protokollet. Modulen som fungerar som SPI till NZR -omvandlare och precis som SPI kan enkelt användas på vilken plattform som helst. Skärmdumpen ovan visar konvertering av SPI -signaler till NZR -protokoll i Magic Hercules -modulen.
Steg 3: Magic Hercules -modul som digital LED Strip Tester
När du ansluter digitala lysdioder till olika system bör du komma ihåg lämplig spänningstolerans för olika mikrokontroller. De flesta I / O -stiften på ARM -mikrokontroller fungerar i +3.3 V -standarden, medan AVR -mikrokontroller fungerar i TTL -standarden. På grund av detta har ingångsstiften på Magic Hercules -modulen en tolerans på +3,3 V, så att de säkert kan anslutas till t.ex. en Raspberry P eller någon ARM -baserad mikrokontroller som drivs +3,3 V.
Som jag nämnde tidigare arbetar jag ofta med olika typer av digitala lysdioder. Beroende på tillverkare kan enskilda färger i lysdioderna ha olika positioner, t.ex. RGB, BGR, GRB, RGBW, GRBW, etc. Det är inte ovanligt att tillverkarens dokumentation nämner RGB -sekvensen, men det ser faktiskt annorlunda ut. Jag har utrustat Hercules -modulen med ett färgföljningstest så att det inte är några problem med att snabbt ta reda på hur man skriver ett program för rätt färgordning. Flera ytterligare funktioner hos testaren gör att du snabbt kan kontrollera om den digitala LED -remsan alls fungerar, om alla färger i varje LED tvärs över remsan (upp till 1024 lysdioder!) Fungerar korrekt (inga döda pixlar). Och allt detta utan att ansluta en mikrokontroller och skriva något program.
Steg 4: Magic Hercules Module - Ny universell lösning för digitala lysdioder
Jag tror inte att det fanns något sådant ännu, att styra digitala lysdioder med hjälp av ett enkelt och vanligt SPI -protokoll, som kan användas på alla plattformar eller familjer av mikrokontroller.
Naturligtvis finns det många sätt att styra digitala lysdioder, vissa är mer optimala och andra är mindre optimala. Magic Hercules -modulen är ett annat alternativ och mycket praktiskt för mig. Jag tror att någon kanske gillar den här ovanliga lösningen. Jag tog nyligen fart på crowdfunding -plattformen - kickstarter, där jag utarbetade en bredare beskrivning av Magic Hercules -modulen i flera videor, inklusive hur lätt det är att arbeta med det på Arduino, Nucleo (STM), Raspberry Pi och på AVR och PIC mikrokontroller. Om du vill stödja Magic Hercules -projektet, kolla in det här:
My Magic Hercules -modulprojekt på kickstarter
Jag förberedde ett program på C -språk - en enkel stargate -effekt, som är baserad på tabelloperationer och sekventiell sändning av bufferten i huvudslingan. Tack vare Magic Hercules -modulen kunde jag enkelt överföra källkoden till andra språk och plattformar - kolla nästa steg - källkoder.
Steg 5: Magic Hercules -modul med Atmega32 och C
Video som innehåller ett förenklat diagram, anslutningspresentation på ATB 1.05a (AVR Atmega32), källkod (i Eclipse C/C ++ IDE) och sluteffekten i form av en stargate ljuseffekt.
Länk till video på youtube
Steg 6: Magic Hercules -modul med Arduino och Arduino C ++
Video som innehåller ett förenklat diagram, anslutningspresentation på Arduino 2560 -kort, källkod i Arduino IDE och sluteffekten i form av en stargate -ljuseffekt.
Länk till video på youtube
Steg 7: Magic Hercules -modul med PIC och C
Video som innehåller ett förenklat diagram, anslutningspresentation på ATB 1.05a med PIC -skärm (PIC24FJ64GA004 ombord), källkod i MPLAB och sluteffekten i form av en stargate -ljuseffekt.
Länk till video på youtube
Steg 8: Magic Hercules -modul med Raspberry Pi och Python
Video som innehåller ett förenklat diagram, anslutningspresentation på Raspberry Pi 4, källkod i Python och sluteffekten i form av en stargate -ljuseffekt.
Länk till video på youtube
Steg 9: Magic Hercules -modul med ARM - STM32 Nucleo och C
Video som innehåller ett förenklat diagram, anslutningspresentation på STM32 Nucleo -kort, källkod i STM32CubeIDE och sluteffekten i form av en stargate -ljuseffekt.
Länk till video på youtube
Steg 10:
Jag tror att MH kan vara en extremt nybörjarvänlig modul, oavsett plattform och språk de använder. Det räcker att känna till det välkända SPI-protokollet, och möjligheten att börja kontrollera om den digitala LED-remsan överhuvudtaget fungerar och vilken färgföljd den har är bara ett plus.
Om du vill delta i mitt projekt på kickstarter - kolla den här länken:
My Magic Hercules -modulprojekt på kickstarter
Rekommenderad:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
Yaesu FT-100 PC Link Interface för digitala lägen: 3 steg
Yaesu FT-100 PC Link-gränssnitt för digitala lägen: Här presenterar jag riktlinjerna för att bygga ett PC-länkgränssnitt för Yaesu FT-100. Detta gränssnitt låter dig överföra och ta emot ljudsignaler från ett ljudkort för att kunna använda digitala HAM -lägen (FT8, PSK31 etc.). Ytterligare information finns tillgänglig
Digitala lekplatser - inklusive för synskadade barn: 13 steg (med bilder)
Digitala lekplatser - inklusive för synskadade barn: Denna instruktion börjar med ett tidigare projekt - att bygga en enda tryckkudde - och tar sedan detta vidare för att visa hur detta enkla tekniska projekt kan utökas för att göra en hel lekplats digital! Denna teknik finns redan i form av
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva