RechenKette mit Arduino

Hallo,

Ich versuche eine Rechenkette mit Arduino durchzuführen allerdings kriege ich andere Angaben als erwartet.

so wie aus ein Casio Rechner möchte ich die Reihenfolge.

Value0: Voltage at A0 ======>> 4.95V

Value1: Value0/ Faktor. ( 4.95/ 7.5) ======>> 0.66

Temp0: Value1 + 20 log (30). (29.54 + 0.66) ======>> 30.20

Temp1: (Temp0*Temp0)/50/0.001)

Final: 10 log(Temp1)

Kann jemand helfen. Danke im Vorraus.

Deutsch_Serial_Debug.ino (1.1 KB)

Value0: Voltage at A0 ======>> 4.95V
analogReference(INTERNAL);
Value0=((Vin + 0.5) * 5.0 / 1024.0);

Das passt doch nicht zusammen!
Oder?

Ich habe keine Ahnung was du da tust, oder vorhast, noch nicht mal was falsch laufen soll.

Ich habe den Referenzspannung geändert es soll Extern sein.

die Eingangsspannung am Arduino A0 soll zwischen um 5 Volts sein.

Stell dir vor ein Signalgenerator speist ein Signal (valuex) durch einen Dämpfer (20log(1/30)) danach ist ein umwandler und Verstärker 7.5x

Ich will das Signal vom Generator messen.

zum Beispiel 0.66Vrms vom Generator dann kommt Dämpfung (20log1/30) danach Verstärkung um 7.5 und alles kommt an Arduino.

Das ist falsch:

int Factor = 7.5;

cprogressing:
Value0: Voltage at A0 ======>> 4.95V

Das paßt nicht zur internen Referenz von 1,1 V:

analogReference(INTERNAL);

Danke es soll float sein.

so bekomme ich die Werte, die Reihenfolge sind vertauscht!!

Vin: 4.95
Value0: 0.66
Value1: 30.20
Temp0: 18243.80
Temp1: 42.61
Final: 1014.00

so bekomme ich die Werte, die Reihenfolge sind vertauscht!!

Vin: 4.95

Wenn du statt

       Serial.println(Vin);
       Serial.println("Vin:");

sowas schreibst

      Serial.print ("Vin : "); Serial.println(Vin);

kommst du deiner gewünschten Darstellung wohl näher.
Das erste gibt einen Text aus, das zweite den Wert einer Variablen.

Korrigiere alles entsprechend den bisherigen Hilfen und poste es hier in Code-Tags (verwende das </> _Symbol oben links)

Wenn dann immer noch etwas anders ist als erwartet, kann man weitersehen.
Aber was ist eigentlich das Problem?

zunächst herzlichen Dank für Ihre Geduld und Mühe.

Es geht mir darum jetzt ein kette von Rechnungen and Formeln durchzuführen so wie wenn ich ein Casio Rechner für den Zweck verwende.

also die Rechen Reihenfolge egal die Ausgabe am Terminal aber die Werte sollen den Variablen entsprechen.

zum beispiel habe ich mir so vorgestellt

die folgende Formeln ein zugeben und die Antwort entsprechend zu bekommen:

Value0: Voltage at A0 ======>> 4.95V

weil ich am A0 eine Spannung von 4.95 angeschlossen habe.

Erste Formel:

Value1: Value0/ Faktor. ( 4.95/ 7.5);// Antwort soll ==>> 0.66´

Zweite Formel:

Temp0: Value1 + 20 log (30). (29.54 + 0.66);// Antwort soll ==>> 30.20

Dritte Formel:

Temp1: (Temp0*Temp0)/50/0.001);// Antwort soll ==>> 30.20

usw.

Final: 10 log(Temp1)

Hier sind meine Angaben zum Arduino

Vin =analogRead(A0);
      Value0=((Vin + 0.5) * 5.0 / 1024.0);
      Value1= (Value0 /Factor);//
      Temp0 = (Value1 + 29.542);
      Temp1= ((Temp0*Temp0)/load/0.001);
      Final=10*(log10(Temp1));

und hier sind die Ausgaben (allerdings stimmen nicht die Formeln überein!):

Vin:
4.95 das ist OK.

Value0: das soll für Value1 sein!!!
0.66

Value1: das soll Temp0 sein!!
30.20

Temp0:
18243.80

Temp1:
42.61

Final:
1014.00 ???

soll dass richtig sein?

soll dass richtig sein?

KA..
Du hältst dein modifiziertes Programm geheim.
Du hältst deine externe Referenz geheim

:slight_smile: ist das ein Witz?

ich habe 5 Volts am Referenz extern angeschlossen und

4.95V am AnalogEingang A0 angeschlossen

solltest Du das ganze Program zum patentieren brauchen, gerne schenke ich es dir!
Gib mir halt ein Kopie vom rafinierten Korrektur.

/* 
*/
  
    float Vin;
    float Value1;
    float Value0;   
    float Factor=7.5;
    double Temp0;
    double Temp1;
    double Final;
    int pause = 500;
    int load =50;
    
    
    void setup()
        {
          
    analogReference(EXTERNAL);// 5 volt angeschlossen
    Serial.begin(9600);
    
     }
    
    void loop() 
    
    {
      
      Vin =analogRead(A0);
      Value0=((Vin + 0.5) * 5.0 / 1024.0);
      Value1= (Value0 /Factor);//
      Temp0 = (Value1 + 29.542);
      Temp1= ((Temp0*Temp0)/load/0.001);
      Final=10*(log10(Temp1));
      
       Serial.println(Vin);
       Serial.println("Vin:");     
       delay(pause);
       
       Serial.println(Value0);
       Serial.println("Value0:");
       delay(pause);
           
       Serial.println(Value1);
       Serial.println("Value1:");
       delay(pause);    
       
       Serial.println(Temp0);
       Serial.println("Temp0:");
       delay(pause);
                 
       Serial.println(Temp1);
       Serial.println("Temp1:");
       delay(pause);
               
       Serial.println(Final);
       Serial.println("Final:");
       delay(pause); 
       
    }

Ich habe es jetzt nicht im Detail nachvollzogen. Aber du kannst doch nach jedem Rechenschritt ganz einfach den Inhalt der Variablen seriell ausgeben lassen und dann jeweils mit der Taschenrechner-Rechnung vergleichen.

Und zum Testen könntest du statt den AD-Wandler einzulesen auch einen fixen Wert übergeben und mit diesem die Rechnung durchführen. Wenn mit einer Beispielzahl schon andere Werte herauskommen steckt ein Fehler in der Rechnung.

viele Grüße Stefan

Danke Stefan, einen guten Tip!

Ich habe alles uncommented außer Vin.
Ich bekomme 1014.00
Für Value0
0.00
Für Value1 auch
0.00
Temp0
30.20
Als ich Temp0 und Temp1 uncommented, sind die Werte so vertauscht:
Temp0:
18243.80
Temp1:
30.20
Nach dem ich Final uncommented, bekame ich für
Final:
42.61

Stellt euch es gibt diese Formel ((X(Y*Z)/N)^T)/SL. als Beispiel!
wie zerlegt man es und gibt den Arduino die Teile so das Arduino rechnet wie ein Rechner.
Allgemein menschen logic!

Ich habe ein Bild das die Formel darstell Ich suche die lösung für N!

Ich versuche ein seit einem Monat einen Formel oder eine Gleichung zu basteln um den Wert mit Arduino für N herauszufinden.

Im Netz youtube tutorials es gibt nur ganze Videos über X+Y, oder a+b=c.

Hi

Ich werde aus Deinem Geschreibsel nicht wirklich schlau - und wenn Du jetzt schon mit Patenten anfängst, solltest Du Dir ein anderes Hobby, oder ein dickeres Fell zulegen!

Nun denn - gehen wir zurück in die 3.te Klasse - und schauen, in welcher Reihenfolge wohl die Klammern aufgelöst werden - muß ich dabei anwesend sein, oder bekommst Du Das - rein patentrechtlich - selber hin?

Fange an, Deinen Kram zu debugen - Serial.print überall hin, wo irgend ein Ergebnis zusammen kommt und PRÜFEN, ob Das mit Dem übereinstimmt, was Dein Casio so sagt.
Ja: Glückwunsch - Arduino und Casio können wohl rechnen.
Nein: Irgendwas läuft schief - ich sehe schwarz für das Patent.

MfG

postmaster-ino:
Hi

Ich werde aus Deinem Geschreibsel nicht wirklich schlau - und wenn Du jetzt schon mit Patenten anfängst, solltest Du Dir ein anderes Hobby, oder ein dickeres Fell zulegen!

Nun denn - gehen wir zurück in die 3.te Klasse - und schauen, in welcher Reihenfolge wohl die Klammern aufgelöst werden - muß ich dabei anwesend sein, oder bekommst Du Das - rein patentrechtlich - selber hin?

Fange an, Deinen Kram zu debugen - Serial.print überall hin, wo irgend ein Ergebnis zusammen kommt und PRÜFEN, ob Das mit Dem übereinstimmt, was Dein Casio so sagt.
Ja: Glückwunsch - Arduino und Casio können wohl rechnen.
Nein: Irgendwas läuft schief - ich sehe schwarz für das Patent.

MfG

[EDIT] Teile gelöscht. Uwe Moderator[/EDIT]

postmaster-ino:
Hi

Ich werde aus Deinem Geschreibsel nicht wirklich schlau
...

Aber auch das aneinanderreihen von Buchstaben, daß Da ein Sinn heraus kommt, wird Dir Mal zugänglich gemacht werden.

Mit den paar Klammern bereits weiter gekommen?

MfG

Mein Patent gerede war auf Antwort Combie's Fragen
"KA..
Du hältst dein modifiziertes Programm geheim.
Du hältst deine externe Referenz geheim"

Here mehr für dich

5 Teile!

[EDIT] 5 Link zu Sovietische Propagandafilme zu WK2 gelöscht. Uwe Moderator[/EDIT]

cprogressing:
Mein Patent gerede war auf Antwort Combie's Fragen
"KA..
Du hältst dein modifiziertes Programm geheim.
Du hältst deine externe Referenz geheim"

Here mehr für dich

5 Teile!

Jetzt ist ein Admin gefragt.

urdaino:
Jetzt ist ein Admin gefragt.

Jetzt! Aber nicht gerade als er Feur angelassen!!!! Bist du sein Komplize oder Advokat???

Hi

cprogressing:
Jetzt! Aber nicht gerade als er Feur angelassen!!!! Bist du sein Komplize oder Advokat???

Ich sehe ein: Nicht Jeder kann mit Deutsch als Muttersprache geboren werden - aber wenn man schon in einer anderen Sprache versucht sich mitzuteilen, dann macht man Das doch, hoffentlich, mit Worten der gewählten Sprache, oder?

Das Forum hat so viele Sprachen parat - nutze Die, Die Dir am nächsten kommt.
Sollte Das wider Erwarten immer noch Deutsch sein: lasse (viel!!) mehr Aufmerksamkeit in Deine Post's fließen.
Den Kram, Den Du hier so absonderst, versteht doch kein (mit der deutschen Sprache aufgewachsener) Mensch ...

Ich möchte Dir ja ganz gerne helfen - aber weder verstehe (so vom Sinn her - teilweise aber auch von der Wortwahl oder Deren Reihenfolge) ich Dein Problem, noch sehe ich, daß Dir an der Lösung irgendwie gelegen ist.

Was Dein Casio so Alles kann - interessiert hier wirklich nur am Rande.
Und glaube mir: So ziemlich das Einzige, was so ein Arduino wirklich kann, ist Rechnen.
Du musst Ihn halt nur in der richtigen Reihenfolge oder Klammerung (kann Der auch) füttern.

Nun Du wieder

my_xy_projekt:
Der Inhalt wurde von mir nachträglich gelöscht.
Beschimpfungen und Vergleiche dieser Art, werden von mir nicht unterstützt.

Danke für dein Antwort.

Erklärung:

Ich habe Combies Fragen so verstanden als er meint ich zeige nur ein Teil mein Code und verheimliche den Rest, damit niemand es nimmt oder kopiert.

Ich habe das vor Witz verstanden und ihm geantworted auch als Spaß wenn mein Code so wichtig wäre konnte er ihenn nehmen und patentieren. Un den Code beigebracht.

die Einmischung und die Verbale Angriff an mir und meiner Person hier vom solchem Typ werde ich vom Forum nicht einfach gehen lassen!

Es steckt in ihm so viel was gerährliches, wenn er im ein OPEN SOURCE international Wissenaustasch Forum so was äußert!

Nicht ich der die Vorurteile, Stereotypen etc. als Trieb für so ein Haltung und Angriff auf mich mit Beleidigungen und Schimpf Bemerkungen angefangen hat!

.... häh?

Sorry, aber bitte bitte - schreib den Kram in Deiner Muttersprache (ich hoffe immer noch: nix Deutsch) und lassen den Kram von Google oder sonst wem übersetzen.

Wechstabenverbuchsler - ok, kann man mit leben - aber Das ist hier ja eher Zwang, als Irrtum.

MfG