Projekt 64: Wasserstandswarner-Aufsatz für Arduino: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 290: | Zeile 290: | ||
Die für den Prototyp benötigte Software ist relativ simpel. Es sind lediglich die Variablen für den Messwert, den analogen Eingangspin und den digitalen Ausgangspin, der den Summer auslöst, zu deklarieren und die entsprechenden Werte zuzuweisen. In der Setup Funktion werden dann die serielle Übertragung für den seriellen Monitor initiiert und die PinModes gesetzt. In der Loop Funktion wird schließlich der Messwert alle 500 ms über den analogen Eingang eingelesen und via seriellem Monitor ausgegeben. In einer If-Abfrage wird der Messwert mit einem definierten Referenzwert verglichen. Falls der Messwert über dem Referenzwert liegt, wird der Piezo-Summer eingeschaltet, ansonsten ausgeschaltet. Der gesamte Quellcode ist im Anhang der Dokumentation einzusehen als auch in SVN im Ordner Software zu finden. Der Programmablaufplan ist in der folgenden Abbildung dargestellt. | Die für den Prototyp benötigte Software ist relativ simpel. Es sind lediglich die Variablen für den Messwert, den analogen Eingangspin und den digitalen Ausgangspin, der den Summer auslöst, zu deklarieren und die entsprechenden Werte zuzuweisen. In der Setup Funktion werden dann die serielle Übertragung für den seriellen Monitor initiiert und die PinModes gesetzt. In der Loop Funktion wird schließlich der Messwert alle 500 ms über den analogen Eingang eingelesen und via seriellem Monitor ausgegeben. In einer If-Abfrage wird der Messwert mit einem definierten Referenzwert verglichen. Falls der Messwert über dem Referenzwert liegt, wird der Piezo-Summer eingeschaltet, ansonsten ausgeschaltet. Der gesamte Quellcode ist im Anhang der Dokumentation einzusehen als auch in SVN im Ordner Software zu finden. Der Programmablaufplan ist in der folgenden Abbildung dargestellt. | ||
[[Datei:Wasserstandswarner-Programmablaufplan.png|gerahmt||zentriert| Programmablaufplan P64 Wasserstandswarner]] | [[Datei:Wasserstandswarner-Programmablaufplan.png|gerahmt|x480px|zentriert| Programmablaufplan P64 Wasserstandswarner]] | ||
Version vom 14. Dezember 2016, 21:30 Uhr
Autor: Lars Christian Naujocks | Mike Westhoff
Betreuer: Prof. Göbel | Prof. Schneider
Aufgabe
- Untersuchen Sie einen ABUS Wassermelder HSWM10000
- Erstellen Sie das System als prototypischen Eigenbau auf einem Proto-Shield für einen Arduino Uno >> Schaltplan, Pin-Belegungstabelle
- Beschaffen Sie die Bauteile
- Realisierung und Erprobung des Aufbaus
- Machen Sie ein spektakuläres Video, welches die Funktion visualisiert.
- Test und wiss. Dokumentation
- Live Vorführung während der Abschlusspräsentation
- Bausteine
Anforderungen
Da keine Anforderungsspezifikation vorhanden war, hat das Team aus der Aufgabenstellung heraus eine eigene geschrieben, die auf den Vorgaben von Prof. Göbel beruhen. Hier werden nochmals die wichtigsten funktionalen und nicht-funktionalen Anforderungen aufgelistet. Die detaillierte Spezifikation ist [1] zu entnehmen.
Funktionale Anforderungen
REQ 10.3100 | Wasserstandswarnung |
---|---|
Anforderung | Der Prototyp soll eine Warnung ausgeben, wenn ein Wasserstand überschritten ist. |
Notiz | Der Prototyp soll an das kommerzielle Produkt ABUS Wassermelder HSWM10000 angelehnt sein. |
Priorität | 1 |
Status | Final |
Nicht-funktionale Anforderungen
REQ 10.3200 | Hardware |
---|---|
Anforderung | Das System soll als prototypischer Eigenbau auf einem Proto-Shield für einen Arduino Uno erstellt werden. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3210 | Aufbau der Hardware |
---|---|
Anforderung | Alle Anschlüsse auf dem Proto-Shield sollen mit Schraubleisten durchgeführt werden. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3220 | Lautstärke |
---|---|
Anforderung | Der Piezo-Summer soll mit einer Lautstärke >=80 dB warnen. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3230 | BOM |
---|---|
Anforderung | Es soll eine Stückliste erstellt werden, die alle benötigten Teile für die Realisierung enthält. |
Notiz | BOM wird in SVN eingecheckt und von den Professoren wird die Bestellung durchgeführt. |
Priorität | 1 |
Status | Final |
REQ 10.3240 | Video |
---|---|
Anforderung | Es soll ein Video gedreht werden, das die Funktion des Wasserstandswarners visualisiert. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3250 | Live Vorführung |
---|---|
Anforderung | Das Projekt soll während der Abschlusspräsentation live vorgeführt werden. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3260 | Wiki |
---|---|
Anforderung | Die Ergebnisse und eine nachhaltige Dokumentation sollen auf das Wiki hochgeladen werden. |
Notiz | |
Priorität | 1 |
Status | Final |
Toolanforderungen
REQ 10.3300 | Tools für softwareentwicklung |
---|---|
Anforderung | Es soll die Arduino IDE für die Softwareentwicklung benutzt werden. |
Notiz | |
Priorität | 1 |
Status | Final |
Qualitätssicherung
REQ 10.3310 | Test |
---|---|
Anforderung | Die Hard- und Software soll ausgiebig getestet werden. |
Notiz | Da die Software wenig Code und nur eine Routine enthält, sind Integrationstests nicht nötig. |
Priorität | 1 |
Status | Final |
REQ 10.3320 | Dokumentation |
---|---|
Anforderung | Das Projekt soll nach wissenschaftlichen Standards dokumentiert werden. |
Notiz | |
Priorität | 1 |
Status | Final |
Projektorganisation
REQ 10.3330 | Projektplanung |
---|---|
Anforderung | Für die Detailplanung soll MS Project eingesetzt werden. |
Notiz | |
Priorität | 1 |
Status | Final |
REQ 10.3340 | Versionskontrolle und -verwaltung |
---|---|
Anforderung | Für das Projekt soll das Versionsverwaltungssystem SVN eingesetzt werden. |
Notiz | Damit nur die wichtigen Items eingecheckt werden, ist eine Konfigurationsidentifizierung nötig. |
Priorität | 1 |
Status | Final |
Pflichtenheft
Das dem Lastenheft entsprechende Pflichtenheft ist unter SVN [2] eingecheckt und kann jederzeit eingesehen werden. Auch hier folgt eine kurze Auflistung der wichtigsten Punkte.
Zielbestimmungen
Das Projekt P 64 stellt einen Prototyp für einen Waserstandswarner dar, der eine Warnung ausgibt, sobald ein Wasserstand überschritten ist.
Musskriterien
Ausgeben einer Warnung, sobald ein Wasserstand überschritten ist.
Anwendungsbereiche
Der Wasserstandswarner kann überall dort eingesetzt werden, wo eine unerlaubte Erhöhung des Wasserstandes bzw. Überschwemmung zu befürchten ist (z.B.: Pumpensumpf, Keller).
Zielgruppen
Personengruppen, bei denen o.a. Anwendungsbereiche zutreffen.
Betriebsbedingungen
Der Wasserstandwarner soll sich nicht von anderen kommerziell erhältlichen Produkten bezüglich der Betriebsbedingungen unterscheiden. • Betriebsdauer: täglich, 24 Stunden • Wartungsfrei
Produktfunktionen
Benutzerfunktionen: Das Gerät gibt eine Warnung aus, sobald ein Wasserstand überschritten wird. /F0010/ Warnung ausgeben: Sobald ein Wasserstand überschritten wird, gibt das Gerät eine akustische Warnung aus, die den Nutzer darüber informiert.
Produktleistungen
/L0010/: Das Gerät gibt eine akustische Warnung von >80 dB aus.
/L0020/: Das Gerät kann netzunabhängig, d.h. mit einer Batterie arbeiten.
Qualitätszielbestimmungen
Tabelle 1: Qualitätszielbestimmungen
Globale Szenarien und Testfälle
/T0010/ Warnung ausgeben: Das Gerät wird in einer entsprechenden Umgebung oder einem Ersatzszenario getestet (z.B.: Wassereimer).
Projektplan
Um die Übersicht über das Projekt zu behalten, wurde ein Projektplan mit MS Project 2016 erstellt.Dieser ist in [3] einzusehen. Das folgende Bild zeigt einen Screenshot vom Gantt Chart.
Grundlagen
Realisierung
Hardware
It's nice to be important, but it's more important to be nice Respect to the man in the ice cream van
Software
Die für den Prototyp benötigte Software ist relativ simpel. Es sind lediglich die Variablen für den Messwert, den analogen Eingangspin und den digitalen Ausgangspin, der den Summer auslöst, zu deklarieren und die entsprechenden Werte zuzuweisen. In der Setup Funktion werden dann die serielle Übertragung für den seriellen Monitor initiiert und die PinModes gesetzt. In der Loop Funktion wird schließlich der Messwert alle 500 ms über den analogen Eingang eingelesen und via seriellem Monitor ausgegeben. In einer If-Abfrage wird der Messwert mit einem definierten Referenzwert verglichen. Falls der Messwert über dem Referenzwert liegt, wird der Piezo-Summer eingeschaltet, ansonsten ausgeschaltet. Der gesamte Quellcode ist im Anhang der Dokumentation einzusehen als auch in SVN im Ordner Software zu finden. Der Programmablaufplan ist in der folgenden Abbildung dargestellt.
Ergebnisse
Addel Addel Rang
Quellen/Referenzen
[3] https://svn.hshl.de/svn/Elektrotechnik_Fachpraktikum/trunk/Projekte/64_Wasserstandswarner_Arduino/Projektmanagement/Projektplan-P64-Wasserstandswarner.mpp [4] http://www.werkzeuginfos.de/wp-content/uploads/L%C3%B6tkolbenspitzen.png (Abgerufen am 26.11.2016
[5] Deutsche Gesetzliche Unfallversicherung (Hrsg.): BG/BGIA-Empfehlungen für die Gefährdungsbeurteilung nach der Gefahrstoffverordnung, BGI 790-014, Aktualisierte Fassung 2008, S.8 http://publikationen.dguv.de/dguv/pdf/10002/bgi790-14.pdf (Abgerufen am 26.11.2016)
[6] https://www.sparkfun.com/datasheets/DevTools/Arduino/ProtoShield-v25.pdf (Abgerufen am 26.11.2016)
[7] https://cdn.sparkfun.com//assets/parts/5/6/3/07914-004.jpg (Abgerufen am 26.11.2016)