-         

Ergebnis 1 bis 9 von 9

Thema: Alkoholgehalt messen einfache Rechnung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    29
    Beiträge
    380

    Alkoholgehalt messen einfache Rechnung

    Anzeige

    Servus ich will den Alkohol Gehalt in einem Gefäß ermitteln.
    Hierzu habe ich ein Gefäß in dem am Boden ein Drucksensor eingebaut ist und oben im Deckel ein Distanzsensor.
    Temperatur wird im moment vernachlässigt.

    Ich habe dann mit hilfe meines Buches die Formel PA/(g*h)=rho versucht in einem C Programm einzuarbeiten und mit dem PC zu testen. Jedoch kommt da immer der selbe Wert raus egal was ich eingebe:
    Code:
    /*bspl0001.c*/
    #include <stdio.h>
    int main(void){
    float x,y;	
    printf("\n\t2.Rechenprogramm\n");
    printf("\nBitte x eingeben in mbar:");
    scanf("%f",&x);
    printf("Bitte y eingeben in m;");
    scanf("%f",&y);
    printf("\n (%f*100)/((%f*9,81) ist %f",x,y,(x*100)/(y*9,81));

    Woran kann das liegen?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    Hi,
    kann C zwar nicht, möchte mich aber Einarbeiten.

    Laut http://www.rn-wissen.de/index.php/C-...abe-Funktionen läßt printf nur Standartdatentypen zu. Du versuchst innerhalb von printf zu rechnen. Könnte es daran liegen?

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    29
    Beiträge
    380
    also in meinem Buch ist es eben genauso abgedruckt nur die letzte zeile habe ich verändert und anstelle deren ihrer rechnung meine eingesetzt somit müsste es ja auch funktionieren. hat ja mit ihrem beispiel auch funktioniert.

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.410
    Blog-Einträge
    101
    um den Fehler einzugrenzen bzw auszuschließen, könntest Du ja mal die Rechnung vor dem printf machen. Vielleicht könntest du auch das Buchbeispiel 1:1 (mit allen Leerzeichen) hier posten...
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Der Fehler ist ein Komma statt eines Punktes.
    MfG
    Stefan

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    29
    Beiträge
    380
    Danke dass wars. noch ne kurze frage wie sieht es eigentlich mit nem atmega aus mit analog werten? wie kann ich die einlesen und in welchem datentyp liegen die mir dann vor real oder int oder was anderes?

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von BurningBen
    Registriert seit
    02.09.2008
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    842
    die kannst du über die adc-pins einlesen, Code dazu habe ich grade nicht da, kannst du mit den Datenblättern aber einfach zusammenbasteln.

    Dann bekommst du einen int-wert zwischen 0 und 1024. (abhängig von der auflösung des adcs auch mehr oder weniger)

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    29
    Beiträge
    380
    ja ich hab nur nen controller mit nem 10bit analog digital wandler somit stimmen 1024 bei mir.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Zitat Zitat von BurningBen
    ... über die adc-pins einlesen ... Dann bekommst du einen int-wert zwischen 0 und 1024 ...
    Zitat Zitat von xbgamer
    ... controller mit nem 10bit analog digital wandler somit stimmen 1024 bei mir.
    Das mag nun etwas pingelig klingen, aber die Controler sind so pingelig: der Messwert vom ADC bei 10 Bit Auflösung ist maximal 1023. Zusammen mit dem Wert Null sind das dann 1024 Werte. Wäre der maximale Wert 1024, dann wär schon - und nur - das elfte Bit gesetzt (das nicht existiert *ggg*). Also bitte: vertut euch nicht.
    Ciao sagt der JoeamBerg

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •