Hallo miteinander, ich hänge mit meinem AD Konverter fest. Ich möchte die daran anliegende Spannung in Volt auf ein LCD ausgeben. Vom ADC erhalte ich ja Werte von 0 bis 1024. Diese kann man ja ohne Probleme in Volt umrechnen. Nur: Die Hardware macht das irgendwie nicht mit... Der lässt die Nachkommastellen weg und gib nur die vordere Zahl aus... (ATmega8, mit Bascom programmiert).. Wie mach ich das? Dass beim ADC-Wert 512 2.5V aufm Display steht?? Herzliche Grüsse Mario
das kommt schliesslich darauf an, wie du das skalierst. Hat mit Hardware hertlich wenig zu zun, das ist auschliesslich Softwaresache. Am besten rechnest du Ganzzahl-Arithmetik, das Komma nur bei der Ausgabe berücksichtigen. In deinem Fall: A2D-Wert*5000/1024 -> ergibt bei A2D=512 2500. Der Rest ist Ausgabesache.
Ja, die mV hab ich auch hingekriegt. Nur: Wie kann ich dem Typen sagen, er soll die Zahl zerlegen? Ich brauche ja die zwei und die fünf separat.... Mit einem Komma dazwischen.. Gibts da einen Hochbefehl? Gruss Mario
Das progst du in deiner Ausgaberoutine. du sagst einfach das immer das 3. letzte Zeichen ein Komma ist.
dafür gibts mehrere Möglichkeiten, mit der genauen Syntax von Bascom kenne ich mich aber nicht aus: -Ausgabe des Ergebnisses/1000 //2 -Ausgabe eines Kommas oder Punkt //2. -Ausgabe des Divisionsrestes //2.500
Jetzt müsste man nur noch den Divisionsrest und die zwei trennen können....
Mein Gott, so schwer ist das doch nicht... Dein Ergebnis:2500 Das teilst du durch 1000, ergibt 2, die zeigst du an. Als nächstes ein Komma Dann die Modulo-Division: 2500%1000 ergibt 500, ausgeben, fertig.
Eeehm, 2500 durch 1000 gibt 2.5. Das rundet man auf, gibt 3 Oh, Modulo.. Hatten wir mal in der Schule, grad mal gucken , wie das geht.. :)
Ah, 2500=500 mod(1000) Stimmt das so? Oder: 17=2 mod(3) Aber wie geht das mit den 2500 durch 1000? Wieso gibt das 2 und nicht 3? Und: Wie kriege ich es hin, dass, wenn ich z.B. 21V anzeigen möchte, dann muss ja das Komma auch eine Stelle nach rechts rutschen, als wenn ich nur einstellig messen möchte.. Macht es das automatisch? Gruss und vielen Dank Mario
Ok, das mit dem Modulo hat geklappt!!! A=2500 mod 1000 für den Rest. Nur: Sobald die Zahl vor dem Komma zweistellig wird, verschiebt er das Komma nicht... Man sieht nur die erste Stelle der Zahl... Kann man das durch Kommaverschieben lösen, oder soll man mehr Platz einräumen? Herzlichen Gruss Mario
2500/1000 = 2 + Rest !!! Du musst schon etwas selbst überlegen, wie du dein Programm programmierst. Oder probier es einfach aus.
In ASM könnte ich dir ja helfen (Anhang), aber in BASCOM nicht... ...
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.