DMX input omdraaien...
3 berichten
• Pagina 1 van 1
DMX input omdraaien...
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
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
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: DMX input omdraaien...
Waarom inverteer je de waarde niet gewoon?
cpp code
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?
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?
Re: DMX input omdraaien...
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.
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
shooter@home.nl
3 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 21 gasten