Frequenz/ Drezahlmesser

Guten Tag liebe Community,

ich habe vor mir aus einem Arduino Nano und ein SSD1306 I2C Display einen "Drehzahlmesser" zu bauen. Die Drehzahl möchte ich mit der Frequenz der Stromimpulse messen. (die Frequenz, also 1000-10000 Impulse pro Minute = soll in Umdrehungen pro Minute ausgegeben werden). Die Grundzüge des Programms habe ich mit Visuino erstellt nur leider habe ich jetzt 2 Probleme:

  1. Auf dem Display zeigt es mir die Drehzahl in der Frequenz also Impulse pro Sekunde an...kann mir da jemand helfen wie ich dies auf Impulse pro Minute umrechnen kann? Mit multiply Value hab ich es versucht aber da hat es mir dann nichts mehr angezeigt?

  2. Das Display zeigt mir die Drehzahl zweizeilig an..also oben die alten und unten wird dann immer die neue zeit, also die Aktualisierung angezeigt. Ich hätte gern aber nur eine Zeile die sich immer aktualisiert. Wie bekomme ich das hin?

Folgend der Code meines bisherigen Programmes:

#define VISUINO_ARDUINO_NANO
#define _MITOV_DISPLAY_SSD1306_I2C

#include <OpenWire.h>
#include <Mitov.h>
#include <Mitov_FormattedSerial.h>
#include <Wire.h>
#include <Mitov_Basic_I2C.h>
#include <Mitov_Display_SSD1306_I2C.h>
#include <GraphicsFont5x7.h>
#include <Mitov_FrequencyMeter.h>

// Arduino Board Declarations

namespace BoardDeclarations
{
Mitov::ArduinoDigitalOutputChannel ArduinoDigitalChannel_11( 11, false );
} // BoardDeclarations

// Declarations

namespace Declarations
{
Mitov::DisplaySSD1306I2C DisplaySSD13061 = Mitov::DisplaySSD1306I2C( 128, 64, Mitov::GraphicsFont5x7 );
Mitov::ArduinoSerialInput<Mitov::DisplaySSD1306I2C, &DisplaySSD13061, float> DisplaySSD13061_InputFloat_1;
Mitov::FrequencyMeter FrequencyMeter1;
} // Declarations

// Type Converters

namespace TypeConverters
{
Mitov::Convert_BinaryToClock Converter0;
} // TypeConverters

//The setup function is called once at startup of the sketch
void setup()
{
 Wire.begin();
 BoardDeclarations::ArduinoDigitalChannel_11.OutputPin.Connect( TypeConverters::Converter0 );
 TypeConverters::Converter0.OutputPin.Connect( Declarations::FrequencyMeter1.InputPin );
 analogReference( INTERNAL );
 Declarations::DisplaySSD13061.Contrast = 0.91748046875;
 Declarations::DisplaySSD13061.Text.Size = 4;
 Declarations::DisplaySSD13061.Text.BackgroundColor = Mitov::tmcBlack;
 Declarations::FrequencyMeter1.OutputPin.Connect( Declarations::DisplaySSD13061_InputFloat_1.InputPin );

 OpenWire::Component::_SystemInit();
}

// The loop function is called in an endless loop
void loop()
{
 OpenWire::Component::_SystemLoop();
}

Danke im Voraus!

MFG Robin

Bitte für den Sketch Code-Tags verwenden.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Das kannst du auch nachträglich machen.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar.

Impulse pro Sekunde an...kann mir da jemand helfen wie ich dies auf Impulse pro Minute umrechnen kann

Ist jetzt nicht Dein Ernst, oder? Überleg mal, wieviele Sekunden eine Minute hat, vielleicht hilft das.

Ansonsten ist mir Dein Code ein Rätsel, da halt ich mich besser raus. Erstaunlich für mich, dass da überhaupt was läuft. Aber ist vielleicht auch Profi-C oder sowas, keine Ahnung :o

ja mein problem ist das ich bei dem code auch gerade nicht durchsehe da das mein erster versuch mit Visuino ist, da ich nicht genau wusste wie ich das display konfigurieren muss, dachte ich mir versuche ich es mal mit visuino wo vieles vorgegeben wird....
und ja ich weis das man das mal 60 rechne muss ;D aber wenn ich die variable mit 60 multipliziere zeigt das display nichts mehr an.

Tja, da muss ich passen. Obwohl, einen Tipp hab ich noch: selbst programmieren lernen :smiling_imp:

Ich vermute, der Autor dieses Sketches hat sehr viele Funktionen in die Librarys verpackt, damit der eigentliche Sketch übersichtlicher wird.
Daher solltest du dir die Libraries sehr genau ansehen. Evtl. musst du Anpassungen an den Libraries vornehmen.

FÜr Visuino gilt meiner Meinung nach:
Entweder ich komme mit der Funktionalität aus, und interessiere mich für den erzeugten Code gar nicht,
oder die Funktionalität reicht nicht, dann lerne ich Programmieren, und interessiere mich für Visuino nicht.

Den erzeugten Code nachträglich zu editieren macht m.M. nach keinen Sinn, und ist wohl von den Entwicklern des Visuino auch nicht so gedacht.

Hi, habe zwar genauso wenig Ahnung wie Du, jedoch hier was "Fertigs" von der Stange, wie man Zeilen auswählt:

http://blog.simtronyx.de/source_code/OLED_I2C_128X64_Adafruit.ino