Projekt 52: Lautstärkeanzeige und Visualisierung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Andre Adämmer und Dominik-Kai Meyer

Betreuer: Prof. Dr. Mirek Göbel

Projektaufbau [1]


Einleitung

Dieser Artikel beschreibt das Projekt 52, welches im Rahmen des "Elektrotechnik Fachpraktikums" im WS 2017/2018 von den genannten Autoren des Studienganges "Business and System Engineering" im zweiten Fachsemester erstellt worden ist. Dieser Wikieintrag ist Teil der gesamten Projektleistung und dient dazu das Projekt hinreichend zu beschreiben und zu dokumentieren. Zum Projekt selber kann man sagen, dass es sich um die Verarbeitung von Signalen eines Loudness-Sensors mittels Arduino Uno und die daraus entsprechende Ausgabe an Aktoren handelt. Aktoren hier, sind LED und eine LCD-Anzeige. Allgemein wird mit der Verschaltung das Konzept der "Lernampel" verfolgt, das heißt das je nach unterschiedlicher Lautstärke eine grüne, orange oder bei unzulässiger Lautstärke eine rote LED leuchtet. Der LCD-Display liefert die Werte des Sensors in der Einheit Dezibel (dB). Die Idee für das Projekts leitete sich aus der oft zu hohen Geräuschkulisse in den PC-Pools ab.


Lernziele und Lösung der Problemstellung

Gantt Chart für das Projekt

Projektablauf [2]








Theoretischer Hintergrund

Arduino Uno

    • mit verschiedenen Schachtelungen
    • und so weiter
    • mit erneuter Unterebene

Liste der notwendigen Bauteile

Tabelle 1: Liste der Bauteile.

Anzahl Bauteil Preis gesamt(€)
1 Arduino Uno 22,40
1 Stromkabel 2,95
2 Scharnier 3,58
1 Trichter 2,99
6 Holzschrauben 0,99
1 Steckbrett 2,50
3 LED 0,99
1 LCD-Display 2,99
3 Widerstand 0,99
15 Kabel 1,50
1 Potentiometer 0,87

Aufbau

Steckplan mit Fritzing [3]

Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.


Quellcode in der Arduinosoftware

In den folgenden Zeilen ist der Quellcode, sowie er auf dem Arduino Uno implementiert worden ist, geskriptet. Die Kommentare im Quellcode veranschaulichen die Vorgehensweise.


Beginn des Quellcodes:

" //Einbinden der Bibliothek für das LCD Display include <LiquidCrystal.h>

//Anschlüsse des LCD Displays an den Arduino LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Sensorbelegung Arduino int soundSensor = A0;

//Pinbelegung LED int ledPin1 = 8 int ledPin2 = 9 int ledPin3 = 10

int dB, PdB; int adc; const int MIC = 0;

void setup(){

Serial.begin(9600);
//Sound Sensor
pinMode(soundSensor, INPUT);
//LED Pins
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
//LCD Display leeren und den Cursor setzen
lcd.begin(16, 2);
lcd.clear();

}

void loop(){

 PdB = dB; //Speichern des vorherigen Wertes
 adc = analogRead(MIC); //Einlesen der Sensor Spannung
 dB = (adc+83.2073) / 11.003; //Formel zur Konvertierung der Spannungswerte zu Dezibelwerten
 if (PdB != dB) // Wenn der vorherige Wert nicht gleich dem neuen Wert ist
 {
   lcdDisplay(dB); //Ausgabe des Dezibelwerts
   Serial.println (dB); //Ausgabe im Seriellen Monitor
   if (dB<25) //Ist der Wert unter 25
   { 
     //Grüne LED
     greenLight();
     delay(150);
   } else if((dB>30) && (dB<70))  // Wert zwischen 30 und 70
   {
     //Gelbe LED
     yellowLight();
     delay(150);
   } else if(dB>70) { //Wert über 70
     //Rote LED
     redLight();
     lcd.clear(); 
     lcd.print("");
     lcd.print(dB);
     lcd.print(" Dezibel");
     lcd.setCursor(0,1); //CUrsor auf die 1. Zeile um mehr auszugeben
     lcd.print("Bitte leiser.");
     delay(2000); // 2 Sekunden Pause um die Ausgabe zu lesen
   }
 }

}

//Sensor Daten auf dem LCD anzeigen void lcdDisplay(int dB) {

 lcd.clear(); //LCD leeren
 lcd.setCursor(0,0); //Cursor auf den Anfang
 lcd.print("Dezibel: ");
 lcd.print(dB); //Ausgabe der Werte

}

void greenLight() {

     digitalWrite(ledPin1, HIGH); 
     digitalWrite(ledPin2, LOW);
     digitalWrite(ledPin3, LOW); 

}

void yellowLight() {

     digitalWrite(ledPin1, LOW);
     digitalWrite(ledPin2, HIGH); 
     digitalWrite(ledPin3, LOW); 

} void redLight() {

     digitalWrite(ledPin1, LOW);
     digitalWrite(ledPin2, LOW); 
     digitalWrite(ledPin3, HIGH);

} " Ende des Quellcodes

Ergebnisse des Projekts

Zusammenfassung

Zusammenfassung

Was ist das Ergbnis? Das Ergebnis dieses Artikels ist eine Vorlage, mit der Nutzer des Wikis schnell und leicht eigene Artikel verwirklichen können. Diese Vorlage ist Bestandteil der Anleitungen aus den How-To's.


Ausblick

Was kann/muss noch verbessert werden?


Literaturverzeichnis

  1. Eigenes Foto
  2. Eigenes Foto
  3. Eigenes Foto

Korrektur/Rückmeldungen

Hier können Nutzer oder kritische Leser (meist Professoren) Verbesserungen fordern/vorschlagen.



→ zurück zum Hauptartikel: Fachpraktikum Elektrotechnik (WS 15/16)