Arduino Projekte

  • Muss one[8] nicht statisch sein?


    /edit, habs mal in einem Online C-Compiler versucht, hatte da aber keine Wahl wie zu kompilieren:
    Es gab z.B. kein Byte-Typ, im for durfte man keine Variable initialisieren, Casting war auch nur explizit möglich, und im switch-Statement durfte auch keine Variable initialisiert werden... Aber der Output ist so korrekt.

    TOWER i7 3930K | 7970 3GB | 32GB | GA-X79A-UD5 | 250GB Vertex 3 | Lian-Li V1200B-Plus | Eizo 24" | cooled w/ H2O
    FILER A6 5400K | 8GB | 120GB EVO Basic | RAID5 w/ 22TB usable | Lian Li PC-Q25
    NBOOK Lenovo ThinkPad W530 | i7-3720QM | Quadro K2000M | 24GB | 500GB OCZ Vector 180 | 15" WUXGA
    CINE Yamaha A-S1000+CD-S1000 | Marantz SR-6003 | Focal Chorus 725+706V, Cobalt SR 800 | Nubert nuLine CS-72+AW-560 | Panasonic TX-P65ST50J
    photosmusicinsta

    Einmal editiert, zuletzt von stim0r0l ()

  • Wenn one[8] static ist wird sie im ROM abgelegt, ansonsten wird sie bei jedem Aufruf aus dem ROM neu in den RAM geladen.


    Edit: wird auch mit static ins RAM geladen, aber nur 1 mal und bleibt dann, über alle Aufrufe der Funktion, auch wenn man die Variable ändern würde, erhalten. im ROM abgelegt werden sollte sie wenn man das const Keyword benutzt. Der Arduino-Compiler ignoriert das keyword aber mehr oder weniger

  • Danke für die Hilfe, Leute.


    Wenn ich den Code von stim0r0l im GNU compiler laufen lasse, dann werden auch nur die erste 4 digits ausgespuckt


    Code
    1. Displaying number 1 (4) :6 9 10 20


    Da ist doch was faul, resp. so kompliziert kann das doch nicht sein :nope :shure
    Ausserdem muss ich die Zahlen im Array als integer oder bytes haben, da ich sie nachher einer Funktion der FastLED Library übergeben muss. Ok, ich könnte sie mit "atoi" auch vorher kurz konvertieren.


    Um auf den Punkt zu kommen, was ich überhaupt machen will.
    Ich habe eine header Datei gemacht mit einer Array Matrix für die Zahlen:


    Im .ino File soll dann im Prinzip das von weiter oben passieren:

    Code
    1. byte* numArray = getNumbers(today);
    2. for (byte i = 0; i < sizeof(numArray); i++) {
    3. led = numArray[i];
    4. Serial.print(led); Serial.print(" ");
    5. fadeInRandColour(led);
    6. }


    Ihr seht auch, dass ich für die 2 Stelligen Zahlen auch gerne die Arrays zusammenfügen möchte. Aber ich glaube so geht das auch nicht. Ich kenne strcat um Strings zu concatinaten, aber wie kann man das einfach mit Arrays machen? Muss ich da jedes Element auslesen und dann beim anderen Array anfügen?!?


    Ich werde das Phänomen mal noch im Arduino Forum posten

  • So, beim Arduino Forum kriegt man meistens die Antwort "Es geht nicht so wie du es machen willst". Irgendwie programmier ich zu dynamisch und zur Laufzeit. Ich kann mich mit diesem c++ einfach nicht anfreunden.


    Naja, jedenfalls hab ich jetzt einen anderen Approach gewählt und einen multidimensionalen Array erstellt. Die Zeilen sind die Tage und die Spalten die Nummer der LED des WS2801 Strangs (50 LEDs).


    Das funktioniert jetzt soweit



    Jetzt werde ich mal noch die FastLED Library einbinden, den RTC und hoffen, ich kann das Zeugs auf meine Art zusammenfügen

  • Vergiss es, ich gebs auf.
    Der Atmega328 mit seinen 2kb SRAM bringt meine Matrix für 31 Zahlen à 50 LEDs nicht hin und mir sind die Ideen ausgegangen, wie ich sonst die Zahlen auf die LED Matrix bringen soll.
    Auch so gehts nicht:


    Code
    1. int matrix[31] = { 00001101001000000100110010000001001100100000000110,
    2. 00000100110000000001001000000000010010000000000010,
    3. 00011101000000000000101100000001000000100000001111,
    4. 00011101000000000000101100000000001100000000001110
    5. };


    Nach ca. dem 20. element spuckt Serial.print nur noch wirres Zeugs oder gar nix mehr und das Programm bleibt hängen (die loop Methode geht nicht).

  • Hast du n Link zum thread was du genau ausgeben möchtest?


    btw., bei der HSC08 Programmierung (ja das ist noch lange vor Arduino) konnte/musste man z.T. selber memory maps machen. Programmcode wurde afaik nicht ins Ram geladen und man konnte da n bisschen am verfügbaren Speicher rumschrauben.
    Du solltest eigentlich schon Byte für Byte ausgeben können.


    EDIT:
    also bei deinem Ersten Post "Hab jetzt mal angefangen mit dem Code für die XMAS Beleuchtung ...."
    ist das Problem:


    du gibst die Länge des pointers aus, und scheinbar ist das ein 16Bit Prozessor, ergo ist der Pointer 2 Byte lang, also steht dann in der Klammer (2).
    Und dann gibst du den Pointer aus, das heisst die Adresse des Pointers wird geprintet,.. und das sind dann eben die 2 Zahlen.

    Marktplatz Bewertung
    Kiste 1: Sloti 800 TB
    Kiste 2: DLT3C @ 2.6GhZ
    ...
    Kiste 7 & Kiste 8: PhII 720BE, 8GB ram. 1x mit X25-m II 80GB & 4870, 1x mit indilinx MLC 32GB

    [SIZE=7]Dieser Beitrag, inkl. vorhandenen Anhängen, ist ungeschützt und könnte während der Übermittlung oder nachträglich von 3. verändert werden. Der Absender schliesst deshalb jede Haftung oder rechtliche Verbindlichkeit für elektronisch versandte Nachrichten aus. Weiter ist der Inhalt des Postings frei erfunden, eventuelle Annäherungen an die Realität sind höchstens unbeabsichtigt und zufällig entstanden. Zu all meinen PCs haben mehrere Leute Zugang und nutzen diesen auch.[/SIZE]

    Einmal editiert, zuletzt von BLJ ()

  • Zitat

    Original von BLJ
    Hast du n Link zum thread was du genau ausgeben möchtest?

    Ja, ich habe hier mal jetzt noch genauer gepostet, was ich machen möchte. Versammt, so schwer kann das doch nicht sein. Ich mein da wird mit Arduino riesen LED Displays gemacht und die müssen ja auch irgendwie die Zeichenkette gespeichert haben.

  • ok hab das mal angeschaut. Was ist denn das genaue Interface zu den Leds? Oder gibst du die Position als Nummer auf dem Serial aus? Oder musst du die Position als char-nummer ausgeben? (das heisst, "Buchstabe" 9 = Zahl 9, hat aber den int Wert [ASCII Code] 57).
    Sind das IOs die du ansteuerst? Mach mal ein Beispiel: Wie bringst du die LED an Position 25 zum leuchten? (fixer Code).


    EDIT: hast du das schon angeschaut: http://www.arduino.cc/en/Reference/PROGMEM ?

    Marktplatz Bewertung
    Kiste 1: Sloti 800 TB
    Kiste 2: DLT3C @ 2.6GhZ
    ...
    Kiste 7 & Kiste 8: PhII 720BE, 8GB ram. 1x mit X25-m II 80GB & 4870, 1x mit indilinx MLC 32GB

    [SIZE=7]Dieser Beitrag, inkl. vorhandenen Anhängen, ist ungeschützt und könnte während der Übermittlung oder nachträglich von 3. verändert werden. Der Absender schliesst deshalb jede Haftung oder rechtliche Verbindlichkeit für elektronisch versandte Nachrichten aus. Weiter ist der Inhalt des Postings frei erfunden, eventuelle Annäherungen an die Realität sind höchstens unbeabsichtigt und zufällig entstanden. Zu all meinen PCs haben mehrere Leute Zugang und nutzen diesen auch.[/SIZE]

    2 Mal editiert, zuletzt von BLJ ()

  • Die LEDs kann ich mit der FastLED Library steuern. Ich muss einfach die LED nummer als integer angeben. Das ist noch das kleinste Problem. Wie im Arduino Thread geschrieben, habe ich eine LED matrix vom 1-50 und um die 1 darzustellen, muss ich LED 6,9,10,20,23,34,37 und 49 aufleuchten lassen mittels der FastLED Funktion. Also macht man da am Besten ein Array und iteriert diesen durch um die LEDS aufzuleuchten. Eigentlich futz-einfach, aber ich kriegs mit den scheiss Arrays nicht hin diese zu referenzieren.
    Wegen dem 2d Array, ja PROGMEM wäre eventuell ein Hack! Danke

  • Wie wärs mit nem 10*50 Array?
    "0" --> array[0-49]
    "1" --> array[1*50+(0-49)]
    "2" --> array[2*50+(0-49)]
    usw.
    benötigt zwar 500Byte, spielt aber keine Rolle wenn du es mit Progmem ablegst.

  • BitBool hat mein Problem gelöst und sogar der SRAM scheint genug zu sein.

  • Hier mal ein Bild als Prototyp für die X-Mas Beleuchtung:


    Und noch ein Video


    Und der Code:
    XMas14_RGB.ino : http://pastebin.com/ReVFbb0d
    XMas14_RGB.h: http://pastebin.com/Eibxumba
    BitBool.h: http://pastebin.com/8VYtNtsa


    Und die Verpackung:

    Immer wieder geil, wozu man RJ45 sonst noch gebrauchen kann


    PS: Auf banggood.com ist das UNO 21% günstiger. Kostet nur noch $8.75

  • Hier das Endprodukt und derCode dazu.

  • Hey Leute, wie siehts mit euren Weihnachtsbeleuchtungen für diese Jahr aus? Ich bin inzwischen umgezogen und habe leider kein perforiertes "Balkongländer" mehr, sodass ich jetzt meine WS2811 LEDs wie OOR vor 2 Jahren am Fensterrahmen anbringen werde.

  • Hier ... ein Arduino-Projekt von einem gelangweiltem Mann :gap


    https://www.youtube.com/watch?v=pQ2dI_B_Ycg


    Irgendwelche Freiwillige?

    2006: "Aber wenn die Lehrer mal abgesehen fragt man sich, wo sie die Physik gelassen haben.. Und Knochen und so haben sie grad auch nicht.." ©Yarrow
    2007: "moonie ist keine Frau. moonie ist eine Gamerin!" ©Lord of Darkness
    2008: "Wer bedroh ich den, ...... und wens so wer, dan sicher mit recht!" ©SmallX2
    2009: "wir sollten die Bildschirme unter den Tisch stellen, da es nicht soviel Platz hat" ©Tobi_Wan @ t2w LAN
    2010: "Hör doch auf ständig rumzutrollen!" ©Tulpe (JackCarter)
    2011: "Bleibt aber immer noch die Frage, wo das ganze Backupen? (Zu Snipa Guck)" ©Tobi_Wan
    2012: "Eigentlich wollte ich Aromat auf eure Vermicelles tun, wusste aber nicht, ob ihr Alkohol mögt" ©Tobi_Wan
    2013: "ich bin kein armer Schlucker." ©Tulpe (JackCarter)
    2014: "dr Aschi wo ds Intranet programmiert het ... unds Internet" ©RAYDEN
    2015: "Dieses Forum hat 2 Suchmöglichkeiten: [SUCHEN] und Snipa" ©ReDiculum
    2016: "Trump wird ein hervorragender Präsident werden :)" ©1984

  • Bei mir wie jedes Jahr 150 RGB LEDs in Sechs Fenstern, letztes Jahr kamen da noch ein, zwei Sequenzen dazu. Diese Jahr hab ich aber leider keine Zeit für Erweiterungen, auch wenn ich da schon seit Ewigkeiten gerne einen Ausbau vornehmen würde.

  • Die einen haben ihn vielleicht an der Netgame gesehen, für die anderen hier ein kleines Video von meinem PipBoy auf Arduino Basis...


    https://www.youtube.com/watch?v=KUnUcDM2cjk

    Let's mod something !
    Intel Core i7 12700K - Asus PRIME Z690-A - Kingston FURY Renegade 6000 MHz 2x 16 GB - MSI GeForce RTX 3090 GAMING X TRIO -
    be quiet! Silent Base 800 - Pure Rock CPU Cooler - System Power 8

  • Hab zwar noch kein FO4 gespielt, sieht aber geil aus das Teil.

  • ist auch nicht aus Fallout4 sondern Fallout3/New Vegas

    Let's mod something !
    Intel Core i7 12700K - Asus PRIME Z690-A - Kingston FURY Renegade 6000 MHz 2x 16 GB - MSI GeForce RTX 3090 GAMING X TRIO -
    be quiet! Silent Base 800 - Pure Rock CPU Cooler - System Power 8

  • Tach :)


    Ich hab da eine Idee für ein kleines Arduino Projekt und habe da ne Frage/Meinungsfrage dazu ..


    Ziel: Arduino mit PIR Bewegungsdetektor und einem Relais. Eine IKEA LED Stripe welche an der inneren Seite des Bettrahmens montiert ist. Bewegung schaltet Relais ein und damit die LED Lichter. Damit sollte ein dezentes und nicht-störendes Licht erzeugt werden für nächtliche Streifzüge durch die Wohnung.


    Meine Frage hierzu wäre .. soll ich mit dem Relais die AC oder die DC Seite der LEDs schalten? (AC Netzkabel -> AC/DC Netzteil -> Led Stripes )


    Die Seite des DCs wäre wohl "sicherer". Die AC Seite wäre jedoch praktischer weil es generell dann für alles funktioniert was man dran schliesst. Villeicht übersehe ich auch was :)


    Cheers,
    Poly