Beiträge von NormBot

    Sorry das ich so direkt frage, aber gibts in der V2 Beschränkungen in der Größe nach unten ???
    ich hab immer noch vor ne 12 * 9 Matrix zu basteln, mit je 3 * 3 LEDs auf 4 * 3 Platten !!! also 2m * 1,50m
    soll an die Decke hoch !!!


    Problem in der V2 wenn ich zum Testen eines Line mit 9 RGB LEDs WS2801 anschließe und definiere die Matrix als 9 * 1 Single LEDs
    dann kommen im Knight Rider oder anderen Effekten alle 9 LEDs bei mir gleichzeitig wenn ich den gleichen AUfbau an der V1.1 teste geht es aber ???



    Gruß Normen


    PS der Fehler kann durchaus auch bei mir liegen nur die Frage ist dann wo :)

    Hallo Saw, was ich so rausgelesen habe aus den letzen 23 Seiten ist ein Output im moment noch nicht implementiert, in der Theorie wäre es aber möglich wenn du mit einem Terminal Programm die Daten wieder einfängst.
    Du brauchst dann allerdings ne kleine Platine mit passender Software die das dann so wieder ausgibt wie es der PC ausgeben würde !!
    ich denk mal wäre sicher realisierbar !!


    ... habe ich mir dann mit einem Makro ausgeholfen. Mit Autohotkey ist das relativ fix erstellt und tut seinen Dienst.

    Danke für den Tip, habs ausprobiert angepasst und geht :) muss es nun nur noch für die neue Version umsetzen :)



    [ModEdit: nutzlosen Fullquote entfernt + Doppelposts zusammengefasst ...]

    $regfile = "m16def.dat"
    $crystal = 15000000
    $baud = 115200


    $hwstack = 40
    $swstack = 40
    $framesize = 40


    'Timer0 konfigurieren
    '150000000 (Systemtakt) / 64 (Prescaler) = 234375 (Counts)
    Config Timer1 = Timer , Prescale = 64
    'Soft-SPI konfigurieren
    Config Spi = Soft , Din = Portd.3 , Dout = Portd.4 , Ss = None , Clock = Portd.5
    Spiinit


    'LED1 an PD.6
    Led1 Alias Portd.6
    Config Led1 = Output
    Led1 = 0


    'SCHALTER1 an PA0
    Schalter1 Alias Pina.0
    Config Schalter1 = Input
    Porta.0 = 1 'PullUp-Widerstand einschalten


    'SCHALTER2 an PA1
    Schalter2 Alias Pina.1
    Config Schalter2 = Input
    Porta.1 = 1 'PullUp-Widerstand einschalten


    'SCHALTER3 an PA2
    Schalter3 Alias Pina.2
    Config Schalter3 = Input
    Porta.2 = 1 'PullUp-Widerstand einschalten


    'SCHALTER4 an PA3
    Schalter4 Alias Pina.3
    Config Schalter4 = Input
    Porta.3 = 1 'PullUp-Widerstand einschalten


    'SCHALTER5 an PA4
    Schalter5 Alias Pina.4
    Config Schalter5 = Input
    Porta.4 = 1 'PullUp-Widerstand einschalten


    'SCHALTER6 an PA5
    Schalter6 Alias Pina.5
    Config Schalter6 = Input
    Porta.5 = 1 'PullUp-Widerstand einschalten


    'SCHALTER7 an PA6
    Schalter7 Alias Pina.6
    Config Schalter7 = Input
    Porta.6 = 1 'PullUp-Widerstand einschalten


    'SCHALTER8 an PA7
    Schalter8 Alias Pina.7
    Config Schalter8 = Input
    Porta.7 = 1 'PullUp-Widerstand einschalten
    'Dip Schalter für Pixelmengenangabe




    Dim Zaehler As Integer ' Zähler für Wertmenge zur Ausgabe von Startpunkt zu Startpunkt
    Dim Rgb(450) As Byte ' Werte für jede Farbe R-G-B * 150 LEDs
    Dim Startpunkt As Bit ' Startpunktdefinition wenn Wert 1 gefunden wurde wird Bit gesetzt
    Dim Zwischenwert As Byte ' Zwischenwert Variable die jeden durch URD übertragenen Wert annimmt
    Dim Zwischenzaehler As Byte 'Togglebit Setzen resetzen von 1 zu 1
    Dim Startausgabe As Byte
    Dim Takt As Bit
    Dim X As Byte
    Dim Test As Byte
    Dim Aktiv As Bit
    Dim Pixelmenge As Integer
    Dim Überlauf As Integer


    Aktiv = 0
    Startpunkt = 0
    Zwischenzaehler = 0
    Zaehler = 0
    Überlauf = 0





    'Interupts definieren und Einschalten
    On Urxc Onrxd 'Interupt für RS232 Schnittstelle
    Enable Urxc 'Einschalten Interupt RS232


    On Ovf1 On_ovf1
    Enable Ovf1 'Timer0 Overflow Interrupt 'Dieser Interrupt wird beim Überlauf (255 nach 0) ausgelöst
    '234375 (Counts) / 65535 (16-Bit Timer) = 3,576 (Interrupts die Sekunde)
    Enable Interrupts 'Einschalten Interupts gesamt


    Led1 = 1
    Gosub Pixelmengenrechner 'Ermitteln wieviele Lampen eingestellt sind
    Gosub Starten 'Einsprung zum löschen aller Werte der Lampen beim Einschalten


    Do






    If Takt = 1 Then
    If Zwischenwert = 1 Then Startpunkt = 1


    If Startpunkt = 1 And Zwischenwert <> 1 Then
    Incr Zaehler
    Rgb(zaehler) = Zwischenwert
    If Zaehler = Pixelmenge Then Gosub Ausgabe
    End If


    Takt = 0
    End If



    Loop
    End



    Onrxd: 'RS 232 Empfang verarbeiten
    Zwischenwert = Udr
    Takt = 1
    Überlauf = 1


    Return




    Ausgabe:
    If Zaehler <= 255 Then
    Spiout Rgb(1) , Zaehler
    Startpunkt = 0
    Zaehler = 0
    Else
    Spiout Rgb(1) , 255
    Spiout Rgb(256) , Zaehler
    Startpunkt = 0
    Zaehler = 0
    End If
    Return


    Starten: ' Unterprogramm um alle LEDs beim Start von 155 nach 0 zu löschen
    For X = 155 To 0 Step -1 ' hierbei wird ermittelt ob die Einzelnen LEDs Farbtechnisch OK sind
    Waitms 4
    For Zaehler = 1 To Pixelmenge
    Rgb(zaehler) = X
    Next Zaehler


    If Pixelmenge =< 255 Then
    Spiout Rgb(1) , Pixelmenge
    Else
    Spiout Rgb(1) , 255
    Spiout Rgb(256) , Pixelmenge
    End If
    Next X
    Startpunkt = 0
    Zwischenzaehler = 0
    Zaehler = 0


    Return



    'Anhand der Dip Schalter einstellen wieviele Pixel am Bus hängen
    Pixelmengenrechner:
    Pixelmenge = 255


    If Schalter1 = 0 Then Pixelmenge = Pixelmenge -1
    If Schalter2 = 0 Then Pixelmenge = Pixelmenge -2
    If Schalter3 = 0 Then Pixelmenge = Pixelmenge -4
    If Schalter4 = 0 Then Pixelmenge = Pixelmenge -8
    If Schalter5 = 0 Then Pixelmenge = Pixelmenge -16
    If Schalter6 = 0 Then Pixelmenge = Pixelmenge -32
    If Schalter7 = 0 Then Pixelmenge = Pixelmenge -64
    If Schalter8 = 0 Then Pixelmenge = Pixelmenge -128


    Pixelmenge = Pixelmenge * 3


    'Print "Ausgabe Kanäle R-G-B :" ; Pixelmenge
    Waitms 20


    Return




    'Timer0 Overflow Interrupt
    On_ovf1:
    Incr Überlauf
    If Überlauf => 8 Then Goto Starten


    Print Überlauf


    Return

    Hallo zusammen, ich lese ja nun schon ne weile mit, und habe vor mir ne kleine Matrix von 12 Modulen zu je 9 Pixeln zu bauen, (1 Modul ist schon fertig) jedes Modul hat sozusagen 50 * 50 cm insgesamt sollen an die Decke 1,5 * 2 m also insgesamt 108 Pixels, mein Problem ist nun das ich in die Decke eine alte S100 Box (früher mal T-Online Vision Box) mit Integrieren will, diese beinhaltet einen passiven 700 MHz Prozessor ... kurz gesagt einen kleinen PC ...
    steuern möchte ich das ganze dann über die Netzwerksteuerung bzw. in absehbarer Zeit über Android (wenns mal soweit kommt)
    in verschiedenen Beiträgen war nun schon rauszulesen das die Com SChnittstelle sowie die Paramameter sowie der ONLINE Klick nicht mit in den Scenen gespeiert werden.


    Mein Anliegen und Vorschlag wäre nun ob es möglich wäre (so das der PC nur dann laufen muss wenn ich die Decke im Betrieb haben will),
    Glediator mit einem Parameter oder mehreren Parametern zu starten so das beim starten bereits in der Verknüpfung zu Glediator hinterlegt wird Com ComSpeed und Online ?????


    Danke für schnelle Antworten und freu mich auf weitere Erweiterungen in der Soft :)


    PS sollte jemand Quellcode für Bascom brauchen für WS2801 ich hab mir da selbst mal was geschrieben, da ich in Arduino nicht wirklich FIT bin !!


    Gruß Normen :thumbup:

    OK, dann hat es jetzt klick gemacht, ich war noch Gedanklich damit beschäftigt das die WS Bausteine über SPI in Bascom angesteuert werden( hab mir da paar Beispiele angesehen) natürlich nicht so weit gedacht, bzw. zu Kompliziert über 7 Ecken eben :) danke für die Info:)
    hab mich halt zusätzlich noch weng von den RJ45 Buchsen Irritieren lassen :)


    Danke für die Antwort und weiter so :)

    für die ganz doofen ?(
    wie muss ich den in die RJ45 Buchse nun rein welcher Pin muss wo am Max 232 drauf ?? weil ich in der Steckerbelegung nirgends den Clk oder ss gefunden habe, gut das SS wegfällt bei nur einem Angesprochenen Chip leuchtet mir noch ein aber da ich mit SPI noch nicht wirklich gearbeitet habe, wäre das sozusagen ein erstversuch !!