Show Posts
Pages: 1 ... 3 4 [5] 6 7 ... 12
61  International / Deutsch / Re: LED-Cube 3³ - Probleme mit Multiplexing on: December 15, 2011, 04:59:47 am
Gibts nicht... ;-D

Die Anoden sind säulenweise (0.0, 1.0, 2.0) zusammengelötet und gehen direkt auf Arduino-Pins.

Kathoden sind ebenenweise (0.0, 0.1, 0.2, ...) verlötet und gehen über BC 337 Transistoren auf Masse. Gesteuert über Arduino-Pins... ;-)

Danke!
62  International / Deutsch / LED-Cube 3³ - Probleme mit Multiplexing on: December 14, 2011, 06:52:32 pm
Hallo!
Ich komme zurück auf meinen 3er Würfel.
Ich hab jetzt eine Software geschrieben, die das macht, was ich möchte. Allerdings tut sie es dann doch nicht so wie ich möchte und ich weiss nicht recht, woran das liegt. Ob hier ein elektrotechnisches Problem vorliegt oder ein softwareseitiges.

Und zwar ist im folgenden das Bitmuster so, dass nur die letzte LED der obersten Ebene leuchten sollte. Das funktioniert auch, wenn ich mir die Bildmatrix über Serial.print ausgeben lassen, die Anzeige ist allerdings anders.

Dort leuchtet die erste LED jeder Ebene, die letzte LED der untersten Ebene und die letzte LED der obersten Ebene (allerdings deutlich dunkler als die anderen). Das wirkt für mich irgendwie so, als läge hier nicht unbedingt ein softwareseitiges Problem vor, sondern die technische Seite will nicht.

Im folgenden der relevante Teil des Quellcodes:
Code:
// Definition der Pins des Arduino, an denen der Wuerfel haengt
const int ebenen[] = {10,11,12};
const int saeulen[] = {1,2,3,4,5,6,7,8,9};

// Forward-Deklaration /////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////

void zeichneFrame(long, int);

void setup() {
// Pins als Outputs definieren
  // Ebenen
  for (int i=0; i<3; i++) { pinMode(ebenen[i], OUTPUT); }
  // Saeulen
  for (int i=0; i<9; i++) { pinMode(saeulen[i], OUTPUT); } 
}

void loop() {
  // Do cool stuff here... ;-D
  long test = 0b00000000000000000000000000100000;
  //            |||   |||   |||   |||   |||
  zeichneFrame(test, 50);
}

// bild (long) enthaelt (die ersten) 27 Bits mit Bildinformation, am Schluss 5 leere Bits
// dauer (int) enthaelt die Anzeigedauer in ms, muss noch mit 10 multipliziert werden
void zeichneFrame(long bild, int dauer=5) {
  // Array of Boolean um Matrixbilder der einzelnen Ebenen zu speichern...
  // 3 x 9 Bit des uebergebenen long-Wertes
  boolean bildmatrix[3][9];
 
  // Zaehlvariable um mit bitRead() links zu starten
  int bitOffset = 31;
 
  // Uebergebenen long-Wert bitweise abarbeiten und in das Array schreiben
  // Die ersten 9 Bit definieren die unterste Ebene, beginnend mit der ersten LED, dann 2. Ebene 
  for(int i=0; i<3; i++) {
    for(int j=0; j<9; j++) {
      bildmatrix[i][j] = bitRead(bild, bitOffset);
      bitOffset--;
    }
  }   
 
  // Laufdauer des Wuerfels speichern, benoetigt fuer Vergleich wg. Bildanzeigezeit
  long max_dauer = millis();
  long spielzeit = 0;
 
  // Anzeige starten und dabei multiplexen, was das Zeug haelt... ;-D
  while(spielzeit < (dauer*10))
  {
    for(int i=0; i<3; i++) {
     
      digitalWrite(ebenen[i], HIGH);
     
      for(int j=0; j<9; j++) {
     
        ((bildmatrix[i][j] == 1) ? digitalWrite(saeulen[j], HIGH) : digitalWrite(saeulen[j], LOW));
        //((bildmatrix[i][j] == 1) ? Serial.println("AN") : Serial.println("AUS"));
      }
     
      digitalWrite(ebenen[i], LOW);
     
    }     
  // Benoetigte Zeit fuer diesen Durchlauf ermitteln und speichern
  spielzeit = millis() - max_dauer;
 
  }

}

Wär schön, wenn sich das mal einer anschaut und vielleicht was findet. Ich find nix mehr, vielleicht hab ich allerding auch zu lange drauf geschaut... ;-D

Danke!
63  International / Deutsch / Re: LED-Cube 3³ - Datentypen für Speicherung von Bildern on: December 10, 2011, 07:28:57 pm
nAbend!
Mir ist noch eingefallen, dass ich einen zusätzlichen Wert speichern muss, der die Anzeigedauer eines einzelnen Frames regelt.
Dafür könnte ich vielleicht die übrigen 4 Bit verwenden.

Wie meinst du das mit den 3 Byte, uwefed? 1,5 Byte nutze ich doch auch, wenn ich das mit 2 Byte mache?!?
64  International / Deutsch / LED-Cube 3³ - Datentypen für Speicherung von Bildern on: December 10, 2011, 01:00:42 pm
Hallo!
Ich habe einen "3er-Würfel" gebaut, der mit Vorwiderständen und drei BC 337-Transistoren direkt über die Ausgänge vom Arduino betrieben wird. Das klappt auch soweit ohne Probleme, wie man in diesem Video sehen kann.


Jetzt soll er natürlich mehr können als nur alle LEDs nacheinander ein- und ausschalten. Figuren anzeigen etc. pp.

Für die Steuersoftware suche ich nun nach einem geeigneten Datentyp zur Speicherung von Bildern bzw. einzelnen Frames. Pro Bild habe ich einen Platzbedarf von 12 Bit (3 Bit für die Ebenen, 9 für die Säulen).

Meine bisherige Idee ist es, ein Array of Byte zu nehmen und darin die Figuren zu speichern. Die Einzelframes würde ich dann bitweise in 2 Bytes kodieren und diese dann, wiederum bitweise, auf die Ausgänge schicken.

Dabei "verschenke" ich pro Frame 4 Bits, deshalb frage ich mich, ob es etwas Besseres gibt. Mir fällt nix ein, aber euch vielleicht.

Ich freu mich auf Anregungen. Danke.
65  International / Deutsch / Re: Maximaler Widerstand für analogen Input on: December 05, 2011, 03:51:54 pm
Guten Abend!

Das waren doch wieder ganz hervorragende Antworten.

Vielen, vielen Dank dafür. Dann werde ich mich in Richtung 5 kΩ orientieren... :-D
66  International / Deutsch / Maximaler Widerstand für analogen Input on: December 04, 2011, 11:10:42 pm
Hallo!
Ich habe eine kleine Verständnisfrage zum Einlesen von analogen "Signalen" bzw. Werten.
Basis ist das Example "AnalogInput" bei dem auf Basis der Einstellung eines Potentiometers die Helligkeit einer LED eingestellt wird.

Gibt es hier eine Begrenzung für den maximalen Widerstand des Potentiometers?
Ich würde gerne ein (Dreh)Potentiometer kaufen, die gibt es allerdings in Ausführungen von 150 Ohm bis 5 Megaohm.

Über das mit 5 MOhm fällt natürlich unter Umständen soviel Spannung ab, das mein Arduino das nicht mehr sauber unterscheiden kann, eine feine Unterscheidung wäre aber schön.
Nehm ich also lieber ein Potentiometer im kOhm-Bereich oder sogar nur eins bis 1000 Ohm oder darunter?

Habt ihr Erfahrungen oder Tipps wie ich das Richtige finde?

Danke!
67  International / Deutsch / Re: Elektronik allgemein: CCFL aus TFT betreiben on: November 06, 2011, 03:59:00 pm
@Robdeflop
Danke, da werd ich mich mal umschauen...

@uwefed
Die Platine liegt hier neben mir, aber ich schätze jener Teil darauf, der zum Inverter gehört, ist hinüber. Deshalb die Suche nach einem Ersatzteil. Leider ist die Beschriftung der Platine praktisch nicht vorhanden, abgesehen von der Warnung vor Hochspannung. Ich werd mal etwas rumsuchen.

Die Röhren, insgesamt 4 Stück, sind übrigens jeweils etwa 33 cm lang, waren in einem 17 Zoll Monitor verbaut...
68  International / Deutsch / Elektronik allgemein: CCFL aus TFT betreiben on: November 05, 2011, 03:24:39 pm
Hallo!
Hier im Hause hat die Tage ein BenQ FP71G seinen Geist aufgegeben, ich habe vorhin die Plexiglasplatte mit den CCFLs und Diffusionsfolien gerettet und würde damit gerne eine Beleuchtung fürs Fotografien bauen.

Weiss jemand, ob die verbauten CCFLs alle von einem Standardtyp sind? Was mir fehlt sind nämlich die Inverter für die beiden Röhren. Wenn ich da (günstig, wer weiß, ob die CCFLs nicht auch hinüber sind?!) Ersatz fände, dann wäre das super.

Man findet dazu im Netz leider wenig Informationen. Anscheinend ist die Hauptplatine dieses Monitors relativ anfällig für Defekte, aber die Inverter gibt es nicht einzeln.

Ich weiß, die Dinger sind gefährlich, aber es würde mich doch sehr reizen, die Beleuchtung ans Laufen zu bringen...

Danke!
69  International / Deutsch / Re: Pegelwandler 74HC4050 on: October 20, 2011, 04:35:32 pm
nAbend!

Wow, da hab ich ja wieder was losgetreten... Vielen Dank für eure Antworten!

Prinzipiell spricht nichts gegen Spannungsteiler außer, dass die Widerstände dann natürlich einiges an Platz einnehmen.
Da die fertige Schaltung in ein "möglichst kleines" Gehäuse soll, will ich gerne Platz sparen, wenn möglich, bzw. den Platz den ich habe gerne etwas frei lassen.
Da schien mir ein fertiger, kleiner IC eben praktikabler als die Spannungsteiler aus Widerständen.

Bei mikrocontroller.net war ich auch schon gelandet und hatte dort gelesen, dass der 74HC4050 für diese Pegelwandlung gut geeignet sei.
Uwes Einwand ist demnach zu vernachlässigen?!?
70  International / Deutsch / Pegelwandler 74HC4050 on: October 19, 2011, 06:52:27 pm
Hallo!
Ich möchte meine 5 V Arduino-Ausgangspegel gerne in "sichere" 3,3 V LC-Display-Eingangspegel wandeln.
Dazu scheint mir ein 74 HC 4050 Baustein (Datenblatt) gut geeignet zu sein.

Verstehe ich die Beschaltung insofern richtig, als das ich an meine "Data Inputs" die 5 V Signale anlege und an meinen "Data Outputs" dann 3,3 V Signale erhalte?

Welche Spannung muss an VCC angelegt werden? 5 V oder 3,3 V?

Danke!
71  International / Deutsch / Re: Minimalistisches Arduino on: October 12, 2011, 11:11:37 am
Oh Leute, die 15 Euro für ein Programmierkabel sollte man schon bereit sein, auszugeben. Wenn es daran scheitert, würd ich es gleich lassen...
72  International / Deutsch / Re: Joystick entprellen on: October 06, 2011, 04:30:17 am
Besten Dank, schau ich mir an.
73  International / Deutsch / Re: Joystick entprellen on: October 02, 2011, 04:59:12 pm
Ich habe gerade mal etwas ausprobiert, aber ob das so super ist, weiß ich nicht. Es scheint zumindest zu funktionieren.

Wenn ich ein delay(200); vor die Prüfung des Enter-Buttons setze, dann hat der Stick genug Zeit um "zurückzuschwingen" und wieder in Ruhe zu kommen, bevor geprüft wird, ob der Button gedrückt wurde...

Mit einer Verzögerung von 50 ms funktioniert das auch noch. Kann mir nicht genau erklären wieso, aber es scheint so tatsächlich zu klappen.

Jetzt muss ich noch den Enter-Button an sich entprellen, mal schauen was ich da mache...
74  International / Deutsch / Joystick entprellen on: October 02, 2011, 04:22:55 pm
Hallo!
Nachdem ich jetzt eine annehmbare Pinbelegung für meinen Joystick herausgefunden habe bin ich fröhlich dabei das zu testen. Hier leuchten fröhlich LEDs auf (eine grüne für den Druckknopf, rote/gelbe zusätzlich bei X-/Y-Richtung).

Jetzt habe ich mir mal dieses Tutorial vorgenommen um ein Menü erstmal in der Konsole aufzubauen und das später dann auf mein Display zu übertragen.

Jetzt zeigt sich das Problem, das der Druckknopf in der Mitte des Joysticks "prellt".
Bei jeder Achsen-Bewegung des Joysticks wird auch der Druckknopf aktiviert. Das ist für die Auswertung der Achsen-Bewegung kein Problem, aber irgendwie "schwingt" der Taster halt nach, bzw. prellt eben.
Für jede Down-Bewegung hab ich so auch zwei bis vier Aktivierungen des Druckknopfes.

Wie komme ich dem am Besten bei, d.h. wie entprelle ich den Taster in der Mitte des Joysticks?

Bzw. vielleicht ist der verwendete Code an sich auch das Problem, das weiss ich nicht. Hat jemand etwas Besseres zur Auswertung von Buttons?

Danke!
75  International / Deutsch / Re: Beschaltung "Automative Joystick" on: September 25, 2011, 11:20:48 am
So, ich hab das nochmal gemessen und das Datenblatt ist falsch. Alternativ spinnen die beiden Multimeter, die mir zur Verfügung stehen...

Mal schauen, was ich da mache...
Pages: 1 ... 3 4 [5] 6 7 ... 12