INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
DMX Empfänger
27.08.2015, 21:24
Beitrag #9
RE: DMX Empfänger
Ich habe ein Bisschen weiter gebaut und gebe euch Werte aus dem Oszi.

Folgendes Programm:

Code:
#include <DMXSerial.h>
#include <SPI.h>

byte i;
byte Send[3];
byte bitCounter = 0;

void setup () {
  SPI.begin();
  DMXSerial.init(DMXReceiver);
  pinMode(A5, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(12, OUTPUT);
}


void loop() {
  if(DMXSerial.read(1) > 127)  
  {
    digitalWrite(8,HIGH);
    digitalWrite(A5,HIGH);
  }
    else
  {
    digitalWrite(8,LOW);
    digitalWrite(A5,LOW);
  }
  bitCounter=0;
  for(i = 2; i<10;i++)
  {
    if(DMXSerial.read(i) > 127)  
    {
    bitSet(Send[0], bitCounter);
    digitalWrite(A5,HIGH);
    }
    else
    {
    bitClear(Send[0], bitCounter);
    digitalWrite(A5,LOW);
    }
    bitCounter++;
  }
  bitCounter=0;
  for(i = 10; i<18;i++)
  {
    if(DMXSerial.read(i) > 127)  
    {
    bitSet(Send[1], bitCounter);
    digitalWrite(A5,HIGH);
    }
    else
    {
    bitClear(Send[1], bitCounter);
    digitalWrite(A5,LOW);
    }
    bitCounter++;
  }
  bitCounter=0;
  for(i = 18; i<26;i++)
  {
    if(DMXSerial.read(i) > 127)  
    {
    bitSet(Send[2], bitCounter);
    digitalWrite(A5,HIGH);
    }
    else
    {
    bitClear(Send[2], bitCounter);
    digitalWrite(A5,LOW);
    }
    bitCounter++;
  }

  SPI.transfer(Send[2]);
  SPI.transfer(Send[1]);
  SPI.transfer(Send[0]);
  digitalWrite(12,HIGH);
  delay(1);
  digitalWrite(12,LOW);
  delay(1);  
}

Der Sender sendet verschiedene Werte mit verschiedenen Zahlen etc diese Werden im Programm geprüft und in ein AN oder AUS umgewandelt. Der Port A5 dient dabei zum kontrollieren.

Wenn ihr euch die Datei A5 Gemisch anschaut, dass ist was auf meinem DMX Bus liegt. Die Ausgabe ist vollkommen korrekt.
Um es in Zahlen zu fassen: 0,1,1,0,0,0,0,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0

Wenn man dies mit dem Bild vergleicht, so ist es richtig veränder ich etwas am Sender wird dies an A5 auch sofort aktualisiert.


.bmp  a5_gemisch.bmp (Größe: 146,3 KB / Downloads: 43)

Nun soll mein SPI 3 Pakete formen Kanal 2-9, Kanal 10-17, Kanal 18-25.
Der erste Kanal geht auf Pin 8.

Die Ausgabe der Schieberegister Stimmt mit der oben geschriebenen Bitfolge.

ABER Änder ich nun im Sender ein Wert, so passt sich A5 den neuen Daten an doch die Register behalten ihren vorherigen Wert. Auch der SPI nimmt die Aktualisierung nicht wahr.
Im Anhang noch ein Graph vom SPI


.bmp  spi.bmp (Größe: 146,3 KB / Downloads: 35)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2015, 22:09
Beitrag #10
RE: DMX Empfänger
(DMXSerial.read(i)

Lies doch mal alle Kanäle in ein Array ein, danach die Auswertung!

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2015, 23:32
Beitrag #11
RE: DMX Empfänger
Das ganze geht jetzt in die Quantenphysik hahaha.

Ich habe dein Vorschlag versucht und zuerst alle Kanäle eingelesen ohne positive Wirkung außer das es zeit und Speicher kostet.

Nein es ist sehr interessant, ich Ändere die DMX Daten, der SPI macht ein update und sendet diese an die Register. Diese ändern aber ihre Pins nicht. Sobals ich eine Messung an einem eingangspin eines Registers mache z.B. der Speichertakt, und dann den Ausgang messe, ist alles wie gewollt.
Also ich würde die Schaltung nun als funktionierend abstempeln, fertig bauen dann kann ich auch besser die Ausgänge einsehen. Und wenn dann noch fehler sind was wahrscheinlich ist bin ich wieder hier.
Aber Hardware technisch müsste alles funktionieren sodass ich weiter bauen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.08.2015, 10:48 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2015 10:49 von fraju.)
Beitrag #12
RE: DMX Empfänger
Da ich mich seit > 15 Jahren wieder mal mit DMX beschäftige (damals AVR/Asm) interessiert mich dein Ergebnis des Empfangs.
Der Arduino DMX Sender geht für meine Zwecke(Max 24 Kanäle)
Verbraucht keine Lebenszeit wie damals Asm.
Will auch ein Arduino DMX Empfänger aufbauen(Dimmer/Switch)
Vielleicht auch für Modellbahn Beleuchtungen/FunktionenBig Grin

Kann aber z.Z. nicht.

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 19:51
Beitrag #13
RE: DMX Empfänger
Also ich grabe mein Thema hiermit aus bin weiter gekommen.

Erst wenn ich mitm Oszilloskop den Takteingang der Schieberegister messe, so werden die Ausgänge aktualisiert.
Dies ist seltsam, es bedeutet für mich ich brauch einen Pulldown an dem Takteingang was damit funktionieren könnte doch seit wann braucht ein CMOS Ausgang ein Pulldown.

Korrigiert mich wenn ich falsch liege aber Tatsache ist, erst eine Messung der Eingangsseite aktualisiert den Ausgang trotz des Taktes am Storage pin.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  DCF77 Empfänger paq 19 904 23.07.2016 17:16
Letzter Beitrag: rkuehle
  Empfänger RF 433 peterfried 6 365 10.06.2016 23:01
Letzter Beitrag: hotsystems
  AKtuelle Uhrzeit bekommen, RTC oder DFC-Empfänger Cray-1 34 15.507 11.02.2016 23:49
Letzter Beitrag: hotsystems
  Hilfe bei RC-Empfänger Signale auswerten und verarbeiten Pat12-6 7 1.675 19.03.2015 20:17
Letzter Beitrag: Eichner
Wink Bitte helft mir: RC Empfänger auslesen und an Motortreiber weitergeben. christian@schiltkamp.info 7 3.904 15.03.2015 17:54
Letzter Beitrag: Pat12-6
  RC-Empfänger auslesen und Motoren steuern Pat12-6 0 970 14.03.2015 10:29
Letzter Beitrag: Pat12-6
  Auto Level Quadrocopter (Modellbau Empfänger) Neumi 12 1.694 20.01.2015 13:47
Letzter Beitrag: Eichner
  IR SENDER & EMPFÄNGER Marc2014 13 3.449 02.10.2014 11:36
Letzter Beitrag: Marc2014
  RC-Empfänger-Signal auswerten DerFranke 6 3.426 18.09.2014 21:06
Letzter Beitrag: scritch
  IR Sende / Empfänger Klasse - wo hier deponieren? Hobel 0 1.649 15.09.2013 13:00
Letzter Beitrag: Hobel

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste