Projekt 52: Lautstärkeanzeige und Visualisierung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 31: | Zeile 31: | ||
Beginn, wie im Chart zu sehen, ist der 5.10.2017. Die Abschlusspräsentation ist am 22.01.2017. Die wichtigsten Projektschritte, sprich Teilaufgaben und Arbeitspakete sind in der Abbildung 2 zu erkennen. Diese fangen an von der Bauteilbestellung, über Programmierung in Arduino bis hin zur Erstellung der Dokumentation. | Beginn, wie im Chart zu sehen, ist der 5.10.2017. Die Abschlusspräsentation ist am 22.01.2017. Die wichtigsten Projektschritte, sprich Teilaufgaben und Arbeitspakete sind in der Abbildung 2 zu erkennen. Diese fangen an von der Bauteilbestellung, über Programmierung in Arduino bis hin zur Erstellung der Dokumentation. | ||
== Theoretischer Hintergrund == | == Theoretischer Hintergrund == | ||
=== Arduino | === Arduino === | ||
Mit dem Arduino-Microcontrollerboard kann man auch ohne wenig Programmierkenntnisse eigenstädnige Projekte erstellen und lernt Umgang mit Hard-und Software. Die Arduinosoftware ist auf der Webseite frei erhältlich und erhält eine Vielzahl von vorgeskripten Programmen bei denen man gegebenenfalls lediglich das "void_setup" anpassen muss, um das gewünschte Programm laufen zu lassen. Dadurch werden "Aha"-Effekte sehr schnell bei bei den Benutzern erzielt. | |||
Durch das sogennante "physical computing" können über einfach Input-/Output- Mechanismen autarke Objekte angesteuert, bzw. deren Signale ausgelesen werden. | |||
#* mit verschiedenen Schachtelungen | #* mit verschiedenen Schachtelungen | ||
#* und so weiter | #* und so weiter | ||
# | # | ||
== Liste der notwendigen Bauteile == | == Liste der notwendigen Bauteile == |
Version vom 17. Januar 2018, 19:18 Uhr
Autor: Andre Adämmer und Dominik-Kai Meyer
Betreuer: Prof. Dr. Mirek Göbel
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, dass 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 Projekt leitete sich aus der oft zu lauten Geräuschkulisse in den PC-Pools ab.
Lernziele und Projektumfang
Lernziele
- Eigenständige Vorbereitung und Erstellung eines Projekts/Projektablaufs
- Umgang mit Arduino Hard-un Software
- Erstellen von digitalen Schaltplänen mittels Fritzing
Projektumfang
- Ersteinführung des Projektes
- Beschaffen der notwendigen Komponenten
- Einlesen in das "Arduino- Milieu"
- Verbindung auf Steckbrett von Arduino zu Sensor und LCD-Display, sowie LED's erstellen (Fritzing)
- Erstellen des Arduinoprogrammcodes
- Mobilisierung des Projektaufbaus
- Dokumentation und Video
- Präsentation
Gantt Chart für das Projekt
Die Abbildung rechts zeigt den Projektablaufplan. Nach der Einführungsveranstaltung werden die verschiedenen Aufgabenschritte über mögliche Meilensteile in ein Gantt-Diagramm getragen, um den das Projekt fristgerecht erstellen und präsentiern zu können.
Beginn, wie im Chart zu sehen, ist der 5.10.2017. Die Abschlusspräsentation ist am 22.01.2017. Die wichtigsten Projektschritte, sprich Teilaufgaben und Arbeitspakete sind in der Abbildung 2 zu erkennen. Diese fangen an von der Bauteilbestellung, über Programmierung in Arduino bis hin zur Erstellung der Dokumentation.
Theoretischer Hintergrund
Arduino
Mit dem Arduino-Microcontrollerboard kann man auch ohne wenig Programmierkenntnisse eigenstädnige Projekte erstellen und lernt Umgang mit Hard-und Software. Die Arduinosoftware ist auf der Webseite frei erhältlich und erhält eine Vielzahl von vorgeskripten Programmen bei denen man gegebenenfalls lediglich das "void_setup" anpassen muss, um das gewünschte Programm laufen zu lassen. Dadurch werden "Aha"-Effekte sehr schnell bei bei den Benutzern erzielt. Durch das sogennante "physical computing" können über einfach Input-/Output- Mechanismen autarke Objekte angesteuert, bzw. deren Signale ausgelesen werden.
- mit verschiedenen Schachtelungen
- und so weiter
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
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
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
Korrektur/Rückmeldungen
Hier können Nutzer oder kritische Leser (meist Professoren) Verbesserungen fordern/vorschlagen.
YouTube Video
→ zurück zum Hauptartikel: Fachpraktikum Elektrotechnik (WS 15/16)