Projekte, die wir bauen können

1. Projektdateien

Um nicht von Null beginnen zu müssen, haben wir bereits einige Dateien vorbereitet, die uns als Grundlage für die Projekte dienen werden. Darin finden sich für verschiedene Bauteile Codebeispiele mit Erklärungen.

2. Projekte – Inputs

Für eure eigenen Projekte stehen euch verschiedene Elemente bzw. Bauteile zur Verfügung, die ihr mit dem Microcontroller verbinden und dadurch steuern oder auslesen könnt. Diese gliedern sich in Input (z.B. Sensoren) und Output (z.B. LEDs).

Ein "Input" ist ein Signal oder eine Information, die in den Microcontroller eingegeben oder eingelesen wird. Typischerweise werden Inputs in Form von elektrischen Signalen oder Spannungen bereitgestellt. Diese können von verschiedenen Quellen stammen wie z.B. Sensoren, Tasten, Schaltern oder anderen Microcontrollern.

2.1 Time of Flight (TOF) Distanz Sensor

Ein Time of Flight Sensor berechnet den Abstand zu einem Objekt durch Messung der Zeit, die das Licht braucht, um vom Sensor zum Objekt und wieder zurück zu kommen.

WICHTIG: In der Arduino IDE muss noch "Adafruit_VL53L0X" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "Adafruit_VL53L0X" suchen
  3. Installieren

Für beide folgenden Beispiele nutzen wir diesen Schaltkreis:

Pinbelegung

Die Pins sind von links nach rechts wie folgt belegt:

2.1.1 Eine gemessene Distanz am Monitor auslesen

Um den gemessenen Abstand zu sehen, müssen wir das Messergebnis des Sensors zunächst vom Microcontroller an den Computer senden. Dies erfolgt über eine sogenannte "serielle Schnittstelle", also USB (Universal Serial Bus). Dort können wir es auf dem seriellen Monitor der Arduino IDE sehen.

2.1.2 Distanzabhängig eine LED ein- und ausschalten

Wir können auch eine Reaktion auslösen, sobald die Distanz unter einen gewissen Wert (z.B. 2 cm) fällt. Wenn sich ein Objekt wie z.B. eine Hand nahe genug am Sensor befindet, leuchtet die LED.

2.2 Kapazitiver Touch Sensor

Ein kapazitiver Touch-Sensor funktioniert auf der Basis von Körperkapazität und Elektrostatik. Wenn ein menschlicher Finger die Oberfläche des Sensors berührt, ändert sich die Kapazität des elektrischen Feldes, da der menschliche Körper selbst als elektrischer Leiter wirkt. Diese Änderung wird vom Sensor erkannt und als Berührung interpretiert.

Der Sensor ähnelt im Anschluss und in der Ansteuerung durch Code einem Taster bzw. Button.

2.2.1 Sensor am Seriellen Plotter auslesen

Um zu testen ob der Sensor eine Berührung wahrnimmt, können wir den Seriellen Plotter der Arduino IDE nutzen. Wenn wir den Arduino dann mit einem Computer verbinden, können wir auf dem Seriellen Plotter der Arduino IDE das Ergebnis der Messung sehen. Wenn wir den Sensor berühren, sehen wir einen Wechsel von 0 auf 1, so wie wir es im Code festgelegt haben.

2.2.2 Berührungsabhängig eine LED ein- und ausschalten

Wir können auch eine Reaktion auslösen sobald der Sensor eine Berühung wahrnimmt. Wenn wir den Sensor berühren, leuchtet die LED.

Dazu erweitern wir unseren Schaltkreis um eine LED und einen Widerstand:

2.3 Gestenerkennung

Achtung, die Farben beziehen sich auf die Kabelfarben! 1

Falls die Verbindung zum Sensor unterbricht, sollten Pull-Up Widerstände eingefügt werden. Das machen wir bei Bedarf am besten gemeinsam.

WICHTIG: In der Arduino IDE muss noch "Gesture PAJ7620" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "Gesture PAJ7620" oder "grove gesture" suchen
  3. Installieren

2.4 Neigungs- und Rotationssensor

Achtung, die Farben beziehen sich auf die Kabelfarben! 1

Falls die Verbindung zum Sensor unterbricht, sollten Pull-Up Widerstände eingefügt werden. Das machen wir bei Bedarf am besten gemeinsam.

WICHTIG: In der Arduino IDE muss noch "FastIMU" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "FastIMU" oder "mpu6886" suchen
  3. Installieren

2.5 Pulsoximeter / Herzschlag

Achtung, die Farben beziehen sich auf die Kabelfarben! 1

Falls die Verbindung zum Sensor unterbricht, sollten Pull-Up Widerstände eingefügt werden. Das machen wir bei Bedarf am besten gemeinsam.

WICHTIG: In der Arduino IDE muss noch "MAX30100_milan" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "MAX30100_milan" oder "MAX30100 milan" suchen
  3. Installieren

2.6 Infrarot Fernbedienung mit 4 Kanälen

Wenn auf der Fernbedienung eine der Kanalasten (CH 1-4) gedrückt wird, wechselt der entsprechende Ausgang (OUT 1-4) von LOW auf HIGH und die entsprechende LED (H 1-4) auf dem Empfängerboard (blau) leuchtet, solange wie die Kanaltaste auf der Fernbedienung gedrückt wird. Wenn die rote Power Taste auf der Fernbedienung gedrückt wird, wechseln alle Ausgänge auf dem Empfängerboard von LOW auf HIGH und es leuchten alle LEDs, solange wie die Taste auf der Fernbedienung gedrückt wird.

2.7 Farbsensor

Verschaltung

Funktionsweise

2.8 Weitere Inputs

Natürlich stehen euch auch alle weiteren Inputs aus den Fundiono-Koffern der Schule zur Verfügung. Dazu zählen z.B. Temperatursensoren, Feuchtigkeitssensoren oder Tastenfelder.

3. Projekte – Outputs

Ein "Output" ist ein Signal oder eine Information, die der Microcontroller generiert oder ausgibt. Es handelt sich um die Reaktion des Microcontrollers auf interne Berechnungen oder Benutzereingaben. Den Output legen wir duch den Code, mit dem wir den Microntroller programmieren, fest.

3.1 LED / 2 LEDs

Ein Button und eine LED (bzw. später zwei LEDs) werden mit dem Arduino verbunden. Wenn der Button gedrückt wird, geht die LED an (bzw. später die andere auch aus).

3.2 LED Streifen "Neopixel"

Ein Button und ein LED Streifen "Neopixel" werden mit dem Arduino verbunden. Wenn der Button kurz gedrückt wird, springt die LED eins weiter. Bei Gedrückthalten, springt die LED mit einer kurzen Verzögerung kontinuierlich weiter.

WICHTIG: In der Arduino IDE muss noch "Adafruit Neopixel" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "Adafruit Neopixel" suchen
  3. Installieren

3.3 LED Matrix "NeoHex"

Achtung, die Farben beziehen sich auf die Kabelfarben! 1

Wichtig In der Arduino IDE muss noch "fastled" installiert werden.

  1. Auf den "Library Manager" klicken (ganz links das Icon mit den Büchern)
  2. Nach "fastled" suchen
  3. Installieren

Dokumentation gibt es hier: fastled

3.4 Servo Motor

Ein Button und ein Servo Motor (sozusagen ein Motor, der in eine festgelegte Position gedreht werden kann und sich nicht einfach nur dreht, bis man den Strom abstellt) werden mit dem Arduino verbunden. Wenn der Button gedrückt wird, dreht sich der Servo weiter.

3.6 Wasserpumpe

Hier sind ein Input (Feuchtigkeitssensor) und ein Output (Pumpe) kombiniert.

Verbindung

Achtung, die Farben beziehen sich auf die Kabelfarben! 1

Funktionsweise

3.7 Weitere Outputs

Auch weitere Outputs finden sich in den Fundiono-Koffern der Schule. Dazu zählen z.B. Lautsprecher, ein Ampelmodul oder LCD-Modul.

Arduino UNO Pinbelegung

Quelle: https://docs.arduino.cc/hardware/uno-rev3


Fußnoten

Sensor Farbcodierung vs. KabelZwei Kabeltypen
1

Die Kabelfarben Gelb und Weiß, der Kabel die sich mit dem Arduino verbinden lassen, sind im Vergleich zum Sensor-Anschluss vertauscht (Siehe Fotos).