Hi, also ich hab folgendes Problem: ich habe ein Rechtecksignal anliegen, dessen Frequenz sich in abhängigkeit einer Geschwindigkeit (vom Auto) ändert. Ich hab mir jetzt ausgerechnet, dass wenn ich die Impulse pro 0,94 Sekunden zähle, entsprechen diese genau der gefahrenen Geschwindigkeit (z.B.: 100km/h enstprechen 100Impulsen pro 0,94 Sekunden. Somit möchte ich mir genau die Impulse auf diese Messdauer auf drei 7-Segmentanzeigen anzeigen lassen und habe somit die Geschwindigkeit. Ich bin leider nicht sonderlich bewandert, was solche Schaltungen angeht, deswegen würde ich um eure hilfe bitten ;-) Danke im Vorraus für eure Antworten, lg Martin
Schon mal die Suchfunktion benutzt? http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige Das sollte reichen um das Prinzip zu verstehen. Ist wirklich sehr simpel :)
Ja ich hab schon gesucht... Es geht nicht so sehr um die 7-Segmentanzeige, sondern um die Tatsache, dass die Messdauer ein wenig komisch ist und ich nicht weiß, wie ich die Impulse zählen soll und diesen Wert dann an die Anzeige zu übertragen.
Martin S. wrote: > dass die Messdauer ein wenig komisch ist Ist auch nicht komischer als eine Messdauer von genau 1 Sekunde. Das kommt nur dir seltsam vor, weil wir Menschen eine Vorliebe für ganze Zahlen haben. Dem µC ist das aber prinzipiell Wurscht. Alles entscheidend: kannst du mit einem Timer mit geeignetem Vorteiler diesen Zahlenwert (unter Umständen auch in mehreren Etappen) genau erreichen oder nicht. > und ich nicht weiß, wie ich die > Impulse zählen soll und diesen Wert dann an die Anzeige zu übertragen. Schau dir mal das Datenblatt deines µC an. Wenn du einen AVR benutzts, dann wird es dort einen Timer geben, den man so konfiguerieren kann, dass er bei Auftreten eines Pulses an einem externen Eingang von sich aus hochzählt. Alles was du dann noch brauchst, ist deine Zeitbasis von 0.9irgendwas Sekunden, die du mit einem anderen Timer realisierst und der dir genau in diesen Intervallen einen Interrupt auslöst. Im Interrupt dann den Zählwert vom ersten Timer holen und du hast deinen Messwert. Wenn das allerdings dein erstes µC Projekt ist, dann rat ich dir zunächst mal mit kleineren Brötchen anzufangen und das ganze in Etappen zu machen.
Ok danke, das hilft mir ein bisschen weiter. Ja das ist mein erstes Projekt und ich blick noch nicht so wirklich durch, deswegen meine primitiven Fragestellungen ;-) Es geht eben um eine Geschwindigkeitsanzeige, deswegen wüsste ich jetzt nicht wie ich mal kleiner anfangen könnte, da ich nicht so wirklich den Zugang zu solchen Sachen habe, ich beschäftige mich normalerweise mit Beleuchtungstechnik. Aber ich werde das mal so versuchen wie ich mir das jetzt vorstellen könnte und falls noch Fragen meinerseits auftreten sollten, werde ich mich wieder melden.
Martin S. wrote: > Es geht eben um eine Geschwindigkeitsanzeige, deswegen wüsste ich jetzt > nicht wie ich mal kleiner anfangen könnte, Led an µC Ausgang hängen. Einschalten, Ausschalten, Blinken lassen :-) Dabei lernst du die ersten absolut notwendigen Grundlagen Dann soll das Blinken nicht mehr zufällig mit irgendeiner Frequenz sein, sondern es soll sich genau eine bestimmte Frequenz einstellen. Das lehrt dich den Umgang mit einem Timer für eine Zeitbasis. Einzelne 7-Segment anhängen und, von mir aus im Sekundentakt hochzählen. Wieder gibts dabei ein paar neue Grundlagen und das bisher Erlernte wird vertieft. Vorteil: Ob du alles richtig hast, kannst du dann mit einer Stoppuhr relativ leicht überprüfen (bzw. rausbekommen, dass ein Quarz auch nicht so genau geht, wie man sich das landläufig so vorstellt und was man dagegen tun kann) Mehrere 7-Segment im Multiplex ansteuern und vielleicht diesmal eine richtige Uhr (mit Minuten und Sekunden) programmieren. Das neu hinzugekommene ist der Multiplex, also eine Technik um mehrere 7-Segment zu betreiben Dann vielleicht mal einen Ereigniszähler. Also externen Eingang (zb. über Taster) und der µC zeigt auf der 7-Segment die Anzahl an gemessenen Ereignissen an. Und dann die Kombination aus allem: Ereigniszähler über einen bestimmten Zeitraum. Dein eigentliches Ziel Dürfte schon ein paar Wochen dauern, bis du soweit bist. Wenn du fleissig bist und gute Fortschritte machst, können es auch ein paar Tage sein. Aber wenn du bei 0 anfängst, gibt es viel zu lernen. Ein paar Stunden oder ein Wochenende für sowas vorzusehen ist völlig unrealistisch.
Karl heinz Buchegger wrote: > Martin S. wrote: Im Interrupt ... den > Zählwert vom ersten Timer holen und du hast deinen Messwert. Hallo, kann man einen Timer "direkt" auslesen, oder muss man stets eine "eigene Variable" anlegen, die man erhöht ?
Daniel W. wrote: > Karl heinz Buchegger wrote: >> Martin S. wrote: Im Interrupt ... den >> Zählwert vom ersten Timer holen und du hast deinen Messwert. > > Hallo, > kann man einen Timer "direkt" auslesen, oder > muss man stets eine "eigene Variable" anlegen, die > man erhöht ? Du kannst den Timer auch direkt auslesen. Sonst wäre die Verwendung als Zähler für externe Ereignisse ein wenig witzlos.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.