Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Sensormodule und Visuino - Kapitel 6

In diesem Kapitel werden angesprochen

  • Laser-Modul
  • Fotowiderstand Modul
  • Buzzer Modul 
  • Joystick Modul

Module sind immer herstellerspezifisch aufgebaut und können sich deshalb - bei gleicher Namensbelegung - voneinander unterscheiden. Vor dem Aufbau einer Schaltung ist das Studium der zugehörigen Datenblätter deshalb unerlässlich.

Das Laser-Modul

 

 

 

 

 

 

 

 

Abb. 1 - Laser-Modul Pinbelegung; benutzt werden nur die Pins 1 und 3.

  • Sicherheitshinweis: Bei der Arbeit mit einem Laser-Gerät darf dieses niemals auf Personen gerichtet und es sollte eine Schutzbrille getragen werden.
  • Niemals direkt in die Strahlenquelle schauen

 

  • Wer etwas über die Physik (Aufbau, Wirkungsweise, Bauformen) eines Lasers erfahren möchte, findet im Internet umfassend Material; u.a. hier.
  • An Pin S (Signaleingang) lässt sich eine PWM-modulierte Spannung anlegen, die den Laser pulsierend hell und dunkel schaltet.

Das Fotowiderstand-Modul

 

 

 

 

 

 

 

 

Abb. 2a - Fotowiderstand Modul Pinbelegung

 

 

 

 

 

 

 

 

Abb. 2b - Aufbau des Fotowiderstand-Moduls

Der LDR ist in einer klassischen Spannungsteiler-Schaltung mit einem 10k Widerstand angeordnet.

Fällt ausreichend viel Licht auf den LDR, nimmt sein Widerstand ab und die Spannung über GND an Ax geht gegen 1 oder Vcc. Bei Dunkelheit wird der Widerstand eines LDR sehr viel größer als 10 kOhm und die Spannung an Ax geht gegen 0 oder GND.

Das Buzzer (aktiv)-Modul

 

 

 

Abb. 3 - Buzzer (aktiv) Modul Pinbelegung

Ein aktiver Buzzer verfügt über einen eingebauten Oszillator fester Frequenz. Der springt an, sobald am Signaleingang eine "1" anliegt.

Bei einem passiven Buzzer - der über keinen eigenen Oszillator verfügt - muss an den Signaleingang eine Tonfrequenz angelegt werden, die der Buzzer dann ausgibt.

Das Joystick-Modul

 

 

 

Abb. 3a - Joystick-Modul

Pin- und Anschlussbelegung des Moduls, das über zwei analoge (VRx, VRy) und eine digitale (SW) Schnittstelle verfügt.

Angegeben sind auch die Anschlusspins auf einem Ard-Board.

 

Roboter, RobotCars und anderes mehr lassen sich mit Hilfe von Joysticks steuern. Das in Übung 2 benutzte Joystick-Modul von Elegoo verfügt über zwei analoge und eine digitale Schnittstelle.

Über die analogen Schnittstellen VRx, VRy lässt sich der Roboter in X bzw. Y-Richtung bewegen. Die digitale Schnittstelle SW arbeitet wie ein Taster; ist der Joystick gedrückt, wird der Taster auf Masse gezogen. Dem Taster muss ein Pullup-Widerstand zugeschaltet werden. Die Pin- und Anschlussbelegung für das Modul zeigt Abb. 3a.

 

 

 

 

 

 

 

 

Abb. 3b

Schaltplan zum Joystick-Modul

Übung 1 - Lichtschranke

 

1 - Pflichtenheft oder Was soll die Schaltung können?

  • Entwickle mit Hilfe der Module: Laser und Fotowiderstand (LDR) eine Lichtschranke.
  • Sobald der Lichtstrahl unterbrochen wird, ertönt ein Buzzer-Signalton und eine LED und/oder ein Relais werden geschaltet.

 

2 - Material

  • Arduino- oder Arduino kompatibles Board (Ard-Board)
  • Steckbrett und Steckdraht (Ma-Ma, Fe-Ma)
  • 1x Laser Modul, 1x Buzzer Modul, 1x Fotowiderstand-Modul, 1x Relais Modul
  • Arduino IDE und Visuino auf dem Rechner bereits installiert

 

Vorüberlegung

  • Schritt 1 - Baue eine Lichtschranke aus Laser Modul und Fotowiderstand Modul auf; miss die Rohdaten, am Eingang A0 vom LDR, wenn er a) maximal vom Laser beleuchet und b) vom Laser nicht beleuchtet wird. Notiere die Rohdaten. Ausgabe der Rohdaten im Terminalfenster.
  • Schritt 2 - Ergänze die Schaltung mit einem Buzzer und den Visuinoaufbau durch entsprechende Objekte.so, dass der Buzzer summt, sobald der Laserstrahl zum Fotowiderstand unterbrochen wird.
  • Schritt 3 - Selbstversuch: Ergänze die Schaltung mit einem Relais und/oder LED Modul so, dass die LED aufleuchtet, bzw. das Relais anzieht, sobald der Laserstrahl zum Fotowiderstand unterbrochen wird.

 

3.1 - Objektanordnung - zu Schritt 1

 

Schritt 1 - Ard-Board festlegen

Starte das Programm Visuino und wähle in der Kopfzeile des Arduino-Blocks über das Werkzeug-Icon ganz rechts das eingesetzte Ard-Board aus (bei mir ist es ein Arduino UNO R3).

 

Schritt 2 - Objekte auswählen

keine Objektauswahl

 

Schritt 3 - Objekte/Elemente verbinden mit Ard-Board

  • Laser Modul Pin1 -> Vcc; Pin3 -> GND
  • Fotodiode Modul  Pin1 -> A0; Pin2 -> Vcc; Pin3 -> GND
  • Ard-Board Digital[14]/ Analog[0] Out -> In Serial Serial[0]

 

Schritt 4 - Kompilieren und Hochladen des Programmcodes

  • Öffne in Visuino unten rechts durch Anklicken des roten Buttons das Arbeitsmenü, klicke den Reiter "Build" und anschließend den Button "Compile/Build and Upload" an. Wenn kein Fehler aufgetreten ist, wird das Programm nach kurzer Zeit in den Controller geladen sein. Viel Spaß beim Experimentieren!

Ausgabe der Rohdaten im Terminalfenster

 

 

 

 

Abb. 4a - Terminalausgabe (LDR mit natürlichem Lichteinfall). Der angezeigte Rohdatenwert ist abhängig von der Umgebungshelligkeit.

 

 

 

 

 

 

Abb. 4b - Terminalausgabe (LDR von Laser bestrahlt).

  • Die Messwerte gehen gegen Null, wenn der LDR vom Laserstrahl getroffen wird und pendeln sich um 0,4 ein, wenn das nicht der Fall ist.
  • Mit Blick auf Schritt 2 aus der Vorüberlegung (s.o.) soll der Buzzer anfangen zu summen, wenn der Messwert an A0 größer ist als zum Beispiel 0,3.

3.2 - Objektanordnung - zu Schritt 2

 

Schritt 1 - Objekte auswählen

Gib in Filtersuche "compare analog" ein, wähle das Objekt "CompareAnalogeValue" (s. Abb. 5a) und ziehe es in die Arbeitsfläche.

 

 

 

 

 

 

 

 

Abb. 5a

CompareAnalogValue-Objekt

 

 

 

 

Abb. 5b

Properties Einstellungen zum Objekt CompareAnalogValue.

Als CompareType wird ctBiggerOrEquel und als Vergleichswert 0,4 eingestellt. Der Vergleichswert muss individuell angepasst werden.

Schritt 2 - Objekte/Elemente verbinden mit Ard-Board

  • Buzzer Modul Pin3 -> D9, Pin1 -> GND, Pin2 -> Vcc
  • Ard-Board Digital[14]/ Analog[0] Out -> In ArduinoCompareValue1 Objekt
  • ArduinoCompareValue1 Objekt Out -> In Digital Digital[9]

 

Schritt 3 - Kompilieren und Hochladen des Programmcodes

  • Öffne in Visuino unten rechts durch Anklicken des roten Buttons das Arbeitsmenü, klicke den Reiter "Build" und anschließend den Button "Compile/Build and Upload" an. Wenn kein Fehler aufgetreten ist, wird das Programm nach kurzer Zeit in den Controller geladen sein. Viel Spaß beim Experimentieren!

  • Der Buzzer sollte "aufheulen", sobald der Laserstrahl zum LDR unterbrochen wird.

Versuchsaufbau

Im Versuchsaufbau habe ich statt eines LED-Moduls klassisch eine rote LED mit Vorwiderstand eingebaut (s. Abb. 6). Der Vorwiderstand kann weggelassen werden, wenn man in den Properties für das benutzte Ard-Board beim benutzten Pin (hier D13) einen Pull-Up Widerstand (s. Abb.7) aktiviert.

Alternativ ließe sich auch das DUO-LED Modul nehmen, dass gelb/grün leuchtet, solange der Strahlengang des Lasers nicht unterbrochen ist, und auf rot umspringt, sobald dies der Fall ist -> bitte selber ausprobieren!

 

 

 

 

 

 

 

 

Abb. 6

Versuchsaufbau zur Lichtschranke

 

 

Abb. 7 - Pull-Up Widerstand setzen

Für Pin D13 wird auf dem Ard-Board der Pull-Up Widerstand aktiviert.

In diesem Video (1:31s) wird der Schaltungsaufbau und die Reaktion der Schaltung im Betrieb gezeigt. Die Lichtschranke enthält neben einer LED auch eine Duo-LED.

Übung 2 - Joystick

 

1 - Pflichtenheft oder Was soll die Schaltung können?

  • Entwickle mit Hilfe eines Joystick-Moduls eine Schaltung, die über vier LEDs die Schalterposition (rechts, links, oben, unten) anzeigt.
  • Erweitere die Schaltung anschließend so, dass beim Drücken des Schalters eine fünfte LED aufleuchtet (alternativ kann auch ein Summerton ausgegeben werden).

2 - Material

  • Arduino- oder Arduino kompatibles Board (Ard-Board)
  • Steckbrett und Steckdraht (Ma-Ma, Fe-Ma)
  • 1x Joystick Modul, 4x LED (2x rot, 2x grün), 1x LED gelb
  • Arduino IDE und Visuino auf dem Rechner bereits installiert

Vorüberlegung

  • Schritt 1 - Baue eine Schaltung mit Joystick-Modul und vier LEDs auf dem Steckbrett auf (s. Abb. 8a und 8b). Denke daran, dass die LEDs unbedingt je einen Vorwiderstand benötigen, der über die Software zugeschaltet werden kann. Wenn du die Schaltung aufgebaut hast, lasse dir in Visuino über das Terminalfenster zu den vier möglichen Joystickpositionen (rechts, links, oben, unten) und dem Ruhezustand die Rohdaten ausgeben. Notiere die Werte und entwickle dann mit Visuino und geeigneten Objekten die komplette Ablaufschaltung, so wie im Pflichtenheft oben beschrieben.
  • Schritt 2 - Ergänze die Schaltung mit einer fünften LED (gelb) und den Visuinoaufbau durch entsprechende Objekte.so, dass die gelbe LED aufleuchtet, sobald der Joystick-Taster ausgelöst wird.
Abb. 8a - Schaltskizze zu Übung 2
Abb. 8b - Schaltskizze Joystick zu Übung 2

3.0 - Rohdatenwerte ermitteln - zu Schritt 1

Die Rohdatenwerte des Joystick-Moduls lassen sich ermitteln, indem man

  1. den Ausgang A0 mit dem Eingang Serial Serial[0] verbindet,
  2. das Programm kompiliert und startet und
  3. im Terminalfenster die Rohdatenwerte für die Ruhestellung und die beiden Extremstellungen (ganz rechts, bzw. ganz links und ganz oben bzw. ganz unten) abliest
  4. und das gleiche mit dem Ausgang A1 durchführt.

Mein Modul zeigte für beide Anschlüsse die Extremwerte 0 und 1 an und in der Ruhestellung des Joysticks den Wert 0,51.

3.1 - Objektanordnung - zu Schritt 1

 

Schritt 1 - Ard-Board festlegen

Starte das Programm Visuino und wähle in der Kopfzeile des Arduino-Blocks über das Werkzeug-Icon ganz rechts das eingesetzte Ard-Board aus (bei mir ist es ein Arduino UNO R3).

 

Schritt 2 - Objekte auswählen

Gib in Filtersuche "compare analog value" ein, wähle das Objekt "CompareAnalogeValue" (s. Abb. 5a) und ziehe es in die Arbeitsfläche. Insgesamt werden vier dieser Objekte benötigt.

 

Schritt 3 - Objekte/Elemente verbinden mit Ard-Board

 

 

 

 

Abb. 9a

Die Ausgänge der analogen Elemente Digital 14/ Analog[0] und Digital 15/Analog[1] sind mit den Eingängen von je zwei CompareValue-Objekten verbunden.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 9b

Die Ausgänge der vier CompareValue-Objekte werden mit den Eingängen D3, D4, D5 und D6 verbunden.

Schritt 4 - Objekte/Elemente Eigenschaften einstellen

  • Bei den vier Elemente Digital[3], Digital[4], Digital[5] und Digital[6] wird im Properties-Fenster des Arduino Boards unter Digital der Pullup-Widerstand gesetzt (s. Abb. 10).
  • Klicke auf eines der vier Objekte CompareAnalogValue und passe die Werte in den Feldern CompareType und Value nach deinen Messergebnisse an (s. Abb. 11).

 

Schritt 5 - Kompilieren und Hochladen des Programmcodes

  • Öffne in Visuino unten rechts durch Anklicken des roten Buttons das Arbeitsmenü, klicke den Reiter "Build" und anschließend den Button "Compile/Build and Upload" an. Wenn kein Fehler aufgetreten ist, wird das Programm nach kurzer Zeit in den Controller geladen sein. Viel Spaß beim Experimentieren!

 

 

 

 

 

 

 

Abb. 10 - Pullup-Widerstand setzen

Klicke das Element Digital[3] im Arduino Objekt an. Im Properties-Fenster öffne  Digital[3] und aktiviere durch Anklicken das Feld "Is Pull Up".

Abb. 11 - Properties/CompareAnalogValue

Die Rohdatenwerte lagen bei meinem Joystick zwischen 0 und 1. Als unteren Schwellwert habe ich deshalb 0,1, als oberen 0,9 genommen. Der CompareType ist einmal ctSmaller bzw. ctBigger.

3.2 - Objektanordnung - zu Schritt 2

 

Schritt 1 - Objekte auswählen

Gib in Filtersuche "digtial inverter" ein, wähle das Objekt "Digital(Boolean)Inverter" (s. Abb. 12) und ziehe es in die Arbeitsfläche.

 

Schritt 2 - Objekte/Elemente verbinden mit Ard-Board

Abb. 13

Verbinde Digital[2] Out mit In Inverter1 und Inverter1 Out mit Digital Digital[7],

Der Inverter muss hier dazwischen geschaltet werden, da der Taster des Joysticks auf Null gezogen wird, wenn man ihn drückt (siehe hierzu den Abschnitt: Das Joystick-Modul weiter oben).

 

 

 

 

 

Abb. 12 - Objekt DigitalBooleanInverter

Wenn alle Bauteile auf dem Steckbrett richtig verkabelt wurden, die Objekte/Elemente in Visuino korrekt verbunden sind und die Eigenschaften bei einigen Objekten entsprechend eingestellt wurden, dann sollte die Schaltung funktionieren. Das Kurzvideo zeigt das Ergebnis zu dieser Übung (s. oben).

240517

Druckversion | Sitemap
© Reinhard Rahner - Gettorf