Servus
Franz

Forum zur gegenseitigen Hilfe für Hobby´s, Spass und Technik, im Raum Penzberg, Garmisch, Bad Tölz, Seeshaupt
Code: Alles auswählen
//#########################################
//######## Frequenzzähler von 2017#########
//#########################################
#include <LiquidCrystal_I2C.h> // LCD Display
// Displayadresse ist 0x27 oder 0x3F
LiquidCrystal_I2C lcd(0x27, 20, 4);
unsigned long messzeit = 0;
unsigned long startzeit = 0;
unsigned long millimessung = 0;
unsigned long ergebnis = 0;
int led = 13;
int pin = 7;
int messung = LOW;
int messungAlt = LOW;
int zaehler = 0;
//-----------------------------------------------------------------------------------------------
void setup() {
pinMode(pin, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
lcd.begin();
lcd.backlight();
lcd.clear();
startzeit = millis();
lcd.setCursor(0, 0); lcd.print(" ");
lcd.setCursor(0, 0); lcd.print ("Gemessene Frequenz");
lcd.setCursor(10, 2); lcd.print(" ");
lcd.setCursor(10, 2); lcd.print("Hz");
}
//-----------------------------------------------------------------------------------------------
void loop() {
messung = digitalRead(pin);
// Auswertung Sinus Start mit High //
if (messung == HIGH && messungAlt == LOW) {
digitalWrite(led, HIGH);
messungAlt = messung;
}
// Auswertung ein Sinus High-Low //
if (messung == LOW && messungAlt == HIGH) {
digitalWrite(led, LOW);
messungAlt = messung;
millimessung = millis();
messzeit = millimessung - startzeit;
zaehler = zaehler + 1;
if (messzeit >= 1000) {
ergebnis = zaehler;
zaehler = 0;
lcd.setCursor(0, 2); lcd.print(" ");
lcd.setCursor(0, 2); lcd.print(ergebnis);
startzeit = millis();
}
}
}
Code: Alles auswählen
//#########################################
//######## Frequenzzähler von 2023#########
//#########################################
#include <LiquidCrystal_I2C.h> // LCD Display
// Displayadresse ist 0x27 oder 0x3F
LiquidCrystal_I2C lcd(0x27, 20, 4);
unsigned long messzeit = 0;
unsigned long startzeit = 0;
unsigned long millimessung = 0;
unsigned long ergebnis = 0;
const byte led = 13;
const byte pin = 7;
int messung = LOW;
int messungAlt = LOW;
int zaehler = 0;
//-----------------------------------------------------------------------------------------------
void setup() {
pinMode(pin, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
lcd.begin();
lcd.backlight();
lcd.clear();
startzeit = millis();
lcd.setCursor(0, 0); lcd.print (" Frequenz / Upm");
lcd.setCursor(10, 2); lcd.print("Hz");
lcd.setCursor(10, 3); lcd.print("Upm");
}
//-----------------------------------------------------------------------------------------------
void loop() {
messung = digitalRead(pin);
// Auswertung Sinus Start mit High //
if (messung == HIGH && messungAlt == LOW) {
digitalWrite(led, HIGH);
messungAlt = messung;
}
// Auswertung ein Sinus High-Low //
if (messung == LOW && messungAlt == HIGH) {
digitalWrite(led, LOW);
messungAlt = messung;
millimessung = millis();
messzeit = millimessung - startzeit;
zaehler = zaehler + 1;
if (messzeit >= 1000) {
ergebnis = zaehler;
zaehler = 0;
lcd.setCursor(0, 2); lcd.print(" ");
lcd.setCursor(0, 2); lcd.print(ergebnis);
lcd.setCursor(0, 3); lcd.print(" ");
lcd.setCursor(0, 3); lcd.print(ergebnis * 60);
startzeit = millis();
}
}
}
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste