DMX input omdraaien...

Hardware die niet past in bovenstaande onderwerpen
Berichten: 1
Geregistreerd: 22 Mei 2016, 21:55

DMX input omdraaien...

Berichtdoor Reddot » 19 Jun 2016, 08:24

ik heb een stukje code geschreven om waardes dat ik uit dmx haal om te zetten aan een analoge uitgang. Nu werkt dit op zig zeer goed. Maar door het niet liggen hebben van een juiste mosfet zou ik moeten maken dat de waardes dat ik binnen krijg van DMXSerial.read omgedraaid worden. Ik probeer dit met map. Zie code hier onder. Maar dit wil voor een of andere reden niet werken. Iemand tip?



cpp code
#include <DMXSerial.h>

const int StartChannel = 1;


const int Relay2 = 9;


void setup () {
DMXSerial.init(DMXReceiver); // Second argument: specify mode control port (default: pin 2)

// set some default values
DMXSerial.write(1, 0);
DMXSerial.write(2, 0);
DMXSerial.write(3, 0);
DMXSerial.write(4, 0);
DMXSerial.write(5, 0);
DMXSerial.write(6, 0);

// enable pwm outputs

pinMode(Relay2, OUTPUT);


// Disable DMX Send
pinMode(5, OUTPUT);
digitalWrite(5,0);
}

void loop() {
int dmxread = DMXSerial.read(StartChannel + 1);
map (dmxread, 0, 255 , 255, 0);
analogWrite(Relay2, dmxread );
}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: DMX input omdraaien...

Berichtdoor nicoverduin » 19 Jun 2016, 08:48

Waarom inverteer je de waarde niet gewoon?
cpp code
void loop() {
uint8_t dmxread = ~DMXSerial.read(StartChannel + 1);
analogWrite(Relay2, dmxread );
}

Overigens gaat dit wel heel snel. Daarnaast ga je er vanuit dat er altijd iets op de dmxSerial binnenkomt. Is dat wel zo?
Verder is de naamgeving van je poorten wel heel verwarrend. Analoog (=pwm) schrijven naar een relais?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: DMX input omdraaien...

Berichtdoor shooter » 19 Jun 2016, 22:37

juister is dmxout=map(dmxread,0,255,255,0);
je snapt hem al je schrijft de waarde niet in een variabele.
en gebruik aub altijd een andere variabele, want dan kun je de waarde tenminste zien als je aan het debuggen bent, nu gebruik je hem voor beide en het gaat zo snel dat jij dat niet kunt zien.
paul deelen
shooter@home.nl

Terug naar Overige hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten