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.

Eigenbau passiver Sensor [Glättung, Schwellenwert]

3. November 2010

Aufbau eines Spannungsteilers mit einem Drucksensor auf dem Breadboard Mit einer antistatischen Matte bauen wir einen passiven Drucksensor, mit welchem wir die Helligkeit einer LED beeinflussen können.

Mit einem passiven Drucksensor kann ein LED gesteuert werden.

In der Ausgabe werden die Daten überprüft

Source Code mit Glättung

#define LED 11                 //pin 11 fürs LED auswählen
#define SENSOR 0               //SENSOR mit analog 0 verbunden

long helligkeit = 0;            // LED Helligkeit
long daten[] = {0, 0, 0};
long ergebnis = 0;

void setup() {
 pinMode( LED, OUTPUT );      //LED ist output
 Serial.begin( 9600 );        //öffnet serial port @9600 baud
}

void loop() {
 helligkeit = analogRead( SENSOR );  //liest input zwischen 0-1023 (analog)
 helligkeit = helligkeit / 4;        //passt die Helligkeit auf 0-255 an
 daten[0] = daten[1];
 daten[1] = daten[2];
 daten[2] = helligkeit;

 glaetten();

 //analogWrite( LED, ergebnis );

 Serial.print("Daten: ");
 Serial.print(daten[0]);
 Serial.print(" / ");
 Serial.print(daten[1]);
 Serial.print(" / ");
 Serial.println(daten[2]);
 Serial.print("Ergebnis: ");
 Serial.println( ergebnis );         //ausgabe
 Serial.println();                   //zeile abstand
 delay( 1000 );
}

void glaetten() {
 ergebnis = ((daten[0] + daten[1] + daten[2]) / 3);
}
#################################################################################################### Mehrere Schwellenwerte für drei LEDs (grün, orange, rot) Mit unserem improvisierten Drucksensor gaben wir verschiedene Schwellenwerte aus

Gesamtsituation

Je nach Druck auf unseren Drucksensor leuchtet ein anderes LED.

Grün

Orange

Rot

Source Code
#define LEDred 9
#define LEDorange 10
#define LEDgreen 11
#define SENSOR 0               //SENSOR mit analog 0 verbunden

long helligkeit = 0;            // LED Helligkeit
long daten[] = {0, 0, 0};
long ergebnis = 0;

void setup() {
 pinMode( LEDred, OUTPUT );      //LED ist output
 pinMode( LEDorange, OUTPUT );
 pinMode( LEDgreen, OUTPUT );

 Serial.begin( 9600 );        //öffnet serial port @9600 baud
}

void loop() {
 helligkeit = analogRead( SENSOR );  //liest input zwischen 0-1023 (analog)
 helligkeit = helligkeit / 4;        //passt die Helligkeit auf 0-255 an
 daten[0] = daten[1];
 daten[1] = daten[2];
 daten[2] = helligkeit;

 ampel();

 Serial.print("Daten: ");
 Serial.print(daten[0]);
 Serial.print(" / ");
 Serial.print(daten[1]);
 Serial.print(" / ");
 Serial.println(daten[2]);
 Serial.print("Ergebnis: ");
 Serial.println( helligkeit );         //ausgabe
 Serial.println();                   //zeile abstand
 delay( 700 );
}

void ampel() {

 digitalWrite( LEDred, LOW );
 digitalWrite( LEDorange, LOW );
 digitalWrite( LEDgreen, LOW );

 if( helligkeit > 225 ){
 digitalWrite( LEDgreen, HIGH );
 }
 else if( helligkeit > 170 ){
 digitalWrite( LEDorange, HIGH );
 }
 else{
 digitalWrite( LEDred, HIGH );
 }

}
<pre>