Arduino Lektion 85: Multifunktionales Shield von Open-Smart

In diesem Tutorial möchte ich ein weiteres Multifunktionales Shield von der Firma „Open Smart“ vorstellen.

Die Zielgruppe für dieses Shield sind ganz klar die Anfänger im Bereich Microcontrollerentwicklung. Da das Shield direkt auf den Arduino UNO / Leonardo gesteckt werden kann entfällt eine aufwendige und ggf. fehlerbehaftete Verkabelung und man kann fast direkt mit der Programmierung beginnen.

Bezug

Das mir vorliegende Shield habe ich über Aliexpress für knapp 6$ inkl. Versandkosten erworben. Ich denke jedoch das dieses auch bald bei ebay.de erhältlich sein wird. (Es dauert nach meiner Erkenntnis ca. 4-5 Monate und dann sind diese Module und Shields auch auf ebay.de erhältlich.)

Ausstattung des Multifunktionalen Shields

Das Multifunktionale Shield verfügt über:

Die meisten dieser Sensoren / Aktoren habe ich bereits gesondert in Tutorials behandelt (Links sind hinter den Texten hinterlegt.) daher möchte ich auf kleine Beispiele mit diesen und dem Shield eingehen.

Das Shield wurde leider ohne Anleitung geliefert d.h. man muss zunächst einmal prüfen wo welche Sensoren / Aktoren angeschlossen sind. Hier reicht jedoch ein prüfender Blick auf der Platine denn die Leiterbahnen sind sehr gut zu erkennen und somit habe ich folgende Anschlüsse ermitteln können:

LEDs

  • D1 – digitaler Pin D2
  • D2 – digitaler Pin D3
  • D3 – digitaler Pin D4

NTC-Widerstand

  • analoger Pin A0

Fotowiderstand

  • analoger Pin A1

Buttos (Taster)

  • K1 – digitaler Pin D9
  • K2 – digitaler Pin D10
  • K3 – digitaler Pin D11

Piezo Buzzer

  • digitaler Pin D6

RTC DS1307

  • analoger Pin A4 – SDA
  • analoger Pin A5 – SCL

4fach 7 Segmentanzeige

  • digitaler Pin D8 – CLK

Programmieren

Wie bereits erwähnt habe ich die meisten der Sensoren / Aktoren bereits behandelt, daher möchte ich im folgenden einige kleine Beispiele aufzeigen wie diese verwendet werden können. 

Piezo Buzzer

Der Piezo Buzzer ist am digitalen Pin D6 angeschlossen und kann verschiedene Töne von sich geben.

LEDs

Das Shield verfügt über zwei rote, eine grüne und eine blaue LED. Im folgenden Sketch erzeuge ich mit diesen 4 LEDs ein kleines Lauflicht.

Video

Hier nun ein kleines Video, wie das oben gezeigte Sketch funktioniert.

LED Lauflicht auf dem Multifunktionales Shield von Open-Smart

 

Buttons (Taster)

Auf dem Multifunktions Shield sind 3 Taster verbaut, diese Taster öffnen den Kontakt beim drücken d.h. das Signal ist zunächst auf LOW und wenn der Taster gedrückt wird ist dieser HIGH.

Was nun beim dem oben gezeigten Sketch auffällt ist das die Taster „prellen“, d.h. beim drücken der Taster wird mehrmals ein Signal empfangen obwohl nur 1x kurz der Taster betätigt wurde. 

Wie man dieses Prellen abstellen kann habe ich im Tutorial XYZ beschrieben.

Video

Taster am Multifunktionalen Shield von Open-Smart

 

Fotowiderstand

Ein Fotowiderstand ist ein Widerstand welcher Licht abhängig seine größe bestimmt.
D.h. je höher die Lichtintensität welche auf den Fotowiderstand wirkt desto kleiner ist sein innerer Widerstand.

Den Fotowiderstand habe ich bereits im Tutorial Arduino Lektion 4: LED mit Fotowiderstand ausführlich behandelt.

Da das Shield über 4 LEDs verfügt wollen wir diese nutzen um die aktuelle Lichtintensität anzuzeigen. Der minimale Wert ist 0 und der maximale Wert 1023. Um diese Werte auf die 4 LEDs zu mappen gibt es die Funktion map

Die Funktion map hat 5 Parameter:

map(value, fromLow, fromHigh, toLow, toHigh)

Um dieses nun für unsere LEDs zu mappen sieht dieses dann wiefolgt aus:

Hier nun der gesamte Sketch:

Video

Auslesen und darstellen des Fotowiderstands am Multifunktionalem Shield von Open-Smart

 

4fach 7 Segmentanzeige

Eine einfache 7 Segmentanzeige habe ich bereits im Tutorial Arduino Lektion 26: TM1637 – 4 Digit 7 Segment Display beschrieben, die Segmentanzeige auf dem Multifunktions Shield hat einen anderen Chip jedoch wird diese ähnlich angesteuert.

Um die 7 Segmentanzeige auf dem Multifunktions Shield zu betreiben benötigen wir zunächst die Bibliothek für den Chip „TM1636“, die Bibliothek für diesen Chip findet man zbsp. auf dem GitHub Repository von Seeed-Studio. Für dieses Tutorial habe ich die Bibliothek heruntergeladen und einzeln als ZIP Datei zum Download bereitgestellt.

Wie man eine Bibliothek zur Arduino IDE hinzufügt habe ich im Tutorial Arduino IDE, Einbinden einer Bibliothek erläutert.

Wenn also die Bibliothek erfolgreich installiert wurde kann diese über den Befehl „#include“ einem Sketch hinzugefügt werden.

Video

4fach 7 Segmentanzeige am Multifunktionalen Shield von Open-Smart

 

NTC-Widerstand (Thermistor)

Ein NTC-Widerstand wird auch als Thermistor bezeichnet, dieses Bauelement ändert je nach Temperatur den Widerstand. Durch eine mehr oder weniger komplizierte Berechnung kann man nun aus dem sich verändernden Widerstandswert auf die Temperatur schließen. Im Tutorial Arduino Lektion 84: NTC-Widerstand (Heißleiter) habe ich bereits einen Thermistor vorgestellt und wie man die Temperatur ausließt, daher möchte ich in diesem Tutorial zeigen wie man nicht nur die Temperatur ausließt sondern auch auf der 4fach 7 Segmentanzeige anzeigt.

Video

Multifunktionales Shield von Open-Smart, Wert des NTC-Widerstands auf einer Segmentanzeige

RealTimeClock DS1307

Auf dem Multifunktionalen Shield ist zusätzlich eine RealTimeClock vom Typ DS1307 verbaut.

Die Schaltungen und Beispiele im Vorfeld zu diesem Kapitel habe ich mit dem Microcontroller Arduino Leonardo gemacht, jedoch benötigte ich für das betreiben der RTC DS1307 einen Arduino UNO. Das liegt vielmehr daran das auf dem Multifunktionalem Shield von Open-Smart die Pins für SDA & SCL auf den analogen Pin A4 bzw. analogen Pin A5 gelegt sind und dieses „nur“ am Arduino UNO funktioniert.

Bezug der benötigten Bibliotheken

Zunächst einmal benötigen wir wieder eine Bibliothek welche uns die Arbeit mit der RTC Ds1307 erleichtert. In meinem Fall wähle ich die Bibliothek „DS1307RTC“ von Paul Stoffregen welcher auf seinem GitHub Repository diese zum Download anbietet. Zusätzlich zur genannten Bibliothek benötigt man noch die Bibliothek „TimeLib“ hier benutze ich wiederum die Bibliothek von Paul Stoffregen welche auch vom GitHub Repository heruntergeladen werden kann.

Wenn beide Bibliotheken heruntergeladen und erfolgreich installiert wurden so kann mit der eigentlichen Programmierung begonnen werden.

Der Bibliothek „DS1307RTC“ liegen 2 sehr gute Beispiele bei welche ich im weiteren verwenden werde um die RTC am Arduino UNO zu betreiben.

Beispiele zur Bibliothek "DS1307RTC" von Paul Stoffregen
Beispiele zur Bibliothek „DS1307RTC“ von Paul Stoffregen

Programmieren der RTC DS1307

setzen der aktuellen Uhrzeit

Für das setzen der aktuellen Uhrzeit kann man das Beispiel „SetTime“ aus der Bibliothek „DS1307RTC“ verwenden.

auslesen der Uhrzeit

Die RTC verfügt über eine Pufferbatterie, diese Batterie befindet sich unter der 4fach 7 Segmentanzeige.

RTC DS1307 Pufferbatterie auf dem Multifunktionalem Shield von Open-Smart
RTC DS1307 Pufferbatterie auf dem Multifunktionalem Shield von Open-Smart

Die Pufferbatterie sorgt dafür das die einmal gesetzte Zeit gespeichert wird und fortgezählt wird somit ist beim nächsten starten des Arduinos kein erneutes setzen der Uhrzeit notwendig.

 

Ein Gedanke zu „Arduino Lektion 85: Multifunktionales Shield von Open-Smart

  • Mai 15, 2019 um 17:08
    Permalink

    Toller Blog , auch für einsteiger bestens geeignet

    Antwort

Schreibe einen Kommentar

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