INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Werte sortieren
26.11.2020, 11:18
Beitrag #1
Werte sortieren
Hallo,

ich würde gerne meine Ausgelesenen Werte im Seriellen Monitor aus einem Array sortiert anzeigen lassen, wie kann ich das realisieren und kann mir jemand ein Beispiel nennen?

Code:
//-------- Bibliotheken --------//
#include <Wire.h>
#include <Adafruit_INA219.h>              //Version 1.0.9
#include <Adafruit_BusIO_Register.h>      //Version 1.3.2


//-------- Strommesser INA219 --------//
Adafruit_INA219 ina219;


//-------- Millis/Zeiten --------//
unsigned long vorherigeZeit1 = 0;
unsigned long aktuelleZeit1;
const long interval1 = 3000;
unsigned long vorherigeZeit2 = 0;
unsigned long aktuelleZeit2;
const long interval2 = 300;



//-------- Start der Setup-Void --------//
void setup(void)
{
  //-------- Initialisierung und Start des seriellen Monitors und des LCD-Displays --------//
  Serial.begin(115200);
  //-------- Start des Programms und des INA219-Strommesssensors --------//
  while (!Serial)
  {
    delay(10);
  }
  uint32_t currentFrequency;
  Serial.println("Programm-Start!");
  if (! ina219.begin())
  {
    Serial.println("Kein INA219-Strommesssensor gefunden...");
    while (1)
    {
      delay(10);
    }
  }
  Serial.println("Der INA219-Strommesssensor gibt folgende Werte aus:");
}

void loop(void)
{
  const int Messungen_Strom = 10;                // Anzahl Messungen - Strom
  float Array_Strom[Messungen_Strom];             // Array für Messwerte - Strom
  float Durchschnitt_Strom = 0;                  // Durchschnittswert - Strom
  float Strom_mA = 0;
  Strom_mA = ina219.getCurrent_mA();



  aktuelleZeit2 = millis();
  {
    if (aktuelleZeit2 - vorherigeZeit2 >= interval2)
    {
      vorherigeZeit2 = aktuelleZeit2;

      for (int i = 0; i < Messungen_Strom; i++)
      {
        Array_Strom[i] = ina219.getCurrent_mA();
        Serial.print("Wert 1: ");
        Serial.println(Array_Strom[0]);
        Serial.print("Wert 2: ");
        Serial.println(Array_Strom[1]);
        Serial.print("Wert 3: ");
        Serial.println(Array_Strom[2]);
        Serial.print("Wert 4: ");
        Serial.println(Array_Strom[3]);
        Serial.print("Wert 5: ");
        Serial.println(Array_Strom[4]);
        Serial.print("Wert 6: ");
        Serial.println(Array_Strom[5]);
        Serial.print("Wert 7: ");
        Serial.println(Array_Strom[6]);
        Serial.print("Wert 8: ");
        Serial.println(Array_Strom[7]);
        Serial.print("Wert 9: ");
        Serial.println(Array_Strom[8]);
        Serial.print("Wert 10: ");
        Serial.println(Array_Strom[9]);
        Serial.println("");
      }
    }
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.11.2020, 11:42
Beitrag #2
RE: Werte sortieren
Du hattest doch gerade einen Thread zum Sortieren. Warum mjachst Du da nochmal einen neuen auf?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.11.2020, 16:35
Beitrag #3
RE: Werte sortieren
Hallo,

1. Die Werte, die Du ausgeben willst, schreibst Du im Arduino in ein array.
2. Wenn das Feld voll ist (oder die Messung beendet ist), sortierst Du das array. Suche mit der Suchmaschine Deiner Wahl mal nach "Sortieralgorithmen", da findest Du jede Menge Muster. Ich bevorzuge seit langer Zeit den quicksort-Algorithmus, der ist gut schnell und braucht keine Kopie des ursprüngliche Feldes, was vorteilhaft gerade für die Arduinos mit ihrem doch oft knappen RAM ist. Ich habe einen Code nur in Pascal, für Arduino habe ich quicksort noch nicht gebraucht. Aber die Umsetzung Pascal -> C ist denkbar einfach für so eine Funktion (30 Zeilen), dafür brauchst Du noch nicht einmal Grundkenntnisse in Pascal. Kann ich Dir gerne posten. Du findest aber bestimmt auch was für C im Netz.

3. Dann gibst Du das Feld aus.

Gruß
GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  String in einzelne Werte teilen Manny 34 3.000 24.04.2021 15:12
Letzter Beitrag: Tommy56
  Werte von IR-Abstandssensor glätten Tonio 15 1.494 29.03.2021 07:54
Letzter Beitrag: SpaghettiCode
  char return Werte sind komplett falsch flowmotion 8 1.457 12.02.2021 22:27
Letzter Beitrag: Tommy56
  Werte im Display per Taster wechseln bmxruler 8 1.107 27.01.2021 11:22
Letzter Beitrag: bmxruler
  Float Werte im EEPROM speichern Kein Progammierer 10 1.659 22.12.2020 21:20
Letzter Beitrag: Tommy56
  Float-Werte mit Bubble-Sort sortieren süffi1234 2 746 25.11.2020 16:36
Letzter Beitrag: süffi1234
  Werte im Sketch in Variablen speichern Bitklopfer 4 1.292 06.09.2020 10:25
Letzter Beitrag: Bitklopfer
  Serielle Werte in String einlesen um damit zu rechnen 425t 2 1.304 26.08.2020 13:19
Letzter Beitrag: 425t
  NodeMCU steuert Nano und sendet Werte an Maria DB daniel_hh 11 2.297 15.07.2020 15:26
Letzter Beitrag: Tommy56
  Array Werte in einen String ChriscoGT 3 1.325 12.05.2020 15:41
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste