Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

PressureSens

3. November 2010

An diesem Tag haben wir uns weiterhin mit einem variablen Wiederstand beschäftigt, dieser ist in diesem Fall selbst gebaut und besteht aus zwei Leitplatten, getrennt von mehreren Schichten aus Antistatik-Material. dies führt dazu, dass der Wiederstand durch Druck gesteuert werden kann. Wichtig dabei ist, dass der Vorwiederstand richtig gewählt wird, da dieser die Gewichtung der Spannungsverteilung beeinflusst. Es ist das Ziel einen möglichst kleinen Wiederstand zu finden, welcher jedoch nicht zu klein ist, da dies das Arduino Board beschädigen könnte. War diese Hürde übersprungen, ging es ans Programmieren; Da die Spannung, welche man vom gebauten Sensor erhält stark variiert, Programmierten wir eine "Glättungsfunktion". Diese vergleicht den Mittelwert mit dem neuen Wert und nimmt den Durchschnitt der beiden Faktoren wie folgt: mittel = (analogRead(sensor) + mittel) / 2; BILD: 6 Beispielmessungen, Mittelwert obere Linie, Momentanwert untere Linie. Momentanwert stark fallend, Mittelwert verhält sich "träge". es wäre auch möglich diesen Mittelwert noch träger zu gestalten, in dem das Mittelmass von den letzen X Messungen berechnet wird, wir runden jedoch dieses Ergebniss sowieso danach, daher erübrigt sich dieser Schritt. message = round(mittel / 20); (20 ist in diesem fall eine Erfahrungsvariable, da der Wert vom Sensor in unserem Fall von 0 bis ca 200 variiert, und wir wollten diese Werte mithilfe von 8 LEDs visualisieren.) zusätzlich haben wir folgende Variablen aus der Zeitbasierten Überwachung der Daten des Sensors programmiert: Steigung (ist die Veränderung der letzen Messung zur momentanen Messung, bzw die Ableitung des kontinuierlichen Signals) Schwellwert (ist in unserem Fall 5/8 des Maximums) Wird der Schwellwert überschritten, triggert dies die Orange LED, welche solange mit Spannung versorgt wird, wie sich der Mittelwert oberhalb des Schwellwerts befindet. Zusätzlich ist an dieses Ereignis die grüne LED gekoppelt, welche ihren Zustand pro Überschreitung des Schwellwerts einmal ändert. Die Zustandsänderung wird mit der Steigung des Signals geprüft. Wie weiter? Es ist durchaus möglich den Zeitpunkt der Schwellwert-Überschreitung zu messen, und die verstrichene Zeit zur letzten Überschreitung zu berechnen. Durch wiederholtes durchführen dieser Berechnung kann ebenfalls ein Mittelwert berechnet werden, um dadurch einen "Beat" herzustellen. Anwendungsbeispiel wäre, dem Arduino durch den Drucksensor einen Beat vorzugeben. Arduino könnte diesen Beat weiterführen und zB durch eine LED visualisieren, auch wenn der User aufgehört hat, ihm den Beat vorzugeben.