Inhoudsopgave:

Tweedraads (DMX) interface met scherm en knoppen - Ajarnpa
Tweedraads (DMX) interface met scherm en knoppen - Ajarnpa

Video: Tweedraads (DMX) interface met scherm en knoppen - Ajarnpa

Video: Tweedraads (DMX) interface met scherm en knoppen - Ajarnpa
Video: Landelijke Spindag Online: Tweedraads Gimp garen voor sokken 2024, November
Anonim
Tweedraads (DMX) interface met scherm en knoppen
Tweedraads (DMX) interface met scherm en knoppen

DMX is een protocol dat wordt gebruikt om podiumverlichtingsarmaturen en speciale effecten te bedienen. Elk apparaat heeft zijn eigen kanaal(en) waarop het reageert. Dit kanaal kan door de gebruiker worden geselecteerd met een DIP-schakelaar of een display met knoppen.

Er zijn meerdere manieren om een adres te selecteren, maar de meest gebruikte zijn met een DIP-schakelaar of met een display met knoppen. Bij gebruik van een DIP-schakelaar heb je 9 ingangspinnen nodig (8 voor het adres en één voor de modus).

Een optie die er wat beter uitziet en je meer opties geeft, is door gebruik te maken van een 7 segment display en wat knoppen. Deze methode gebruikt 12 pinnen voor het display, 4 voor de knoppen en misschien wilt u ook wat status-leds. Hierdoor heb je bijna geen pinnen meer over bij gebruik van een arduino Uno/mini of iets dergelijks.

Om dit probleem op te lossen ontwierp ik een module die een digitale interface gebruikt om een 4-cijferig 7-segments display, 4 knoppen en 3 status leds aan te sturen en slechts 2 digitale pinnen en 2 pinnen voor 5V en aarde gebruikt. Naast dat je pinnen bespaart, is deze module ook digitaal, dit betekent dat je kunt vertellen wat je moet weergeven en de module onthoudt. De module zorgt ook voor het dimmen van het display.

Uiteraard kan deze module voor alles gebruikt worden en is niet beperkt tot gebruik met een DMX armatuur!

Stap 1: Wat je nodig hebt

Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt

Het belangrijkste onderdeel van deze module is een TM1637, een module voor het aansturen van leds. Met een microcontroller zoals een Arduino kun je bytes sturen om te vertellen welke leds moeten worden ingeschakeld. Deze module kan de leds ook dimmen met een PWM signaal. Het is niet mogelijk om leds apart te dimmen. Alle componenten worden op een aangepaste PCB geplaatst, maar u kunt ook een breadboard of protoboard gebruiken.

Als je het product wilt maken zoals op de foto, heb je dit nodig:

1 x printplaat voor de interfacemodule

Als je deze link gebruikt krijg je je eerste 10 pcb's gratis en steun je mijn nieuwe projecten.

1 x 0,56 4-cijferig display (rood) gemeenschappelijke anode 12 pins

1 x TM1637 DIP

1 x pinheader recht of 90 graden (4 pins)

3 x 3mm led, rood, oranje en groen.

4 x tactiele drukknop 2 pins

naast de onderdelen heb je een aantal veelvoorkomende gereedschappen nodig voor het monteren:

  • soldeerbout
  • soldeer met flux
  • tang om de draden door te knippen

Stap 2: Verkrijg de PCB

Verkrijg de PCB
Verkrijg de PCB

De aegle-bestanden en gerber-bestanden zijn opgenomen in deze stap. Ik heb mijn PCB's hier besteld:

www.pcbway.com/setinvite.aspx?inviteid=993…

Met deze link kun je je eerste ontwerp voor 10 pcb's gratis proberen, je helpt mij ook want ik krijg een kleine korting als je deze link gebruikt om te bestellen.

De gerber-bestanden zijn gemaakt door PCBways en zijn redelijk goed gelukt. Ik heb 10 stuks besteld met een blauwe kleur en witte tekst.

In plaats van een printje te gebruiken kun je ook alle onderdelen op een protoboard solderen.

Stap 3: Montage

samenkomst
samenkomst

Het monteren van deze module is helemaal niet moeilijk als je wat soldeervaardigheden hebt. Breek eerst 4 pinnen van de pinheader-strip af als je dat nog niet hebt gedaan. Soldeer ze vervolgens op hun plaats, ik ben begonnen met de pinheaders omdat ze de neiging hebben om eruit te vallen als ze ondersteboven staan. Vervolgens heb ik de LED's gesoldeerd, de korte kabel (negatieve kant) is aan de rechterkant, die is gemarkeerd, nieuwe versie van de PCB zal een - teken hebben. Na de LED's heb ik de 4 tactiele knoppen gesoldeerd, dan de TM1637-chip. Pin 1 zit linksboven en is gemarkeerd met een punt. Het laatste onderdeel dat ik heb gesoldeerd is het display, de gaatjes zijn vrij strak dus het zal even duren.

Nadat alle onderdelen op hun plaats zijn gesoldeerd, heb ik alle kabels bijgesneden en gecontroleerd op fouten.

Stap 4: Testen en coderen

Testen en coderen
Testen en coderen

Nadat u klaar bent met monteren, is het tijd om de module te testen. Sluit de 5V aan op de microcontrollers 5V, GND op GND. De CLK- en DIO-pinnen kunnen in de software worden gedefinieerd, maar de standaardwaarden zijn pin 2 voor CLK en pin 3 voor DIO.

Download de code en upload deze naar je Arduino. Deze code werkt mogelijk ook op andere microcontrollers, maar is nog niet getest.

De Arduino-code is geconfigureerd om het scherm elke 200 ms bij te werken en de knoppen te lezen. Dit wordt gedaan zodat de CPU voor andere taken kan worden gebruikt. Het adres wijzigen doe je met de omhoog en omlaag knop, het adres wordt na 2 seconden automatisch opgeslagen. Het adres wordt in de EEPROM opgeslagen en in de setup geladen. Het adres wordt bewaard in de EEPROM, zelfs als de stroom is uitgeschakeld.

De status leds kunnen worden aangestuurd door een byte naar de module te sturen voor de 8 leds. Op de print zijn slechts 3 leds aangesloten maar de code laat er 8 toe. De code zal in de toekomst verbeterd worden om het aan- en uitzetten van leds gemakkelijker te maken.

De knoppen zijn aangesloten als een toetsenbordmatrix en er kunnen maximaal 16 knoppen worden gebruikt. multipress wordt momenteel niet ondersteund, maar dit kan in de toekomst worden toegevoegd, indien mogelijk.

Op dit moment werk ik aan een bibliotheek om het gebruik van deze interfacemodule nog gemakkelijker te maken, maar dit kan even duren.

Stap 5: Verbeteringen aan te brengen

Verbeteringen aan te brengen
Verbeteringen aan te brengen

Nadat ik de PCB had besteld en getest, vond ik enkele kleine verbeteringen, als je verbeteringen of bugs hebt, laat ze dan in de opmerkingen achter. Leg het alsjeblieft ook uit, want ik leer graag hoe ik mijn projecten kan verbeteren!

Op dit moment zijn dit de verbeteringen waar ik aan werk:

  • Een kleine condensator aan het bord toevoegen voor spanningsstabilisatie
  • Een teken voor de led-polariteit toevoegen
  • Grotere gaten gebruiken voor het display
  • Een bibliotheek voor de code schrijven om het gebruik ervan te vergemakkelijken
  • Code schrijven om leds gemakkelijker in en uit te schakelen

Ik heb deelgenomen aan de make it glow-wedstrijd met deze instructable, als je het leuk vindt, stem ik alsjeblieft op mij:)

Soms heb ik PCB's liggen, wil je een kale print dan verkoop ik ze voor €4,- per stuk. Ik heb er ook een paar die je voor €10 kunt kopen. verzendkosten zijn niet inbegrepen (wordt verzonden vanuit Nederland). Stuur me een berichtje als je er een wilt hebben, misschien heb ik er nog wel wat liggen!

Aanbevolen: