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

Sensormodule und Visuino - Kapitel 5

Der Ultraschallsensor HC-SR04

 

 

 

 

 

Abb. 1a - Ultraschallsensor HC-SR04

Der Sensor verfügt über vier Anschlusspins:

Vcc, Trig, Echo und GND (von links nach rechts bei Vorderansicht)

Die Pinbelegung für Echo und Trig in der Abbildung kann verändert werden.

 

 

 

 

 

 

 

Abb. 1b - Ultraschallsensor PING))) (Fa. Parallax)

Der Sensor verfügt über drei Anschlusspins:

GND, Vcc, Signal (von links nach rechts bei Vorderansicht)

Übung 1 - Entfernungsmessung mit einem HC-SR04 - Teil 1

 

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

  • Es soll ein Ablaufplan mit Hilfe von Visuino Objekten erstellt werden, mit dem Entfernungsmessungen mit einem HC-SR04 möglich sind. Die Messdaten werden im seriellen Terminal ausgegeben.
  • Im Anschluss daran soll auf die Ausgabe der Messdaten verzichtet werden. Zwei LEDs (rot und grün) sollen so in den Ablaufplan eingebaut und eingerichtet werden, dass die rote LED aufleuchtet, sobald der Abstand zu einem erfassten Gegenstand kleiner als 50 cm ist. Bei einem Abstand größer oder gleich 50 cm soll die grüne LED aufleuchten.

 

2 - Material

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

 

3 - Objektanordnung - Aufgabenteil a

 

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 "ultrasonic" ein, wähle das Objekt "Ultrasonic Ranger" (s. Abb. 2) und ziehe es in die Arbeitsfläche.

 

 

 

 

 

 

 

 

 

 

Abb. 2 Filtersuche

Die Eingabe "ultrasonic" in der Filtersuche führt zum Objekt Ultrasonic Ranger.

Schritt 3 - Objekte verbinden (s. Abb. 3)

  • Ultrasonic Ranger1 Out -> In Serial Serial[0]
  • Ultrasonic Ranger1 Ping(Trigger) -> Digital Digital[2]
  • Arduino UNO R3 Digital[3] Out -> Ultrasonic Ranger1 Echo
  • Die Vorgabewerte im Fenster Properties (Eigenschaften) des Objektes Ultrasonic Ranger werden übernommen.

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 3

Das Objekt UltrasonicRanger1 verbunden mit dem Arduino UNO R3 Block.

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!

Terminalausgabe in der Arduino IDE

 

 

 

 

 

 

Abb. 4

Im Terminalfenster erscheinen die Messwerte in der Einheit cm.

Der zweite Teil der Übung baut auf den ersten Teil auf. Die Objekte aus Teil 1 werden übernommen und die Schaltung mit weiteren Objekten versehen.

Übung 1 - Entfernungsmessung mit einem HC-SR04 - Teil 2

 

Schritt 1 - Objekte auswählen

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

 

 

 

 

 

 

 

 

 

 

Abb. 5 - Objekt CompareAnalogRange

Schritt 2 - Objekte verbinden (s. Abb. 6) - Eigenschaften einstellen

  • Ultrasonic Ranger1 Out -> In Objekt CompareRange1
  • Ultrasonic Ranger1 Out -> In Objekt CompareRange2
  • CompareRange1 Out -> In Objekt LED_rot
  • LED_rot Out -> Digital Digital[4]
  • LED_grün Out -> Digital Digital[5]
  • CompareRange2 Out -> In Objekt LED_grün
  • Ultrasonic Ranger1 Out -> In Serial Serial[0] (optional, nur wenn man parallel zu den LEDs im Terminalfenster auch die Rohdaten sehen möchte)
  • Ultrasonic Ranger1 Ping(Trigger) -> Digital Digital[2]
  • Arduino UNO R3 Digital[3] Out -> Ultrasonic Ranger1 Echo
  • Die Vorgabewerte im Fenster Properties (Eigenschaften) des Objektes Ultrasonic Ranger werden übernommen.
  • Die Eigenschaften der Objekte CompareRange1 und CompareRange2 müssen angepasst werden. Die Felder Max und Min im Bereich Range müssen den Vorgaben aus dem Pflichtenheft entsprechend eingetragen werden (s. Abb. 7).

Abb. 6a - Beschaltung des Arduino-UNO Blocks; auf die Objekte LED_rot und LED_grün kann wieder verzichtet werden. Die Beschaltung vereinfacht sich dann so, wie in Abb. 6b gezeigt.

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 6b

Vereinfachte Schaltung ohne die Objekte LED_rot und LED_grün.

 

 

 

 

 

Abb. 7 - Eigenschaften abändern

Im Feld Range der beiden Objekte CompareAnalogRange werden in den Feldern Range/Max und Range/Min die entsprechenden Daten nach Vorgabe des Pflichtenheftes eingetragen.

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!

Schritt 5 - Experimentierfeld

  • Erweitere die Objektanordnung so, dass mit drei LEDs (rot, blau oder gelb, grün, je nachdem, welche LEDs in der Grabbelkiste liegen) die Bereiche:
    a) echt kleiner 50 cm (rote LED)
    b) zwischen 50 cm und echt kleiner als 150 cm  (gelbe oder blaue LED) und
    c) größer als 150 cm (grüne LED)
    durch Aufleuchten der entsprechenden LED angezeigt werden.

Das Relais-Modul

 

 

 

 

 

 

 

Abb. 8a - Relais-Modul

Draufsicht (Bild links), Kopfansicht mit drei Schraubklemmen (Bild rechts)

Ein Relais ist ein elektrisch zu betätigender Schalter. Er wird vornehmlich dort eingesetzt, wo nur ein schwaches Steuersignal vorhanden ist und/oder eine galvanische Trennung von Steuer- und Lastkreis gefordert ist.

Die Leistungsdaten des Relais sind dem Aufdruck zu entnehmen. Das vorliegende Relais-Modul enthält alle Komponenten, die zur Ansteuerung des Steuerkreises eines Relais notwendig sind: Transistor, Diode, Widerstände und darüber hinaus eine LED, die den Schaltzustand des Relais anzeigt. Dadurch lässt sich das Relais direkt über einen Arduino ansprechen.

Die drei Anschlusspins (s. Abb. 8a) tragen die Bezeichnungen (von links nach rechts):

  • S  - Steuersignal
  • +  -  Vcc, hier: 5 Volt
  • -   GND

Auf der Lastseite des Moduls befinden sich drei Schraubklemmen. Das vorliegende Relais ist ein Wechsler, d.h., der mittlere Klemmanschluss ist - je nachdem, ob das Relais angezogen ist oder nicht - mit dem oberen oder unteren Anschluss verbunden (s. Abb. 8b).

 

 

 

 

 

 

 

Abb. 8b - Prinzipschaltung Relais

 

Übung 2 - Ein Relais ein-/ausschalten

 

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

  • Es soll ein Ablaufplan mit Hilfe von Visuino Objekten erstellt werden, mit dem das eben vorgestellte Relais beschaltet wird. Die LED auf dem Relais-Modul dient als Nachweis für den Schaltprozess. Eine zweite, externe LED grün mit Vorwiderstand wird an die Lastseite des Relais geschaltet.

 

2 - Material

  • Arduino- oder Arduino kompatibles Board (Ard-Board)
  • Steckbrett und Steckdraht (Ma-Ma, Fe-Ma)
  • 1x Relais-Modul
  • 1x LED grün mit Vorwiderstand 1 kOhm
  • Arduino IDE und Visuino auf dem Rechner bereits installiert

 

3 - Objektanordnung

 

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 "relay" ein, wähle das Objekt "relay" (s. Abb. 9a) und ziehe es in die Arbeitsfläche.
  • Gib in Filtersuche "pulse" ein, wähle das Objekt "pulseGenerator" (s. Abb. 9b) und ziehe es in die Arbeitsfläche.

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 9a - Filtersuche "relay"

Wähle das Objekt Relay und ziehe es in die Arbeitsfläche.

 

 

 

 

 

 

 

 

Abb. 9b - Filtersuche "pulse"

Wähle das Objekt Digital - PulseGenerator und ziehe es in die Arbeitsfläche.

Schritt 3 - Schaltungsaufbau

 

 

 

 

 

 

 

 

Abb. 9c - Schaltungsaufbau mit externer LED grün

Die Signalleitung des Relais ist mit D3 des Arduino UNO verbunden.

Schritt 4 - Objekte verbinden (s. Abb. 10) - Eigenschaften einstellen (s. Abb. 11)

Abb. 10 - Objekte Relay und PulseGenerator mit Block Arduino UNO verbunden

 

 

 

 

 

 

 

 

 

Abb. 11 - Properties PulseGenerator

Die Frequenz (Hz) im PulseGenerator wird auf 0.1 Hz eingestellt.

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!

RTC-Module

Auf dem Markt befinden sich RTC-Module verschiedener Hersteller, die mit unterschiedlichen Uhr-Bausteinen (DS1302, DS1307, DS3132, ...) bestückt sind. Sehr populär und günstig sind die DS1307, die recht ungenau sind, dafür aber kostengünstig; weitaus genauer und teurer sind die DS3132 Typen.

Während beide ICs DS1307 und DS3132 über eine I2C-Schnittstelle angesprochen werden und mittels einer Knopfzelle elektrische Selbstversorger sind, sowie über ein kleines EEPROM und die Möglichkeit verfügen, Rechteckwellen mit unterschiedlichen Frequenzen zu erzeugen, verfügt das DS3231 zusätzlich über zwei Alarmfunktionen.

In der nachfolgenden Übung wird gezeigt, wie man die Zeiteinstellung bei einem RTC-Modul mit Visuino schnell vornehmen kann.

Abb. 12 - Das RTC-Modul von Elegoo

Die Pinanschlüsse von oben nach unten:

  1. GND
  2. Vcc
  3. SDA
  4. SCL
  5. SQW

Übung 3 - Zeit einstellen bei einem RTC DS1307/DS3231-Modul

 

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

  • Es soll ein Ablaufplan mit Hilfe von Visuino Objekten erstellt werden, mit dem die aktuelle Zeit in einem RTC-Modul über die Abfrage der Systemzeit eines Computers eingestellt werden kann.

2 - Material

  • Arduino- oder Arduino kompatibles Board (Ard-Board)
  • Steckbrett und Steckdraht (Ma-Ma, Fe-Ma)
  • 1x RTC-Modul (DS1307 oder DS3132)
  • Arduino IDE und Visuino auf dem Rechner bereits installiert

 

3 - Objektanordnung

 

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 "compile" ein, wähle das Objekt "compileDateTime" (s. Abb. 13a) und ziehe es in die Arbeitsfläche.
  • Gib in Filtersuche "rtc" ein, wähle das Objekt "RealTimeClock" (s. Abb. 13b) und ziehe es in die Arbeitsfläche.

 

 

 

 

 

 

Abb. 13a

Filtersuche "compile" und Auswahl des Objektes Compile Date/Time

 

 

 

Abb. 13b

Filtersuche "rtc" und Auswahl des Objektes RealTimeClock (RTC) DS1307

Schritt 3 - Objekte verbinden (s. Abb. 14)

 

 

 

 

 

 

 

 

Abb. 14

 

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!

 

Terminalausgabe in Visuino

260424

Druckversion | Sitemap
© Reinhard Rahner - Gettorf