Projektvorstellung dreistellige 7Segmentanzeige per WiFi ansteuern

Hallo alle zusammen, im deutchsprachigen WIKI habe ich ein Programmcode eingestellt.

Das ganze ist ein Standalone Modul welches aus einem Arduino, einem WiFly shield von Sparkfun und drei 7Segemntanyeigen besteht.
Es kann quasi von jedem Rechner der im Netzwerk hängt ein Zahlenwert zu diesem Modul gesendet werden. Dieses Modul zeigt dann den Wert an.

http://arduino.cc/playground/Deutsch/WiFlyLed

Der Code ist ein sehr frühes Alpha-Stadium und kann bestimmt an tausenden Stellen optimiert werden (wird er natürlich auch noch).
Den Wiki Artikel werde ich systematisch um Schaltplan, und library informationen erweitern.
Fragen und Anregungen sind gern gesehen.
Besonders interessant finde ich, dass ein WebServer auf dem Arduino läuft, und keine spezielle Software zum Daten schicken benötigt wird. Das Daten schicken kann mit “wget” und simpelsten One-Linern automatisiert werden.

Gruss inside-man

Grundsätzlich begrüße ich, dass sich im deutschen Playground wieder was tut. :D Da muss aber noch einige Arbeit in den Beitrag gesteckt werden. Als erstes ist der Code in seinem gelben Block mit blauer Schrift überhaupt nicht schön anzusehen, dafür gibt es die entsprechenden Tags zur Formatierung (:source lang=c linenum:) und (:sourcend:). Dann gäbe es noch die Überschriften, die schon etwas hervorgehoben werden sollten und zu guter letzt die Rechtschreibung. Ansonsten Daumen hoch dafür! ;)

Rechtschreibung schaue ich gleich nochmal durch. Ich habe aus der Sandbox den Vorschlag für die Programmformatierung genommen. Ich werde schauen wie das die anderen Wiki Einträge halten, denn es sollte möglichst einheitlich sein.

Der Code sieht jetzt schon mal besser aus, finde ich. Im textlichen Teil steht zeimlich missverständlich, dass man mit "einem "Netzwerkshield" (WiFly,Ethershield)". Dabei ist der Code aber direkt auf das WiFly-Shield zugeschrieben. User mit einem normalen Ethernet-Shield schauen also in die Röhre, ich denke, darauf sollte man besser hinweisen. Wozu ist denn die eingebundene Library Credentials.h?

Die credentials Datei enthält die SSID und die Passphrase, wird natürlich nur bei WiFi benötigt. Ansonsten sollte der Code für WiFi und Ethershield funktionieren. Zum einen ist die WiFly library meines Wissens absolut kompatibel zur ethernet library aufgebaut. Zum anderen habe ich die esten Versionen alle mit dem ethershield laufen lassen. (Die Endversion allerdings nicht. Ich denke es müsste also nur der Bibliotheken-Name ausgetauscht werden und evtl. Eine Zeile fuer die ip-settings. Ich werde dies testen und sinnvoll ergänzen, so dass der Code wirklich für beide Shields genommen werden kann.

Hallo !

Habe ich irgendwas verpasst ? Ich finde die Schaltung dazu nicht.

@inside-man: Hast dir aber mächtige Mühe gemacht: Jeden einzelnen Balken der 7-Sieben-Segment-LEDs zu definieren ( wie ich im Code sehe ). Einfacher wäre ein BCD zu 7-Segment-Decoder wie der 'CD 4511'. - Braucht man weniger Leitungen und Speicher. Die Krönung wäre eine Multiplex-Anzeige mit nur einem Decoder und drei Transistoren.

Ich habe ein mieses Bild vom Prinzip mit dem 7447 ( kaum noch erhältlich ):

Damit benötigt man nur noch 4 BCD-Leitungen, und 3 Leitungen für die Transistoren.

Wie das 1080-video-kontroll-feld dahinkommt weiß ich auch nicht - seht ihr das auch ???? MfG

Hallo die Schaltung muss ich noch zeichnen. Tatsaechlich laesst sich das mit Deiner Variante sehr schlank loesen. Ich hatte fuer einen ersten Test das Dangershield von NYC genommen, da war eine Sieben Segment Anzeige mit Schieberegister drauf, die lief einwandfrei, naja und dann dachte wenn man das mal drei nimmt, ist ja sehr schoen sparsam 2 Pins fuer die Ansteuerung gesamt und drei fuer die drei Digits… Tatsaechlich ist Deine Schaltung etwas einfacher anzusteuern, aber sie braucht mehr Leitungen wuerde ich mal sagen naemlich 2 Leitungen mehr. Der Code ist wirklich ein gewaltiger Textblock geht bestimmt auch in einer verschachtelten Schleife, aber es kann gut sein dass der Compiler das stark optimiert, gut moeglich dass der BCD Code nicht Speichersparsamer ist, denn letztlich muss ebenfalls immer ein Byte was hinterlegt ist rausgeschoben werden (in diesem Fall dann vier einzelbits fue rvier ausgaenge).

Wie gesagt schaltung fritze ich noch!

Ich finde die Lösung mit den Schieberegistern schon nicht schlecht, würde diese aber so kaskadieren, dass man alle drei Bytes reinschieben kann und dann nur noch eine Latch-Leitung braucht. Das geht natürlich mit einer etwas umfangreicheren Code-Anpassung einher.

4 BCD - Leitungen + 3 Digit-Leitungen ( habe ich doch geschrieben )

Der Code ist wirklich ein gewaltiger Textblock, geht bestimmt auch in einer verschachtelten Schleife

Wie groß war denn dein compilierter Code ? Bitte posten !!!!

aber es kann gut sein dass der Compiler das stark optimiert, gut moeglich dass der BCD Code nicht Speichersparsamer ist, denn letztlich muss ebenfalls immer ein Byte was hinterlegt ist rausgeschoben werden (in diesem Fall dann vier Einzelbits für vier Ausgänge).

Auf jeden Fall ist der BCD-Code Speicher-sparsamer, aber eben rechen-intensiver, bei den ATMELs noch kein Problem.

MfG

Ich finde die Lösung mit den Schieberegistern schon nicht schlecht, würde diese aber so kaskadieren, dass man alle drei Bytes reinschieben kann und dann nur noch eine Latch-Leitung braucht. Das geht natürlich mit einer etwas umfangreicheren Code-Anpassung einher.

Welche Schiebe-Register ?

Ich hatte kurzzeittig auch ueber das kaskadieren nachgedacht, braucht man da dann nicht einfach nur den letzten ausgang als data fuers naechste shiftregister nehmen? wenn das geht schiebt man einfach nacheinander die drei Zahlen raus, und die muessten dann alle an Ort und Stelle stehen, das wuerde ja widerum nahzu keine Codeaenderung mit sich bringen. Aber ich weiss eben nicht ob das der richtige weg fuer eine Kaskadierung ist...

Gurkengraeber: 4 BCD - Leitungen + 3 Digit-Leitungen ( habe ich doch geschrieben )

du hast geschrieben braucht man "nur noch"

daraus entnahm ich dass das wenig sein soll, es ist aber mehr als mit meiner Schaltung.

Ich glaube der code war 11000 bytes, sitze aber gerade in Paris und habe hier keinen Arduino in der Naehe, das kann ich erst naechste Woche testen.

Die Schaltung verwendet drei Schieberegister Typ 74HC595N , zugegeben ein schaltplan waere toll... Diese sind auf dem clock und Data alle parallel geschaltet und die latches steuern die einzelnen Segmente.

Gloria ! Victoria !

Die Schaltung verwendet drei Schieberegister Typ 74HC595N

Jetzt verstehe ich die Art deiner Schaltung erst :stuck_out_tongue:

Woher hat ‘sth77’ den Schaltplan gewusst ?

sitze aber gerade in Paris und habe hier keinen Arduino in der Nähe

Ja, kommt bei mir auch öfters vor, das ich in Madrid oder Barcelona ( Hauptsache Italien ! ) sitze, und keinen Arduino dabei habe :).

Arduino-TV deckt auf: sth77 und inside-man sind die selbe Person ( haben eine gespaltene Persönlichkeit - sind also 4 ? ).
Gurkengräber wurde dann mit dem Wurlitzer-Preis ausgezeichnet.

MfG

Arduino-TV deckt auf: sth77 und inside-man sind die selbe Person

Leider nicht! Dann wuesste ich naemlich wie man korrekt kaskadiert, weil ich mir ja dann selber den Vorschlag dazu gegeben haette....... (gruebel)

Gruss inside-man

Gähn: http://www.earthshineelectronics.com/files/ASKManualRev5.pdf

Projekt 14 & 15

MfG

Ich bescheinige hiermit dem Gurkengraeber eine wirklich lebhafte Phantasie... Kombiniert mit Wahnvorstellungen, eigenwilligem "Humor" und Unaufmerksamkeit beim Lesen des Postings und den Links darin ist das 'ne ganz gefährliche Mischung. :D Das IC hat ja den netten Ausgang Q7', wo alle Bits hinten "rausfallen", wenn man zu oft clockt. Wenn du nun einen zweiten 595er nimmst und dessen DS-Eingang an diesem genannten Ausgang Q7' anschließt, schiebst du die Bits einfach ins nächste Schieberegister. Und das kann man mit nahezu beliebig vielen Schieberegistern machen, in deinem Fall also mit dreien:

http://www.arduino.cc/en/Tutorial/ShiftOut

Nun schiebt man eben in einem Rutsch 24 Bit in die Kaskade und braucht nur eine Latch-Leitung.

BTW: Richtig klasse finde ich auch die Ansteuerung eines Displays (HD44780 und kompatibel) über ein Schieberegister. Das in Kombination mit nem Ethernetshield hätte auch Style.

Ich bescheinige hiermit dem Gurkengraeber eine wirklich lebhafte Phantasie... Kombiniert mit Wahnvorstellungen, eigenwilligem "Humor" und Unaufmerksamkeit beim Lesen des Postings und den Links darin ist das 'ne ganz gefährliche Mischung.

Mama, du bist auch hier im Forum ? ]:D

Nun schiebt man eben in einem Rutsch 24 Bit in die Kaskade und braucht nur eine Latch-Leitung. BTW: Richtig klasse finde ich auch die Ansteuerung eines Displays (HD44780 und kompatibel) über ein Schieberegister. Das in Kombination mit nem Ethernetshield hätte auch Style.

Wer schreibt denn davon: sth77 oder doch eher der inside-man ? Wie war denn deine Kindheit ? Hast du Mami & Papi beim Löten zugesehen ? Hat dich das schockiert ? Wann hast du diese Störung zuerst bemerkt ? Hattest du da schon ein kleinen Lötkolben ? Wann hast du zuerst bemerkt, dass du nur ein Bit im Schiebe-Register bist ?

http://www.youtube.com/watch?v=bQLCZOG202k

MfG: Ich kanns besser

Für eine humorvolle Einlage bin ich immer zu haben. Aber was sollte das jetzt sein? Sieht eher nach Aufräumarbeit für Uwe aus, dieses Posting dann bitte gleich mit, hat ja nix mit dem Thema des Threads zu tun...