Hallo Community, Für eine Schularbeit möchte ich einen Mikrocontroller (Atmega32) nutzen um eine Spannung zu messen. Um zu üben hab ich nun ein Drehpotentiometer wie in den Tutorials beschrieben an einen Adc-Pin angeschlossen. Den Code aus den Tutorials habe ich so angepasst, dass Avcc als Referenzspannung genommen wird! Aref habe ich über einen Kondensator an GND angeschlossen! Um den Messwert des ADC auszulesen habe ich noch ein LCD angeschlossen welches mir über die itoa() Funktion den Wert des Registers als String anzeigt! Soweit so gut. Wenn ich nun den Aufbau anschalte, und das Poti zugedreht habe wird korrekt der Wert 0 angezeigt. Ich drehe dann langsam auf Den andren Anschlag und der angezeigte Wert wandert auf 1023. Sobald ich nun aber zurückdrehe springt der Wert auf etwa 9200 und wird von diesem hohen Wert aus zurückgezählt. Auf 0 landet er aber nicht wieder, sonder eher zwischen 23 und 600. Interessanterweise wird die 1023 am rechten Anschlag weiterhin angezeigt, wenn ich ganz aufdrehe. Meine Frage ist nun ob jemand dieses Problem kennt, oder eine Idee hat welchen Fehler ich gemacht haben könnte, dass der ADC Werte größer 1023 anzeigt? Ich hoffe ich konnte einigermaßen Beschreiben was mein Problem ist. Vielen Dank für alle Hilfe Holger
Bleiben wohl noch alte Ziffern auf dem Display stehen ;) hans
Vermutlich werden die hinteren Stellen nicht wieder überschrieben, wenn danach eine Zahl mit weniger Stellen geschrieben wird. Wenn z.B. nach 1023 99 geschrieben wird, erscheint 9923. Schreib' mal nach der Zahl noch 3 Leerzeichen.
Oh man, dass kann ja garnicht wahr sein! Da hätte ich noch Tage damit verbracht! Vielen Dank euch beiden!
1 | sprintf( buff, "%4d", ADC ); |
Zeigt immer 4 Stellen an, oder mit Vornullen:
1 | sprintf( buff, "%04d", ADC ); |
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.