4 ch DMX Dimmer (4 / 5 stap)

Stap 4: Software


Ik ben een softwareingenieur van de handel, zodat dit deel de meest gedetailleerde is.

Summery: wanneer de Arduino eerste laarzen de Setup-methode wordt aangeroepen. Daar instellen ik een paar van de variabelen en de uitvoer locaties tot later gebruikt worden. zeroCrossInterupt() heet / liep telkens de AC van positieve naar negatieve spanning doorkruist. Het zal de zeroCross vlag voor elk kanaal instellen en de timer te starten. De loop-methode heet voortdurend voor eeuwig. Om te schakelen op de uitvoer, moet de TRIAC alleen worden geactiveerd voor 10 microseconden. It's time to trigger hij TRIAC als zeroCross gebeurd zal de output aanzetten tot het einde van de AC-fase.

Er waren een paar voorbeelden online die ik gebruikte om dit project begonnen. Het belangrijkste ding dat ik niet kon vinden had meerdere TRIAC uitgangen. Anderen gebruikt de functie vertraging PWM de output, maar dat zou niet werken in mijn geval omdat de ATMEGA moet luisteren naar DMX de allertijden. Ik dit opgelost door de TRIAC op zoveel ms pulserende na nul-cross. Door de pulserende de TRIAC dichter om nul-cross de meer voor de zonde wordt Golf uitgevoerd.

Hier is wat de helft 120VAC zonde Golf lijkt op een oscilloscoop, hierboven.

De ISP814 is aangesloten als u wilt onderbreken 1. Dus wanneer het ontvangt signaal dat de AC van positief overgangen naar negatief of vise versa het wordt de zeroCross voor elk kanaal ingesteld op true en start van de stopwatch.

In de loop-methode controleert het elk kanaal als zeroCross waar is en de tijd voor het activeren is het voorbij zal de TRIAC pulse voor 10 microseconden. Dit is genoeg om de TRIAC inschakelen. Zodra een TRIAC is ingeschakeld op het tot zeroCross zal blijven. Het licht zou knipperen toen de DMX circa 3% dus ik toegevoegd de afknotten daar te voorkomen. Dit werd de Arduino te traag wordt veroorzaakt, en de pols zou soms leiden tot de volgende golf van de zonde in de plaats van de laatste 4% van de Golf.

Ook in de loop waarde ik de PWM van de status-LED's. Deze LED's kunnen de interne PWM gegenereerd door de Arduino omdat er geen zorgen over de zeroCross van AC te gebruiken. Zodra de PWM ligt zal de Arduino blijven bij die helderheid totdat andere wijze verteld.

Zoals opgemerkt in de bovenste commentaren teneinde een DMX-interrupt op pin 2 en uitgevoerd bij 20 MHz zul je sommige van de bestanden voor de Arduino-toepassing bewerken. In HardwareSerial.cpp die een stuk van de code moet worden verwijderd, dit stelt ons in staat om te schrijven van onze eigen interrupt-oproep. Deze methode van ISR is aan de onderkant van de code om de DMX-interrupt. Als u gaat een Arduino gebruiken als een ISP-programmeur, zorg ervoor dat u uw wijzigingen aan HardwareSerial.cpp ongedaan maken anders zullen de ATMEGA328 op het brood bord onbereikbaar. De tweede wijziging is een makkelijker een. Het bestand boards.txt moet worden gewijzigd om de nieuwe 20MHz kloksnelheid.

Brightness[CH]=map(DmxRxField[CH],0,265,8000,0);

Helderheid toegewezen aan 8000, want dat is de hoeveelheid microseconden voor 1/2 een sinusgolf AC bij 60hz. Dus bij volledige helderheid 256 DMX het programma 1/2 verlaten zal de AC sinusgolf ON voor 8000us. Ik kwam met 8000 via raden en controleren. Doen de wiskunde voor 1000000us / 60hz/2 = 8333 dus dat zou een beter getal, maar hebben de extra 333us over hoofd voorziet de TRIAC te openen en eventuele jitter in het programma is waarschijnlijk een goed idee.

Op Arduino 1.5.3 dat ze verhuisd van de locatie van het bestand HardwareSerial.cpp. Het is nu /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp moet u commentaar uit dit hele als blok beginnen met lijn 39: #if defined(USART_RX_vect)

Anders zal je eindigen met deze fout: core/core.a(HardwareSerial0.cpp.o): In functie '__vector_18':

Gerelateerde Artikelen

4 kanaals DMX-transceiver

4 kanaals DMX-transceiver

de DMX Module van het Platform van de IO is een 4-kanaals DMX-transceiver. In ontvangen modus Informaticacontrole kan maximaal vier kanalen van low-current-TTL (3,3 v, bijvoorbeeld voor servo's en kleine LEDs) of high-current (12v, bijvoorbeeld lampe
Raspberry Pi als een lichte DMX-controller

Raspberry Pi als een lichte DMX-controller

Maak je Raspberry Pi een lichte DMX-controllerDit instructable toont u hoe u een venster van de editor van het wiel van kleur op het scherm van een Raspberry Pi-computer, die u met de muis bewerken kunt. Als u de kleur op het scherm wijzigt, verander
Halloween vakantie van Kerstmis lichtshow RGB praten geconfronteerd met behulp van de "Vixen" 3

Halloween vakantie van Kerstmis lichtshow RGB praten geconfronteerd met behulp van de "Vixen" 3

Mijn doel was om een eenvoudige halloween show en ook een Christmas show voor minder dan $1000. Ik wilde proberen "Vixen" 3 die was nieuw vanaf juli, die gratis software met nieuwe lyrische integratie voor gemakkelijk gezicht programmering is. M
Reuze honingraat kroonluchter {stap voor stap versie}

Reuze honingraat kroonluchter {stap voor stap versie}

Dit instructable is onze inspanning om te winnen van de meest ontzagwekkende hoofdprijs voor de wedstrijd Shopbot. Ik ben deel van een zeer kleine groep van vrienden, kunstenaars en creatieve ingenieurs die voortdurend van dromen leuke ideeën voor pr
Reuze honingraat kroonluchter (nu met vereenvoudigde instructies!)

Reuze honingraat kroonluchter (nu met vereenvoudigde instructies!)

Zie Stapsgewijze versie van deze Instructable hier te klikken:Dit instructable is onze inspanning om te winnen van de meest ontzagwekkende hoofdprijs voor de wedstrijd Shopbot. Ik ben deel van een zeer kleine groep van vrienden, kunstenaars en creati
Geautomatiseerde verlichting met behulp van DMX en Perl

Geautomatiseerde verlichting met behulp van DMX en Perl

waarom automatiseren uw verlichting?Nou, om eerlijk te zijn, de meeste van mijn huis is geautomatiseerd zo leek het duidelijk om te doen.Er zijn tal van voordelen in het automatiseren van onderdelen van uw huis, verlichting in het bijzonder gewoon ma
Raspberry Pi DMX Controller en Pure Data: een bewegende vlam kunst installatie

Raspberry Pi DMX Controller en Pure Data: een bewegende vlam kunst installatie

Hebben wilde werken met een Raspberry Pi omdat ze kwam uit, was het erg spannend toen een vriend Jean Margret Thomas vroeg me om haar te helpen met een lichtsculptuur, dat ze wilde maken. Jean Margret is een lichtontwerper en haar ontwerp voor een Ra
Vintage Pipe Lamp met Touch Control Dimmer

Vintage Pipe Lamp met Touch Control Dimmer

Welkom bij een andere Instructable ik hoop dat u geniet ervan en verlenen op te uitproberen.Ik wilde kopen mezelf een bed lamp en gejaagd hoge en lage maar want ik zo ongelooflijk kieskeurig ben kon ik niet vinden een die ik hield, dus ik een zelf ma
Hoe installeer ik onder teller LED-strip verlichting met dimmer

Hoe installeer ik onder teller LED-strip verlichting met dimmer

Een veelgestelde vraag voor degenen die nieuw op LEDs zijn is "het installeren van LED strip verlichting onder tellers en kabinetten." Het proces is eenvoudig en heeft een zeer gelijkaardige reeks van stappen in beide gevallen. Zelfs als u geen
LED-Strip controle met Dimmer en Audio pulserende Circuits

LED-Strip controle met Dimmer en Audio pulserende Circuits

Dit is een werkelijk keurige circuit ik samen op basis van een andere Instructable voor pulserende LEDs aan muziek: Dit Instructable kreeg me denkend dat er een beetje een afval gewoon om dat LED-strip zittend op de foto-rail die kan alleen worden ge
LED Undercabinet / onder Bureau verlichting met Dimmer en Wireless Remote

LED Undercabinet / onder Bureau verlichting met Dimmer en Wireless Remote

In deze tutorial, we gebruiken de innovatieve 12V LED draadloze Dimmer- en Strobe controle van Oznium, evenals een paar van hun LED strips te goed licht op mijn onder kabinet / home onder Bureau gebied.Reden: Het is al vrij donker, woest, en eerlijk
De LEDPOD Dimmer

De LEDPOD Dimmer

Dit is de dimmer ik bouwde en gesoldeerd op een lege proto-type PCB voor mijn LEDPOD project (als u nog niet gezien, je waarschijnlijk niet zal begrijpen wat dit is voor).Het werkt op: 3 weerstand modi, uit en over.De schakeloptie die u in de tweede
DMX-512 RGB LED Wash Light Control Board

DMX-512 RGB LED Wash Light Control Board

Een volledige gekenmerkte stuurprogramma bestuur controle van rode, groene en blauwe LED's. Wanneer in paren gerangschikt met de juiste uitgang van bestuur, kan het controleren elke regeling voor LEDs. Gemeenschappelijke kathode, gemeenschappelijke A
LED verlichting voor huis met Dimmer: DIY

LED verlichting voor huis met Dimmer: DIY

Dit is een build log van LED-verlichting voor mijn modulaire keuken met een 12V auto LED verlichting-Strip en Dimmer circuit gedaan. U kon volgen hetzelfde logboek om idee vergelijkbaar om verlichtingsoplossingen te bouwen voor je huis te krijgen. Ge