PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino 7-Segment Display anschließen



pro-bot128
05.02.2011, 18:33
Hi Leute!
Hab mal ne Frage:
Ich möcht ein 7-Segment-Display an Arduino anschließen und von dort aus verwalten. Das heißt, es sollen Zahlen von 0 bis 9 auf dem Display durchlaufen. Den Skript krieg ich ja hin. Das Display: Conrad Bestellnummer:160202 Link:
http://www.conrad.de/ce/de/product/160202/7-SEGMENTANZEIGE-9-MM-A
Ich hab versucht Pin 1 an Arduino GND und die Segment-Pins an einen Arduino Pin(13 -> 6). Ich mach es erstmal ohne Vorwiderstand. Nun hab ich alle Segmente im Skript leuchten lassen(Die Zahl 8 mit Punkt). Nur leider leuchtet nichts auf dem Display. Wie muss ich es richtig bauen?
Nochmal:


Arduino GND <---| _ |--->Arduino Digital Pin
Arduino Dig. Pin <-| | ||---> Arduino Digital Pin
Arduino Dig. Pin <-| | ||---> Arduino Digital Pin
Arduino Dig. Pin <-| _ |---> Arduino Digital Pin
Arduino Dig. Pin <-| |----> Nicht angeschlossen


Das funktioniert nicht...
Wie geht es, und was für ein Vorwiderstand brauch ich für 5v?
Danke!

MfG pro-bot128

TobiKa
05.02.2011, 18:40
Ich mach es erstmal ohne Vorwiderstand.
Ganz schlechte Idee!

pro-bot128
05.02.2011, 18:43
Gut! Wie wärs mit 1.5kOhm?

TobiKa
05.02.2011, 18:45
Außerdem haben die Dinger eine gemeinsame Anode und nicht Kathode!

Ist das hier ein Ratespiel?
Such dir ausm Datenblatt welche Spannung sie brauchen und welchen Strom, dann duchst du dir über Google die Formel zur berechnung des Vorwiderstands einer LED raus.

pro-bot128
05.02.2011, 18:46
Das hab ich auch schon gesehen, aber wie schließe ich das an?

TobiKa
05.02.2011, 18:50
Hab doch gesagt das sie eine gemeinsame Anode und keine gemeinsame Kathode haben, du hast es demnach falsch rum angeschlossen.

pro-bot128
05.02.2011, 20:51
Also Pin 1 vom Display an +5V oder was?

TobiKa
05.02.2011, 21:02
Ja, VCC an 1 und 6
Die LEDs leuchten dann wenn du die anderen Pins auf Low schaltest!
Aber wenn du das Ding dann richtig dran hast, dann nicht mehr ohne Vorwiderstände!!
Und berechne mal leiber nur 10mA pro LED, wenn du das Ding direkt an dem Controller anschliessen willst, nur zur Sicherheit damit der Controller nicht so sehr belastet wird.

pro-bot128
05.02.2011, 21:42
Ich habe mit Elektor ETB ausgerechnet:
V-LED: 2.5V
V-IN: 5V
I: 10mA
Geht es nicht auch mit 1.5kOhm?

TobiKa
05.02.2011, 21:49
Wieso immer 1,5kOhm? Sind das die einzigen die du da hast?!

Also ich komm auf 280 Ohm und das ist schon sehr vorsichtig gerechnet!
Bei 1,5kOhm wirst du wohl kaum was sehen... versuchen kannst du es aber.
Sonst schaltest du halt pro LED 3 - 5 von deinen 1,5kOhm Widerständen parallel, dann kommst du immerhin in die Nähe des richtigen Werts.

pro-bot128
05.02.2011, 21:53
Ich hab sonst noch 470 Ohm und 1kOhm und noch viele andere...
Kann ich auch was nehmen, was in der Nähe ist? Also z.B: 250 Ohm.

TobiKa
05.02.2011, 21:57
Joa, oder auch die 470Ohm, dann machst du mal nichts verkehrt. Zum testen reicht es alle mal.
Du hast doch nen 5Volt Ausgang am Board, teste es einfach damit.

pro-bot128
05.02.2011, 22:04
Meinst du ohne Vorwiderstände? Du hast doch gesagt mit

TobiKa
05.02.2011, 22:05
Ja natürlich mit!

pro-bot128
06.02.2011, 06:06
Jetzt habe ich ein einfaches Programm geschrieben, dass ein Segment(Punkt) aufleuchten lässt. Nun habe ich Pin 1 vom Display an Arduino 5V und den Punkt mit 470Ohm Vorwiderstand angeschlossen. Nun erwirke ich aber das Gegenteil: Der Pin 13 wird ja auch über die L LED sichtbar gemacht. Wenn am Anfang des Programmes die L LED noch nicht leuchtet, kurz: der Pin auf LOW ist, dann leuchtet das Segment, aber wenn der Pin HIGH ist, leuchtet es nicht. Ist da doch was falsch?

Searcher
06.02.2011, 07:51
Zeige uns doch bitte einen Plan der jetzigen Schaltung mit den Vorwiderständen und in dem man auch erkennen kann, in welche Richtung die Leuchtdioden eingebaut sind, also mit innerer Beschaltung des Displays. (Bitte keine Datenblattverlinkung)

HIGH und LOW werden an den µC Portpins durch Spannungspegel dargestellt. Welche Spannung bedeutet bei Dir HIGH und wieviel Volt LOW - ungefähr?

Gruß
Searcher

TobiKa
06.02.2011, 09:00
@Searcher
Das wurde doch schon geklärt.


Wenn am Anfang des Programmes die L LED noch nicht leuchtet, kurz: der Pin auf LOW ist, dann leuchtet das Segment, aber wenn der Pin HIGH ist, leuchtet es nicht. Ist da doch was falsch?
Ja dann ist doch alles richtig! Hab doch weiter obene schon geschrieben das du einen Pin Low setzen musst, damit das Segment leuchtet.

pro-bot128
06.02.2011, 09:07
Ähm, ihr bringt mich durcheinander...
Wenn man einen Pin auf LOW schaltet, ist das Segment an, und wenn man einen Pin auf HIGH schaltet ist es aus, oder was?

TobiKa
06.02.2011, 09:09
Zum letzten mal, ja genau so ist es!!

pro-bot128
06.02.2011, 09:18
Is ja gut, ich bin ein Anfänger!
Danke erstmal!

TobiKa
06.02.2011, 09:20
Ja, nur finde cih fängst du falsch an.
Dir fehlen die allereinfachsten Grundlagen.

Searcher
06.02.2011, 11:12
@Searcher
Das wurde doch schon geklärt.
@TobiKa: Ja, hatte ich schon gesehen aber das Gefühl, daß pro-bot128 nicht wirklich verstanden hat, wie sein Aufbau funktioniert und wenn er mal 'ne Zeichnung von dem was er aufgebaut hat macht und die Fragen beantwortet, wird es ihm vielleicht klarer.


Zeige uns doch bitte einen Plan der jetzigen Schaltung mit den Vorwiderständen und in dem man auch erkennen kann, in welche Richtung die Leuchtdioden eingebaut sind, also mit innerer Beschaltung des Displays. (Bitte keine Datenblattverlinkung)

HIGH und LOW werden an den µC Portpins durch Spannungspegel dargestellt. Welche Spannung bedeutet bei Dir HIGH und wieviel Volt LOW - ungefähr?
@pro-bot128: Mach's mal und mach Dir klar welche Spannungen bei HIGH und LOW an den Segment LEDs anliegen. Wenn noch Fragen -> Schaltplan posten.

Gruß
Searcher

TobiKa
06.02.2011, 11:17
Ja, hatte ich schon gesehen aber das Gefühl, daß pro-bot128 nicht wirklich verstanden hat, wie sein Aufbau funktioniert
Ja da magst du recht haben, deshalb der letzte Satz in meinen letzten Post.

Viele denken das High = an und Low = aus ist... irgendwo gabs hier mal ne astreine Erklärung, habs vorhin aber nicht gefunden.