kramann.info
© Guido Kramann

Login: Passwort:










Robuste Systemintegration
1 Grundlagen
..1.1 Newton
....1.1.1 LinearSchwinger
....1.1.2 Daempfung
....1.1.4 ODE
....1.1.5 Saaluebung
..1.2 NewtonEuler
....1.2.1 Traegheitsmomente
....1.2.2 Modellgleichungen
....1.2.3 Einfachpendel
..1.3 Scilab
....1.3.1 Erste_Schritte
....1.3.2 Skripte
....1.3.3 Funktionen
..1.4 Laplace
....1.4.1 Eigenwerte
....1.4.2 PT1
..1.5 Regleroptimierung
....1.5.1 Guetefunktion
....1.5.2 Heuristiken
....1.5.3 Scilab
..1.6 Einstellregeln
....1.6.1 Totzeit
....1.6.2 Methode1
....1.6.3 Methode2
....1.6.4 Scilab
..1.7 Zustandsregler
..1.8 Polvorgabe
..1.8 Polvorgabe_alt
..1.9 Beobachter
....1.9.1 Haengependel
..1.10 Daempfungsgrad
..1.11 Processing
....1.11.1 Installation
....1.11.2 Erste_Schritte
....1.11.3 Mechatronik
....1.11.4 Bibliotheken
....1.11.5 Uebung
....1.11.6 Snippets
......1.11.6.1 Dateioperationen
......1.11.6.2 Bilder
......1.11.6.3 GUI
......1.11.6.4 Text
......1.11.6.5 PDF
......1.11.6.8 Maus
......1.11.6.10 Zeit
......1.11.6.13 Animation
......1.11.6.15 Simulation
....1.11.7 Referenzen
..1.12 Breakout
2 Beispiel
3 Beispielloesung
4 Praxis
5 javasci
6 Fehlertoleranz1
7 Reglerentwurf
..7.1 Sprungantwort
..7.2 Messdaten
..7.3 Systemidentifikation
..7.4 Polvorgabe
..7.5 Beobachter
..7.6 Robuster_Entwurf
..7.7 SIL
8 Systementwicklung
9 Arduino
..9.1 Lauflicht
..9.2 Taster
..9.3 Sensor
..9.12 Motor_PWM1
..9.13 Motor_PWM2_seriell
..9.14 Motor_PWM3_analogWrite
..9.15 Scheduler
..9.20 AV
..9.21 Mikrofon
..9.22 Universal
....9.22.1 Laborplatine
....9.22.2 LED_Leiste
....9.22.3 Motortreiber
....9.22.4 Sensoreingaenge
....9.22.5 Taster
....9.22.6 Tests
....9.22.7 Mikrofon
....9.22.8 Lautsprecher
....9.22.9 Fahrgestell
..9.23 Zauberkiste
..9.24 OOP
....9.24.1 Uebungen
..9.25 AVneu
....9.25.1 Tests
..9.26 DA_Wandler
..9.27 CompBoard
....9.27.1 Tastenmatrix
....9.27.2 ASCIIDisplay
..9.28 CTC
..9.29 Tonerzeugung
10 EvoFuzzy
..10.1 Fuzzy
....10.1.1 Fuzzylogik
....10.1.2 FuzzyRegler
....10.1.3 Uebung9
....10.1.5 Softwareentwicklung
......10.1.5.1 AgileSoftwareentwicklung
......10.1.5.2 FuzzyRegler
......10.1.5.3 Uebung
....10.1.6 Umsetzung
......10.1.6.1 FuzzyRegler
......10.1.6.2 Simulation
......10.1.6.3 Optimierung
......10.1.6.4 Uebung
....10.1.7 Haengependel
......10.1.7.1 Haengependel
......10.1.7.2 Simulation
......10.1.7.3 FuzzyRegler
......10.1.7.4 Optimierer
......10.1.7.5 Genetisch
....10.1.8 Information
....10.1.9 Energie
..10.2 Optimierung
....10.2.1 Gradientenverfahren
....10.2.2 Heuristiken
....10.2.3 ModifizierteG
....10.2.4 optim
..10.3 Genalgorithmus
..10.4 NeuronaleNetze
....10.4.1 Neuron
....10.4.2 Backpropagation
....10.4.3 Umsetzung
....10.4.4 Winkelerkennung
..10.5 RiccatiRegler
11 Agentensysteme
12 Simulation
20 Massnahmen
21 Kalmanfilter
..21.1 Vorarbeit
..21.2 Minimalversion
..21.3 Beispiel
30 Dreirad
31 Gleiter
..31.1 Fehlertoleranz
80 Vorlesung_2014_10_01
81 Vorlesung_2014_10_08
82 Vorlesung_2014_10_15
83 Vorlesung_2014_10_22
84 Vorlesung_2014_10_29

9.21 Nulldurchgänge eines Mikrofonverstärkerausgangs zählen

9.21 (EN google-translate)

9.21 (PL google-translate)

int sensorwert=0;
int zaehler=0;
int nulldurchgang=0;
int zustand=0;
void setup() 
{
  pinMode(18,INPUT);  //A0  
  Serial.begin(9600);   

  
}

void loop() 
{
  sensorwert = analogRead(11);
 
  if(zaehler==1000)  
  {
  Serial.write(48+(nulldurchgang/1000)%10);
  Serial.write(48+(nulldurchgang/100)%10);
  Serial.write(48+(nulldurchgang/10)%10);
  Serial.write(48+(nulldurchgang/1)%10);
  Serial.write('
');
  Serial.write('
');
  zaehler=0;
  nulldurchgang=0;
  }
  else
  {
      if(zustand==0 && sensorwert<800)    
      {
        nulldurchgang++;
        zustand=1;
      }
      else if(zustand==1 && sensorwert>850)    
      {
        nulldurchgang++;
        zustand=0;
      }
      zaehler++;
  }
  
}

Code 9.21-1: Nulldurchgänge eines Mikrofonverstärkerausgangs zählen

verbesserte Version

int sensorwert=0;
int zaehler=0;
int nulldurchgang=0;
int zustand=0;
int wertalt=0;
void setup() 
{
  pinMode(18,INPUT);  //A0  
  Serial.begin(9600);   

  
}

void loop() 
{
  sensorwert = analogRead(11);
 
  if(zaehler==1000)  
  {
  Serial.write(48+(nulldurchgang/1000)%10);
  Serial.write(48+(nulldurchgang/100)%10);
  Serial.write(48+(nulldurchgang/10)%10);
  Serial.write(48+(nulldurchgang/1)%10);
  Serial.write('
');
  Serial.write('
');
  zaehler=0;
  nulldurchgang=0;
  wertalt=sensorwert;
  }
  else
  {
      if(zustand==0 && sensorwert<wertalt-50)    
      {
        nulldurchgang++;
        zustand=1;
        wertalt = sensorwert;  
      }
      else if(zustand==1 && sensorwert>wertalt+50)    
      {
        nulldurchgang++;
        zustand=0;
        wertalt = sensorwert;  
      }
      zaehler++;
  }

}

Code 9.21-2: Mikrofonauswertung unabhängig von den absoluten Werten.