Anzeige

Berührungsloser Seifenspender mit Arduino

Arduino berührungsloser Seifenspender

Es sind verrückte Zeiten, in denen wir leben und ich hab eine Weile darüber nachgedacht, ob ich dieses Projekt veröffentliche. Allerdings hat man nicht so viel Möglichkeiten, aktiv etwas gegen die Ausbreitung von Viren wie dem Corona-Virus zu unternehmen. Zuhause bleiben und Hände waschen. Tja, fürs Händewaschen hätte ich eine Idee und so zeige ich dir hier, wie du einen berührungslosen Seifenspender mit Arduino bauen kannst. 

Bauteile

Schaltung

Arduino berührungsloser Seifenspender

Die Schaltung besteht aus zwei Teilschaltungen. Der Infrarot-Entfernungssensor ist mit 5V+,GND und dem Analogen Input 0 verbunden. Der Servomotor ist ebenfalls mit 5V+ und GND verbunden. Gesteuert wird er über den Digitalen Pin 7.

Funktionsweise des Seifenspenders

Der Sensor kann über dem Seifenspender nach unten schauend oder neben dem Seifenspender nach oben schauend installiert werden. Er reagiert in einem Bereich von 10 – 30 cm und aktiviert über das Arduino den Servomotor. Dieser zieht an einer Schnur, die über der Pumpe des Seifenspenders verläuft und auf der anderen Seite fixiert ist. Dadurch wird die Pumpe herunter gedrückt und Seife abgegeben. Danach fährt der Servo wieder in seine Ausgangsposition, die Pumpe fährt wieder nach oben. 

Um die Funktion zu gewährleisten musst du drei Werte im Code anpassen. Baue dazu die Schaltung auf und mache einen Trockentest ohne Seifenspender. Lade den Code auf das Arduino-Board und starte den Seriellen Monitor der Arduino-Software (Werkzeuge>Serieller Monitor). Stelle die Baud-Rate (unten im Fenster) auf 115200. Nun solltest du die Werte vom Sensor sehen. Halte die Hand über den Sensor und merke dir den Wert, ab dem der Sensor auslösen soll. Schreib den Wert in die Variable irThreshold.

Nun probiere Werte für den Servo aus: Wo soll er starten und bis wohin soll er sich drehen. Das machst du über die Variablen servoPositionPumpen und servoPositionNichtPumpen. Wenn alles passt, baue den Seifenspender ein. Ein bisschen Bastelarbeit ist natürlich dabei.

Mehr Infos zu den IR-Sensoren findest du hier: Infrarot Entfernungsmessung mit Sharp Abstandssensor, mehr Infos zur Funktion eines Servomotors gibt es hier: Servo

Code

#include <Servo.h>

int servoPin = 7;
int irPin = 0;

Servo myServo;                        // erstellt Servo-Objekt

int servoPositionPumpen = 30;         // anpassen je nach Servo
int servoPositionNichtPumpen = 120;   // anpassen je nach Servo
int irThreshold = 300;                // wert, ab dem der Sensor reagieren soll

int lastState = -1;                   // -1 = Pumpe nicht gedrückt
int state = -1;

void setup() {
  Serial.begin(115200);               // starte seriellen Monitor
  myServo.attach(servoPin);           // initiiere den Servo

  
  myServo.write(servoPositionNichtPumpen);  // Servo auf Anfangsposition stellen
  delay(1000);                              // warte eine Sekunde 
}


void loop() {
  Serial.println(analogRead(irPin));                // gib Sensorwert an Seriellen Monitor
                                                    // überprüfe den Threshold Wert für das Auslösen

  if (analogRead(irPin)>irThreshold) state = 1;     // Auslöser erkannt
  else state = -1;                                  // Auslöser nicht erkannt
  
  if ((state==1)&&(lastState!=1)){                  // verhindert dauerndes Auslösen
    myServo.write(servoPositionPumpen);             // pumpen
    delay(1000);                                    // warte eine Sekunde
    myServo.write(servoPositionNichtPumpen);        // Pumpe entspannen
    delay(1000);                                    // warte eine Sekunde
  }
  lastState=state;                                  
  delay(20);
}

Ich würde mich freuen, wenn du diesen Beitrag bewerten würdest :-)

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 10

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Deine Meinung ist mir sehr wichtig!

Lasse uns diesen Beitrag verbessern!

Wie kann ich den Beitrag verbessern? Was würdest du dir wünschen? Was hat dir gefehlt?

Die neuen E-Books von StartHardware:

  • 20 Lektionen
  • Projektbasiert und kurzweilig
  • Aus den Erfahrungen unzähliger Workshops
  • Sofortiger Download

  • Die beliebtesten Projekte von StartHardware
  • Mit Code, Schaltplan und Erklärungen
  • Fachwissen-Kapitel
  • Sofortiger Download


Willst du lieber ein Buch zum Anfassen? Dann werde mit diesem hier zum Arduino-Experten! Arduino: Kompendium: Elektronik, Programmierung und Projekte* – Damit lernst du alle Tricks!

Ich hoffe, der Beitrag hilft dir weiter. Und falls du weitere Fragen hast, stelle sie gern hier im Arduino-Forum.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.