Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
De M5450B7 is een 40-pins DIP LED-displaydriver-IC.
Het ziet er nogal een beest uit, maar het is relatief eenvoudig te besturen en te programmeren.
Er zijn 34 uitgangspinnen waarop een LED kan worden aangesloten.
Het apparaat zinkt de stroom in plaats van deze te leveren, dus de kathode van de LED moet worden aangesloten op een pin en 5V moet aan de anode worden geleverd. Het apparaat zorgt ook voor de stroom die aan de LED's wordt geleverd.
Het apparaat wordt meestal gebruikt om 4- of 5-cijferige alfanumerieke LED-displays te bedienen, maar er zijn veel andere dingen die u ermee kunt doen.
Hier is een eenvoudig voorbeeld van wat het apparaat kan doen.
Stap 1: Het apparaat aansluiten
De M5450 kan op een breadboard worden geplaatst of je kunt iets maken dat lijkt op wat ik hieronder heb gedaan.
- Sluit pin 1 Vss en pin 23 Data Enable aan op Gnd,
- Sluit pin 20 aan op 5V,
- Sluit pin 19 aan op 5V via een weerstand (ik gebruikte 200 Ohm)
- Er moet een 1nF-condensator worden aangesloten op de helderheidsregeling, pinnen 19 & 20, om mogelijke oscillaties te voorkomen.
- Sluit CLOCK IN aan op D1 van ESP8266
- Sluit DATA IN aan op D2 van ESP8266
Ik heb een WeMos gebruikt om mijn bord aan te sturen omdat het een 5V-voeding heeft, het apparaat werkt ook op 3,3V, hoewel de LED's niet zo helder zijn. Elke ESP8266 zou het M5450-apparaat moeten kunnen aansturen.
Ik heb ook de USB-voeding van de pc gebruikt om het apparaat aan te sturen zonder extra voeding.
U kunt elk van de ESP8266-pinnen gebruiken om het apparaat aan te sluiten, als u het meegeleverde programma dienovereenkomstig wijzigt.
Stap 2: Mijn bord
Het bord is vrij eenvoudig te bouwen, maar er is veel soldeerwerk!
Door de rechthoekige LED's te gebruiken, kunt u ze dicht bij elkaar groeperen.
Stap 3: Software
Het apparaat is vrij eenvoudig te programmeren omdat het maar 2 ingangen heeft - CLOCK IN & DATA IN.
Er hoeven geen bibliotheken te worden gedownload of geïnstalleerd om het apparaat te laten werken.
Stel D1 & D2 in op uitgangen op de ESP8266.
Je neemt D1 de klokpen HOOG, zet de data (HOOG of LAAG) op pin D2 en neemt de klokpen weer LAAG. Doe dit 36 keer en het apparaat is geprogrammeerd. Je hebt geen timervertraging nodig tussen de 2 klokovergangen, het apparaat kan de ESP8266 bijbenen.
voor i = 0, 35 do
gpio.write(clock, gpio. HIGH) gpio.write(data, buffer) gpio.write(clock, gpio. LOW) einde
buffer[35] moet worden ingesteld op 1 of HOOG om het apparaat te laten werken.
Het apparaat wordt vergrendeld wanneer het het juiste aantal databits krijgt en stuurt de informatie naar de uitgangen
Het schema (hierboven) laat zien hoe het apparaat moet worden geprogrammeerd. Ik ben niet briljant met datasheets, maar mijn interpretatie ervan werkt wel.
Stap 4: LUA-programma
Ik heb het programma met functies geschreven.
random() - Schakelt willekeurige LEDschaser() in en uit - 3 LED's lichten chaserallOnOff() - Schakelt alle LED's in en vervolgens uitFill() - Laadt een vooraf gedefinieerd patroon van LED's in het IC
De 4 meegeleverde voorbeelden spreken voor zich.
Stap 5: Conclusie
Ik heb geprobeerd te laten zien hoe gemakkelijk het is om apparaten op de ESP8266 aan te sluiten.
Ik gebruikte mijn bord oorspronkelijk met een Arduino en vroeg me af of ik het zou kunnen besturen met een ESP8266.
Je hoeft niet zoveel LED's aan te sluiten als ik, maar je programma moet nog steeds de 36 gegevenselementen naar het apparaat sturen.