letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das...

26
Projektheſt Projektaufgaben und Modulbeschreibungen zu Sensoren, Aktoren und Sonsgen gefördert von der letsgoING Mechatronik Hochschule Reutlingen

Transcript of letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das...

Page 1: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

Projektheft

Projektaufgaben und Modulbeschreibungen zu Sensoren, Aktoren und Sonstigen

gefördert von der

letsgoINGMechatronik Hochschule Reutlingen

Page 2: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

Projekt: Ambiente-Beleuchtung

Die Ambiente-Beleuchtung soll eine farbige Hintergrundbeleuchtung sein, welche eine an-genehme Atmosphäre in dem beleuchteten Raum erzeugt.

Die zu bauende Beleuchtung soll ihre Helligkeit abhängig vom Umgebungslicht anpassen. Dabei soll das Licht immer dunkler werden, je dunkler es im Raum wird.

Der Benutzer soll die Farben der Lampe einstellen und mischen können. Es sollen mindes-tens 10 verschiedene Farben fest einstellebar oder überblendbar sein.

Projektbeschreibung: Basisanwendung

Ein-/Ausschalter (leicht):Die Beleuchtung soll von dem Benutzer ein- und ausgeschaltet werden können.

Helligkeits-Kallibrierung (mittel):Beim Programmstart soll die Helligkeit gemessen werden und als Referenzwert für die maximale Helligkeit gespeichert werden.

Gehäuse (mittel)Baue ein Gehäuse, welches auf die Lampe gesetzt werden kann.

Farb-Fader(schwer):Die Farbe der Beleuchtung soll automatisch zwischen den Farben überblenden.

Erweiterungen

Die Ambiente-Beleuchtung Basiert auf einer Mehrfarb-LED und einemArduino als Mikrocontroller.

An die Lampe können mehrere Sensoren angebaut werden, damit sie auf ihre Umgebung reagieren kann.

1. Überlege dir, wie du das Programm in sinnvolle Teilaufgaben zerlegen kannst2. Suche dir für jede Teilaufgabe das passende Hardwaremodul aus3. Plane die Gesamtstruktur deines Programms (Reihenfolge der Teilaufgaben)4. Dokumentiere deine Planungsergebnisse5. Baue die Hardwaremodule auf und untersuche sie mit Hilfe der Aufgabenblätter6. Dokumentiere die Ergebnisse der Aufgabenblätter7. Setze die Teilfunktionen um und teste diese einzeln8. Setze die Teilfunktionen zusammen und teste die gesamte Basisanwendung9. Dokumentiere deine Ergebnisse und Erfahrungen

10. Suche dir eine Erweiterungen aus die du umsetzen möchtest11. Bearbeite diese wie die Basisanwendung (Schritte 1-9)→ Du kannst so viele Erweiterungen einbauen wie du willst, aber manche schließen sich ggenseitig aus.

Allgemeine Vorgehensweise

Page 3: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

Bei der Bearbeitung von Projekten ist das Testen unerlässlich. Hier findest du einige Tipps und Vorgehensweisen wie du schnell und zuverlässig testen kannst.

Grundlagen • Eventuelle Fehler im Programm oder im Aufbau schnell finden → möglichst kleine Teilaufgaben testen • Immer nur einen neuen Teil an das Programm anfügen → so weißt du immer wo der Fehler herkommt, falls einer Auftritt

Wie kannst du überprüfen, ob alle Werte / Rechnungen korrekt sind? → lasse dir die Werte der Rechnungen oder Variablen auf dem SerialMonitor ausgeben → verwende testweise feste Werte, anstatt eingelesener Werte (z.B. von analogRead) oder berechneter Werte Beispiel: 0, 512 und 1024 anstatt analogRead 0, 127 und 255 bei analogWrite anstatt berechneter Werte Teste auch ber die Grenzen hinaus (255 → 256 oder 1023 → 1030, ...)

Wie kannst du überprüfen, ob der Programmablauf richtig ist? → gebe die jeweilige Stelle im Programm auf dem SerialMonitor aus (z.B. „Start“ oder „Erstelle Zufallszahl“, ...) → nutze LEDs für dich als Information (Bsp.: FALLS a==1 → LED = rot SONST → LED = grün) → geht natürlich auch mit der Onboard-LED (AN/AUS) → Vergleiche deinen Programmablauf anschließend mit der Aufgabenstellung TIPP: Wenn du dir den Ablauf laut vorsagst, erkennst du selbtst leichter ob dein Ablauf stimmt (z.B.“wenn X gleich 1 dann schalte LED aus“)

Wie kannst du überprüfen ob die Ausgaben funktionieren → verwende wie oben feste Werte um die Ausgaben zu testen TIPP: wenn du selbst Werte festlegst, ist es sinnvoll sowohl die Grenzen als auch den Hauptbereich zu testen

Was tun wenn du nicht weiter weißt? 1. Wende die Lösungsansätze aus den Troubleshooting-Bereichen der Grundlagenhefte und Hardwaremodule an 2. In den Grundlagenheften sind für viele Probleme schon Lösungen oder Beispiele vorhanden → einfach nochmal nachsehen 3. Die Testprogramme bei den Hardwaremodulen sind gute Ausgangspunkte für dein Programm 4. Besprecht euch auch mit anderen Gruppen, vielleicht haben die eine Idee wie es gehen könnte 5. Fragt euren Lehrer oder einen Tutor nach Tipps

Testen und Troubleshooting

Beginne in deinem Schulheft, deinem Ordner oder einem Textdokument deine Projekt-Dokumentation. In diese Dokumentation muss alles eingetragen werden, was zur Bearbeitung deines Projektes wichtig ist. Die Dokumentation ist genauso wichtig wie Programmierung und der Aufbau. Diese Dinge müssen VOR der Bearbeitung des Projektes dokumentiert werden (Punkt 4 der Vorgehensweise): • In welche Teilaufgaben wird die Aufgabe unterteilt • Für jede Teilaufgabe / Erweiterung: • Welches Hardwaremodul soll für die Teilaufgabe verwendet werden • Warum wurde dieses Hardwaremodul ausgewählt • Wie soll die Teilaufgabe gelöst werden (verbale Beschreibung) • Wie soll die Teilaufgabe getestet werden • In welcher Reihenfolge sollen die Teilaufgaben in das Gesamtprogramm eingefügt werden?

Diese Dinge müssen WÄHREND der Bearbeitung der Hardwaremodule dokumentiert werden (Punkt 6 der Vorgehensweise): • Dokumentiere alle Ergebnisse der Aufgabenblätter zu den Hardwaremodulen

Diese Dinge müssen NACH der Bearbeitung des Projektes dokumentiert werden (Punkt 9 der Vorgehensweise): • Wenn ja, wie hat sich die Unterteilung der Teilaufgaben geändert • Welche Probleme traten bei der Bearbeitung auf und wie wurden sie gelöst • Mussten andere Hardwaremodule verwendet werden als die geplanten

TIPP:Bei der Dokumentation können Fotos vom Aufbau, Screenshots deines Programms und Programmablaufpläne (z.B. mit dem PAP-Designer) sehr hilfreich sein.

Dokumentation

Projekt: Die richtige Vorgehensweise

Page 4: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

Projekt: Linienfolge-Fahrzeug

Das Linienfolge-Fahrzeug soll ein sich selbstständig bewegender und agierender (autono-mer) Roboter sein. Es soll einer frei veränderbaren Linie folgen ohne, dass man von außen eingreifen (steuern) muss.

Das zu bauende Linienfolge-Fahrzeug soll eine schwarze Linie auf weißen Hintergrund er-kennen und ihr folgen können.

Das Fahrzeug soll mit den beiden Gleichstrommotoren bewegt werden.

Projektbeschreibung: Basisanwendung

Startknopf (leicht):Das Linienfolge-Fahrzeug soll erst starten, nachdem ein Startknopf betätigt wurde.

Bumper (leicht):Das Linienfolge-Fahrzeug soll Hindernisse vor sich erkennen und stoppen wenn der Abstand zu gering ist.

Geschwindigkeit einstellbar (leicht):Die Fahrgschwindigkeit der Linienfolge-Fahrzeug soll von dem Benutzer eingestellt werden können.

Start/Stop-Funktion (mittel):Die Motoren des Fahrzeugs sollen vom Benutzer gestartet und gestoppt werden können.

Abstandswarner (mittel):Das Linienfolge-Fahrzeug den Abstand zu einem Hindernis optisch anzeigen (z.B. durch Farbcodes oder Blinken).

Abstandsregelung (schwer):Das Linienfolge-Fahrzeug soll Hindernisse vor sich erkennen und und seine Geschwindigkeit anpassen um einen Mindestabstand nicht zu unterschreiten.

Erweiterungen

Das Linienfolge-Fahrzeug basiert auf einem Roboter mit zwei angetrie-benen Rädern und einem Arduino als Mikrocontroller.

An das Fahrzeug können verschiedene Sensoren und Aktoren angebaut werden um die einzelnen Aufgaben zu lösen.

1. Überlege dir, wie du das Programm in sinnvolle Teilaufgaben zerlegen kannst2. Suche dir für jede Teilaufgabe das passende Hardwaremodul aus3. Plane die Gesamtstruktur deines Programms (Reihenfolge der Teilaufgaben)4. Dokumentiere deine Planungsergebnisse5. Baue die Hardwaremodule auf und untersuche sie mit Hilfe der Aufgabenblätter6. Dokumentiere die Ergebnisse der Aufgabenblätter7. Setze die Teilfunktionen um und teste diese einzeln8. Setze die Teilfunktionen zusammen und teste die gesamte Basisanwendung9. Dokumentiere deine Ergebnisse und Erfahrungen

10. Suche dir eine Erweiterungen aus die du umsetzen möchtest11. Bearbeite diese wie die Basisanwendung (Schritte 1-9)→ Du kannst so viele Erweiterungen einbauen wie du willst, aber manche schließen sich ggenseitig aus.

Allgemeine Vorgehensweise

Page 5: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

Bei der Bearbeitung von Projekten ist das Testen unerlässlich. Hier findest du einige Tipps und Vorgehensweisen wie du schnell und zuverlässig testen kannst.

Grundlagen • Eventuelle Fehler im Programm oder im Aufbau schnell finden → möglichst kleine Teilaufgaben testen • Immer nur einen neuen Teil an das Programm anfügen → so weißt du immer wo der Fehler herkommt, falls einer Auftritt

Wie kannst du überprüfen, ob alle Werte / Rechnungen korrekt sind? → lasse dir die Werte der Rechnungen oder Variablen auf dem SerialMonitor ausgeben → verwende testweise feste Werte, anstatt eingelesener Werte (z.B. von analogRead) oder berechneter Werte Beispiel: 0, 512 und 1024 anstatt analogRead 0, 127 und 255 bei analogWrite anstatt berechneter Werte Teste auch ber die Grenzen hinaus (255 → 256 oder 1023 → 1030, ...)

Wie kannst du überprüfen, ob der Programmablauf richtig ist? → gebe die jeweilige Stelle im Programm auf dem SerialMonitor aus (z.B. „Start“ oder „Erstelle Zufallszahl“, ...) → nutze LEDs für dich als Information (Bsp.: FALLS a==1 → LED = rot SONST → LED = grün) → geht natürlich auch mit der Onboard-LED (AN/AUS) → Vergleiche deinen Programmablauf anschließend mit der Aufgabenstellung TIPP: Wenn du dir den Ablauf laut vorsagst, erkennst du selbtst leichter ob dein Ablauf stimmt (z.B.“wenn X gleich 1 dann schalte LED aus“)

Wie kannst du überprüfen ob die Ausgaben funktionieren → verwende wie oben feste Werte um die Ausgaben zu testen TIPP: wenn du selbst Werte festlegst, ist es sinnvoll sowohl die Grenzen als auch den Hauptbereich zu testen

Was tun wenn du nicht weiter weißt? 1. Wende die Lösungsansätze aus den Troubleshooting-Bereichen der Grundlagenhefte und Hardwaremodule an 2. In den Grundlagenheften sind für viele Probleme schon Lösungen oder Beispiele vorhanden → einfach nochmal nachsehen 3. Die Testprogramme bei den Hardwaremodulen sind gute Ausgangspunkte für dein Programm 4. Besprecht euch auch mit anderen Gruppen, vielleicht haben die eine Idee wie es gehen könnte 5. Fragt euren Lehrer oder einen Tutor nach Tipps

Testen und Troubleshooting

Beginne in deinem Schulheft, deinem Ordner oder einem Textdokument deine Projekt-Dokumentation. In diese Dokumentation muss alles eingetragen werden, was zur Bearbeitung deines Projektes wichtig ist. Die Dokumentation ist genauso wichtig wie Programmierung und der Aufbau. Diese Dinge müssen VOR der Bearbeitung des Projektes dokumentiert werden (Punkt 4 der Vorgehensweise): • In welche Teilaufgaben wird die Aufgabe unterteilt • Für jede Teilaufgabe / Erweiterung: • Welches Hardwaremodul soll für die Teilaufgabe verwendet werden • Warum wurde dieses Hardwaremodul ausgewählt • Wie soll die Teilaufgabe gelöst werden (verbale Beschreibung) • Wie soll die Teilaufgabe getestet werden • In welcher Reihenfolge sollen die Teilaufgaben in das Gesamtprogramm eingefügt werden?

Diese Dinge müssen WÄHREND der Bearbeitung der Hardwaremodule dokumentiert werden (Punkt 6 der Vorgehensweise): • Dokumentiere alle Ergebnisse der Aufgabenblätter zu den Hardwaremodulen

Diese Dinge müssen NACH der Bearbeitung des Projektes dokumentiert werden (Punkt 9 der Vorgehensweise): • Wenn ja, wie hat sich die Unterteilung der Teilaufgaben geändert • Welche Probleme traten bei der Bearbeitung auf und wie wurden sie gelöst • Mussten andere Hardwaremodule verwendet werden als die geplanten

TIPP:Bei der Dokumentation können Fotos vom Aufbau, Screenshots deines Programms und Programmablaufpläne (z.B. mit dem PAP-Designer) sehr hilfreich sein.

Dokumentation

Projekt: Die richtige Vorgehensweise

Page 6: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.1 Liniensensor

Unsere Mikrokontroller können, ohne zusätzliche Bauteile, an ihren Eingängen nur Span-nungen messen (analog oder digital). Wenn du z.B. eine Linie erkennen willst, brauchst du etwas, das die Information der Linie (Hell-/Dunkel-Kontrast) so umwandelt, dass es der Mikrocontroller versteht. Eine Möglichkeit ist der Liniensensor. Dieser sendet ein infrarotes Licht aus (mit einer IR-LED ) und misst wie stark das Licht re-flektiert wird (mit einem Lichttransistor). • heller Untergrund → starke Reflexion → kleiner Wert• dunkler Untergrund → schwache Reflexion → großer Wert

Damit das Ergebnis noch besser und unabhängig von äußeren Einflüssen ist (z.B. Sonnen-licht enthält einen großen IR-Anteil), sind zwei Lichttransistoren verbaut. So kann der Mik-rocontroller die Messungen der Lichttransistoren vergleichen (siehe Bild).

Wie funktioniert ein Liniensensor?

Pin2: Hier kann die IR-LED ein und ausgeschaltet werdenPin1/Pin3: Hier liegt das jeweilige Messergebnis an

R1/T1: R1 und T1 bilden eine Spannungsteilerschaltung. Ändert sich das Licht, welches auf den Transistor T1 fällt, so verändert sich die Spannung an Pin1. → Das Verhalten von Lichttransistoren ist hier prinzipiell ähnlich wie das eines LDRR2/T2: Identisches Verhalten wie R1/T1, nur liegt das Messergebnis an Pin3 an

Schaltplan

Das Liniensensor-Modul verfügt über drei Anschlüsse.Zwei geben ein analoges Messsignal zurück,der dritte Anschluss dient der Ansteuerung der IR-Beleuchtung. AnschlussdatenVersorgungsspannung 3,3-5VAnsteuerung Pin2 3,3-5V (digital)Signal Pin1/Pin3 0-5V (analog)

Technische Daten

Der Liniensensor misst die Reflexion von infrarotem Licht.

So kann er z.B. dunkle Linien auf hellen Untergründen erkennen.

Page 7: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.1 Liniensensor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit dem Arduino verbunden? • Richtiger Pin am Arduino gewählt → Pin1/Pin3 analoger Eingang → Pin2 digitaler Ausgang Leuchtet die IR-LED? • Funktion mit einer Kamera (z.B. Smartphone) überprüfen Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Modul ArduinoPin 2 → D2Pin 1 → A1Pin3 → A3

Aufbau:Verwende zum Testen ein Blatt mit einer schwarzen, aufgedruckten Linie oder mit eine Linie aus schwarzem Klebeband.

Testaufbau

Page 8: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.2 Helligkeitssensor

Der Helligkeitssensor misst die Umgebungshelligkeit unabhängig von der Lichtfarbe und gibt diese als analogen Wert aus.

Je heller das auftreffende Licht ist umso kleiner ist, das Ausgangssignal des Sensors. Da es nie ganz dunkel und nie ganz hell ist, umfasst das Ausgangssignal nur einen Teilbereich des analogen Eingangs. Wie groß der Bereich ist, hängt vom Hell-/Dunkel-Unterschied ab.

Wie funktioniert der Helligkeitssensor?

Pin1: Ausgabe der Helligkeit als analoger Wert

LDR: Lichtabhängiger Widerstand

R1: Potentiometer zum Abgleichen des LDRs (wähle die Mittelstellung)

Schaltplan

Nenndaten:Versorgungsspannung 3 - 5 VWiderstandsbereich 10k - 200k Ω

Technische Daten

Der Helligkeitssensor misst die Umgebungshelligkeit und gibt diese als Analogwert aus.

Unser Helligkeitssensor ist ein lichtabhängiger Widerstand (LDR) der in einen Spannungs-teiler eingebaut ist.

Ein Spannungsteiler besteht aus zwei, in Reihe geschalteten, Widerständen. An diesen zwei Widerständen teilt sich die angelegte Spannung im Verhältnis der Widerstandswerte auf. (R1 / R2 = U1 / U2)

Das Potentiometer ist als einstellbarer Widerstand verbaut. Damit kann der Spannungstei-ler eingestellt werden. Mann kann dazu folgende Formel verwenden:RRef=√(Rmax ∙ Rmin)

ACHTUNG:Das Potentiometer darf nie am Endanschlag sein, sonst funktioniert der Sensor nicht.

• R10 (Helligkeit 10 LUX) → 200 kΩ (dunkel)• R1000 (Helligkeit 1000 LUX) → 10 kΩ (Beleuchtung Klassenzimmer an)

→ So erhält man einen Spannungsteiler der sich durch die Helligkeit ändert.

Das Funktionsprinzip (für Profis)

Page 9: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.2 Helligkeitssensor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Modul-Pin mit Arduino verbunden? Ist das Programm richtig? • Stimmt der eingelesene Pin mit dem Aufbau überein? • Wird der richtige Pin verwendet (analogRead)?

Auf dem Serial-Monitor werden keine Werte ausgegeben • Ist der Arduino mit dem PC verbunden? • Überprüfe die im Programm verwendeten Blöcke Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Modul ArduinoPin 1 → A0

Testaufbau

Page 10: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.3 Distanzsensor

Der Distanzsensor besteht aus zwei Einheiten. Einer Sendeeinheit mit einer Infrarot-LED (IR-LED) und einer Empfangseinheit die auf IR-Licht reagiert. Die Messung läuft wie folgt ab:1. Die IR-LED sendet einen Lichtstrahl aus (unsichtbar für das menschliche Auge) 2. Trifft dieser Lichtstrahl auf ein Objekt, wird das Licht an der Oberfläche reflektiert und in viele verschiedene Richtungen (auch in Richtung des Sensors) zurückgestrahlt. 3. Im Empfänger des Sensors wird dieser Teil der zurückgeworfenen Strahlen mit einer Linse so gebrochen (umgelenkt), dass sie auf das Empfangsteil treffen. Dabei treffen die Lichtstrahlen, die von einem nahen Objekt (1) reflektiert werden weiter links auf als die Strahlen die von einem weiter entfernten Objekt (2) zurückge- worfen werden. Der Auftreffpunkt der Lichtstrahlen wird in einen analogen Wert umgewandelt und an den Sensorausgang weitergeleitet.

Wie funktioniert ein Distanzsensor?

Pin 1: Signalausgang: An diesem Pin erhält man die analogen Messwerte → Anschluss an analogen EingangPin 2 : GND-Anschluss / 0VPin 3 : Vcc / Anschluss der Versorgungsspannung ACHTUNG:Der Distanzsensor muss über das Adaptermodul angeschlossen werden.Wird der Sensor falsch angeschlossen ist er defekt!

Schaltplan

Der Sensor ist weitsichtig. Im Nahbereich unter 10cm liefert er falsche Werte.

ACHTUNG:Wird der Sensor falsch angeschlossen ist er defekt! Nenndaten:Versorgungsspannung 5 VAusgangsspannung 3,5-0V (10-80 cm) Messbereich 10-80cmDauer einer Messung ca. 16ms

Technische Daten

Der Distanzsensor misst den Abstand zu einem Objekt und gibt den ge-messenen Wert in Form eines analogen Wertes aus.

Page 11: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.3 Distanzsensor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Auf dem Serial-Monitor werden keine Werte ausgegeben • Ist der Arduino mit dem PC verbunden? • Überprüfe die im Programm verwendeten Blöcke Es werden zufällige Werte ausgegeben • Stimmt der analoge Eingang im Programm mit dem angeschlossenen überein? • Befindet sich das Messobjekt im Messbereich? (min. 10 cm / max. 80 cm Abstand) • IR-Licht von anderen Quellen kann stören (z.B. Sonnenlicht oder Neon-Röhren) Der Abstand zu manchen Objekten kann nicht gemessen werden • Zu kleine Ojekte werden nicht erkannt • Reflektierende Objekte weren nicht erkannt • IR-Licht von anderen Quellen kann stören (z.B. Sonnenlicht oder Neon-Röhren)

Troubleshooting

Sensor Modul ArduinoSignal S/1 A0GND G Vcc V

Testaufbau

Page 12: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.4 Drehsensor

Auf dem Modul befindet sich ein Potentiometer, welches als linearer Drehsensor ange-schlossen ist. Das bedeutet, dass es deinem Arduino einen analogen Messwert zwischen 0 und 1023 in Abhängigkeit zum Drehwinkel zurückgibt.• Anschlag im Uhrzeigersinn → 0• Anschlag gegen den Uhrzeigersinn → 1023

Wie funktioniert ein Drehsensor

Pin1: Hier liegt der analoge Wert vom Drehgeber an

R1: Potentiometer → hier als Spannungsteiler angeschlossen

Schaltplan

ACHTUNG: An den Signalpin des Potentiometers darf kein Verbraucher direkt angeschlossen werden (z.B. Motor o.ä.).

Nenndaten:Versorgungsspannung 3 - 5 Vmax. Leistung 0,25 W

Technische Daten

Der Drehsensor ist ein Potentiometer, der ein vom Drehwinkel abhängiges, analoges Signal ausgibt.

Man kann damit Benutzer-Eingaben erzeugen oder z.B. Winkelbewegungen messen.

Unser Drehgeber ist ein Potentiometer, das als Spannungsteiler aufgebaut ist. Ein Spannungsteiler besteht aus zwei, in Reihe geschalteten, Widerständen. An diesen zwei Widerständen teilt sich die angelegte Spannung im Verhältnis der Widerstandswerte auf. (R1 / R2 = U1 / U2)

Das Potentiometer besteht im Prinzip aus zwei Widerständen, welche über den Drehknopf verändert werden können. R1 = (1 - x) ∙ Rges → x = Drehstellung von 0 bis 1 R2 = x ∙ Rges

• Drehknopf in der Mitte → beide Widerstände sind gleich groß R1 = R2• Drehknopf im Uhrzeigersinn → R1 wird größer / R2 wird kleiner• Drehknopf geg. Uhrzeigersinn → R1 wird kleiner / R2 wird größer

→ So erhält man einen Spannungsteiler der über den Drehknopf verändert werden kann.

Das Funktionsprinzip (für Profis)

Page 13: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.4 Drehsensor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Modul-Pin mit Arduino verbunden? Ist das Programm richtig? • Stimmt der eingelesene Pin mit dem Aufbau überein? • Wird der richtige Pin verwendet (analogRead)?

Auf dem Serial-Monitor werden keine Werte ausgegeben • Ist der Arduino mit dem PC verbunden? • Überprüfe die im Programm verwendeten Blöcke Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Modul ArduinoPin 1 → A0

Testaufbau

Page 14: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.5 Touch-Sensor

Der Touch-Sensor erkennt bestimmte Materialien, wie z.B. den Finger eines Menschen. Dabei kann er ungefähr erkennen wie nahe das Material (der Finger) an dem Sensor ist.

Ab einem bestimmten Schwellwert, gibt er dann HIGH zurück. Befindet sich nichts in der Nähe gibt er LOW zurück.

Der eigentliche Sensor befindet sich in dem Mikrocontroller und kann nur an den analogen Eingängen verwendet werden. Daher muss das Touch-Modul an einen analogen Eingang angeschlossen werden.

Wie funktioniert ein Touch-Sensor?

Sensor-Pin: Über den Pin kann die Touchfläche an den Mikrocontroller angeschlossen werden

Touch-Fläche: Die Touch-Fläche ist eine (isolierte) Kupferfläche.

Das Touch-Modul besteht nur aus einer leitenden Fläche. Man kann statt des Moduls auch eine Münze, ein Stück Metall oder Kabel verwenden.

Dabei gilt: Fläche größer → Sensor wird empfindlicherFläche kleiner → Sensor wird unempfindlicher

Schaltplan

Unser Touchsensor besteht im Prinzip aus zwei Kondensatoren. Kondensatoren sind, stark vereinfacht gesagt, Speicher für elektrische Energie. Der eine Kondensator sitzt im Mik-rocontroller (1) und hat eine feste Größe, der andere besteht aus dem Modul und seiner Umgebung (2) und ist veränderlich. Beim Programmstart misst der Mikrocontroller wie groß die beiden Kondensatoren sind. Kommt man dann z.B. mit dem Finger in die Nähe des Sensors, vergrößert sich der zweite Kondensator. Geht man weiter weg, wird er wieder kleiner.

Der Mikrocontroller vergleicht die zwei Kondensatoren die ganze Zeit miteinander und erkennt, ob sich der zweite Kondensator geändert hat. Ab einem bestimmten Schwellwert gibt er das Signal aus, dass der Sensor berührt wird.

Das Funktionsprinzip (für Profis)

Der Touchsensor erkennt wenn sich ein Finger, o.ä. nähert. Ab einem bestimmten Abstand gibt der Touch-Sensor HIGH zurück.

Der Touch-Sensor ist also ein berührungsloser Taster.

Page 15: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.5 Touch-Sensor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Modul-Pin mit Arduino verbunden? • Ist das Modul an einen Analog-Pin angeschlossen? • Ist der zweite Analog-Pin unbelegt? Ist das Programm richtig? • Ist der Setup-Block im Programm? • Wird im Programm der richtige Q-Touch-Butten abgefragt? Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen??

Troubleshooting

Programmierhinweis:Für die Programmierung des Touch-Sensors brauchst du immer mindestens zwei Blöcke in deinem Programm:

Block Einstellungen1. Setup → Analog-Pin, an den der Sensor angeschlossen ist und ein zweiter, unbenutzter Analog-Pin, Button-Nummer (1-3)2. Q-Touch X → X = Button-Nummer (1-3) berührt

Testaufbau

Page 16: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.6 Taster

Ein Taster stellt eine Verbindung zwischen zwei Kontakten her, wenn er gedrückt wird.

Der Taster setzt das Signal am Pin auf HIGH, wenn er betätigt wird. Ist der Taster unbetätigt, also offen, liegt LOW am Pin an.

Wie funktioniert ein Taster?

Pin 1/2/3: An den Pins 1-3 kann der jeweilige Taster eingelesen werden. Pin 1 → Taster 1 Pin 2 → Taster 2 Pin 3 → Taster 3

S1/2/3: Die Taster S1-S3 schalten die Pins auf HIGH wenn sie gedrückt werden.

R1/2/3: Die Widerstände sind sogenannte „Pulldown“-Widerstände. Sie sorgen dafür, dass das Signal zuverlässig auf LOW geht wenn der jeweilige Taster offen ist.

Schaltplan

Das Tastermodul kann an jeden digitalen Eingang angeschlossen werden. AnschlussdatenVersorgungsspannung 3 - 5 V

Technische Daten

Mit einem Taster kannst du Signale an deinen Mikrocontroller senden.

Der Taster gibt seinen Zustand digital an den Arduino weiter.betätigt → HIGH / unbetätigt → LOW

Page 17: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 2.6 Taster

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Stromversorgung eingesteckt? • Jeder Pin mit dem Arduino verbunden? Ist das Programm richtig? • Werden im Programm dieselben Pins verwendet wie im Aufbau? Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Modul ArduinoPin 1 → D2Pin 2 → D3Pin 3 → D4

Testaufbau

Page 18: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.1 RGB-LED

Die RGB-LED besteht aus drei LEDs (rot, gruen, blau). Diese haben jeweils einen Anschluss über den sie angesteuert werden können. Man kann sie digital (AN/AUS) oder analog (über PWM) ansteuern.

Wenn man die RGB-LED digital ansteuert, kann man 8 verschiedene Zustände einstellen:aus, rot, grün, blau, gelb, cyan (türkis), magenta (violett) und weiß. Durch die additive Farbmischung entsteht, wenn alle Farben eingeschaltet sind, weißes Licht (vergl. mit Farbmalkasten → subtraktive Farbmischung).

Wenn man die LEDs mit PWM ansteuert, kann man theoretisch fast jede Farbe einstellen.Bei unserem Mikrocontroller sind das je Farbe 256 Möglichkeiten. Daraus ergeben sich 256 × 256 × 256 ≈ 16,8 mio. mögliche Farben

ACHTUNG: Da die LEDs sehr hell sind, darf man bei voller Leuchtkraft nicht direkt in die LED schauen.

Wie funktioniert eine RGB-LED

Pin 1: Pin zum Ansteuern der blauen LED.Pin 2: Pin zum Ansteuern der roten LED.Pin 3: Pin zum Ansteuern der grünen LED.

R1/2/3: Jede LED hat einen Vorwiderstand (zur Strombegrenzung).

Schaltplan

Die RGB-LED kann an jeden digitalen Pin angeschlossen werden. Es wird für jede Farbe ein Pin benötigt. Wenn die Farben gedimmt werden sollen, müssen PWM-fähige Pins (~) verwendet werden.

ACHTUNG: Da die LEDs sehr hell sind, darf man bei voller Leuchtkraft nicht direkt in die LED schauen. Nenndaten:Versorgungsspannung 3 - 5 VNennstrom je Farbe 20 mANennstrom gesamt (weiß) 60 mA

Technische Daten

Die RGB-LED besteht aus drei farbigen LEDs in einem Gehäuse.Es sind die Farben Rot, Grün und Blau verbaut.

Man kann jede Farbe einzeln ansteuern und so verschiedene Farben erzeugen und mischen.

Page 19: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.1 RGB-LED

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Jeder Pin mit dem Arduino verbunden? Funktioniert die RGB-LED? • Leuchten die einzelnen Farben, wenn sie direkt bei 5V eingesteckt werden?

Ist das Programm richtig? • Werden im Programm dieselben Pins verwendet wie im Aufbau? Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen??

Troubleshooting

Modul ArduinoPin 1 (blau) D6Pin 2 (rot) D5Pin 3 (grün) D4

Testaufbau

Page 20: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.2 Gleichstrommotor

Der Gleichstrommotor dreht sich mit einer bestimmten Geschwindigkeit. Diese Geschwin-digkeit hängt von der am Motor angelegten Spannung ab.→ je höher die Spannung umso höher die DrehzahlWill man die Drehrichtung ändern, muss man nur die Richtung der angelegten Spannung ändern.→ zum Ändern der Drehrichtung die Anschlussleitungen vertauschenDer Motor benötigt eine Mindestkraft um anzulaufen. Diese Kraft nennt man Losreißmo-ment. → Loslaufen des Motors erst bei ca. 3V

Da wir mit unseren Mikrocontroller keine analogen Ausgangswerte (unterschiedlich hohe Ausgangsspannung) erzeugen können, muss man die PWM verwenden, wenn man unter-schiedliche Geschwindigkeiten einstellen will. Dabei wird dem Motor einfach ganz schnell ein- und ausgeschaltet. Durch die hohe Trägheit des Motors, stoppt er nicht, sondern er dreht sich langsammer.→ mit PWM die Drehzahl ändernAuch wenn der Motor mit PWM angesteuert wird, benötigt er eine Mindestansteuerung, damit er sich dreht.→ Loslaufen des Motors bei ca. 30% Einschaltauer der PWM

Ein herkömmlicher Gleichstrommotor läuft mit sehr hohen Drehzahlen zwischen 3000 und 20000 1/min. Da das für die meißten Anwendungen viel zu schnell ist, werden Getriebe dahinter geschaltet. Das Getriebe reduziert die Drehzahl (und erhöht die Kraft) am Aus-gang.

Motordrehzahl Getriebeübersetzung Ausgangsdrehzahl

5000 48:1 104

ACHTUNG: Der Gleichstrommotor darf NIE DIREKT an den MIKROCONTROLLER ange-schlossen werden. Das würde den Mikrocontroller zerstören, da der Motor zu viel Strom benötigt.

Wie funktioniert der Gleichstrommotor?

Der Gleichstrommotor kann mit dem Transistormodul angesteuert werden.

ACHTUNG: Der Gleichstrommotor darf NIE DIREKT an den MIKROCONTROLLER ange-schlossen werden. Das würde den Mikrocontroller zerstören, da der Motor zu viel Strom benötigt.

Nenndaten:Versorgungsspannung 2-6 VNennspannung 5 VLeerlaufstrom 200 mAmax. Strom (Kurzschluss) 500 mANenndrehzahl 100 1/min.Getriebeübersetzung: 48:1

Technische Daten

Der Gleichstrommotor dreht sich, wenn er an eine Spannungsquelle an-geschlossen wird.

Man kann damit z.B. Fahrzeuge oder Roboter antreiben.

Page 21: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.2 Gleichstrommotor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Stromversorgung eingesteckt? • Signal-Pin mit Arduino verbunden? • Richtiger Pin am Arduino gewählt (PWM)? 2. Ist der Verbraucher richtig angeschlossen? • Alle Kabel angeschlossen? • Gleichstrommotor ist angeschlossen? •Anschlussklemmen sind angezogen?

3. Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Programmierhinweis:Der Schalttransistor kann sowohl an normalen digitalen Pins (digitalWrite) verwendet wer-den, als auch an PWM-fähigen (~-Symbol → analogWrite).

Aufbau:Schließe einen DC-Motor an den Ausgang des Schalttransistor. Hierbei ist die Anschlussrichtung egal → es ändert sich nur die Drehrichtung des Motors.

Testaufbau

Page 22: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.4 Schalttransistor

Unsere Mikrocontroller können nur sehr kleine Verbraucher(z. B. eine LED) schalten. Willst du mehrere LEDs oder z. B. einen Motor an einen Pin an-schließen, brauchst du einen Verstärker. Die einfachste Art eines solchen Verstärkers ist ein Schalttransistor. Der Schalttransistor funktioniert dabei prinzipiell wie ein Lichtschalter.• Finger → Ansteuersignal vom Mikrocontroller• Schalter → Transistor• Lampe → zu schaltender Verbraucher So kann dein Mikrocontroller den Verbraucher an- und ausschalten und muss dabei nur den Strom für den Transistor (10 mA) liefern. Man darf nur Verbraucher anschließen, die weniger Strom ziehen als der verwendeteTran-sistor maximal schalten kann.

→ Unser Transistor kann bis zu 600 mA schalten.

Wie funktioniert ein Schalttransistor?

Signal: Hier wird der Mikrocontroller-Pin angeschlossen.Anschlussklemme: Hier wird der Verbraucher angeschlossen.

T1: Der Transistor T1 schaltet den an den Anschlussklemmen angelegten Verbraucher ein und aus.R1: Der Widerstand R1 sorgt dafür, dass nicht zu viel Strom aus dem Pin in den Transistor fließt (Strombegrenzung).D1: Die Diode D1 schützt den Mikrocontroller vor Spannungsspitzen, die beim schnellen An- und Ausschalten von z.B. Motoren, Relais, o. ä. (Induktivitäten) entstehen können.

Schaltplan

Das Schalttransistor-Modul wird über einen Digital-Pin(ggf. mit PWM) angesteuert. Der Verbraucher wird andie Anschlussklemmen angeschlossen. AnschlussdatenVersorgungsspannung 2 - 5 VAusgangsspannung 2 - 5 V (= Versorgungsspannung)max. Ausgangsstrom 600 mA

Technische Daten

Der Schalttransistor verstärkt das Steuer-Signal vom Mikrocontroller in ein Leistungs-Signal für größere Verbraucher.

Page 23: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.4 Schalttransistor

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Stromversorgung eingesteckt? • Signal-Pin mit Arduino verbunden? • Richtiger Pin am Arduino gewählt (PWM)? 2. Ist der Verbraucher richtig angeschlossen? • Alle Kabel angeschlossen? • Anschlussklemmen sind angezogen? • Verbraucher richtig beschalten (z.B. Vorwiderstand bei LEDs)? 3. Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen?

Troubleshooting

Programmierhinweis:Der Schalttransistor kann sowohl an normalen digitalen Pins (digitalWrite) verwendet wer-den, als auch an PWM-fähigen (~-Symbol → analogWrite)

Aufbau:Schließe einen DC-Motor an den Ausgang des Schalttransistor. Hierbei ist die Anschlussrichtung egal → es ändert sich nur die Drehrichtung des Motors.

Testaufbau

Page 24: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.5 NeoPixel

Die Neopixel-LED ist eine RGB-LED mit einer integrierten Ansteuerung.Sie besteht also aus drei LEDs (rot, gruen, blau) und einem Controller-Chip. Dieser liest die Daten vom Mikrocontroller ein und steuert dann entsprechend die LEDs mit PWM an. Jede Farbe/LED hat eine Auflösung von 8 Bit, also 256 Werten.• 0 → LED aus• 255 → LED voll an

Bei drei LEDs ergeben sich daraus 256 x 256 x 256 Möglichkeiten, also ungefähr 16,78 Mio. Farben. Hängt man mehrere LEDs hintereinander, gibt der Controller die entsprechenden Informa-tionen an die nächste NeoPixel-LED weiter. ACHTUNG: Da die LEDs sehr hell sind, darf man bei voller Leuchtkraft nicht direkt in die LED schauen.

Wie funktioniert eine NeoPixel-LED?

DataIn: Hier kommen die Farbinformationen vom Mikrocontroller zum LED-Controller.

DataOut: Hier gehen die Farbinformationen für die ggf. nachfolgenden NeoPixel-LEDs weiter.

R1: Der Widerstand ist als Strombegrenzung zum Schutz des Mikrocontrollers verbaut.

C1: Der Kondensator schützt die NeoPixel-LED vor Störungen.

Schaltplan

Die NeoPixel-LED kann an jeden digitalen Pin angeschlossen werden.Es können an den Data-Out-Pin noch weitere NeoPixel-LEDs angehängt werden.

ACHTUNG: Die NeoPixel-LED wird sofort zerstört, wenn die Versorgungsspannung verpolt wird.→ Das kann nicht passieren, wenn du das Adaptermodul verwendest. Nenndaten:Versorgungsspannung 3,7 - 5 VNennstrom je Farbe 20 mANennstrom gesamt (weiß) 60 mA

Technische Daten

Die NeoPixel-LED ist eine RGB-LED mit integrierter Ansteuerung.

Man kann eine oder mehrere LEDs über eine Leitung ansteuern und bis zu 16 Mio. Farben einstellen.

Page 25: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 3.5 NeoPixel

Testprogramm ArduBlockTestprogramm PAP

Testprogramm C++

Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • DataIn-Pin mit Arduino verbunden? Funktioniert die NeoPixel-LED? • Leuchtet die NeoPixel-LED blau, wenn sie mit Strom versorgt wird? (DataIn nicht belegt) Ist das Programm richtig? • Ist der Setup-Block im Programm? • Ist im Programm die richtige NeoPixel-LED ausgewählt? (erste LED = 0) • Wird der „Sende Daten“-Block ausgeführt? Funktioniert der Arduino richtig? • Hat der Arduino Strom? • Wurde das Programm korrekt hochgeladen? • Wurde das richtige Programm hochgeladen??

Troubleshooting

Programmierhinweis:Für die Programmierung der NeoPixel-LEDs brauchst du immer mindestens drei Blöcke in deinem Programm:

Block Einstellungen1. Setup → Daten-Pin, Anzahl LEDs (der Rest muss nicht verstellt werden) 2. Farbe für Pixel → Daten-Pin, LED-Nummer (1.LED=0), Farben Rot, Grün, Blau 3. Daten senden → Daten-Pin

Testaufbau

Page 26: letsgoING - sps.ikg-rt.de · Testprogramm PAP Testprogramm ArduBlock. Testprogramm C++ Ist das Modul richtig angeschlossen? • Spannungsversorgung eingesteckt? • Alle Pins mit

PM 5.1 Adapter

Der Adapter hat zwei Funktionen:

1. Stromversorgung der Module. Die zwei Pin-Anschlüsse, die mit V und G gekennzeichnet sind, werden dazu mit dem Arduino verbunden. • V (Adapter) → 5V (Arduino) • G (Adapter) → GND (Arduino) Die anderen Module werden über die 2-polige Buchse oder über das schwarze und rote Kabel mit Strom versorgt. Die verbaute Diode schützt die anderen Module, falls die Anschlüsse vertauscht werden.

2. Adapter für andere Systeme (Sensoren/Aktoren) • An die Pins in der Mitte können Sensoren oder Aktoren angeschlossen werden, die einen drei-poligen Anschluss haben. (S → Signal, V → Spannung, G → Ground) • Über die Grove-Buchse können Komponenten aus dem Grove-System angeschlossen werden.

Wie funktioniert der Adapter?

Strom: Parallel zur Strombuchse ist eine Diode geschaltet. Diese wird leitend, wenn die Stromanschlüsse vertauscht (verpolt) werden und verhindert so Beschädigungen an empfindlichen Bauteilen.Pin 1-3: Die Input-Pins 1-3 sind direkt mit den Pinleisten in der Mitte verbunden.Pin 4+5: Die Pins 4 und 5 sind mit der Grove-Buchse verbunden.

Zusätzlich befinden sich noch Pins für die Versorgungsspannung (VCC) und Ground (GND) in den Pinleisten und der Grove-Buchse.

Schaltplan

Das Adaptermodul leitet die Signale direkt durch. Nur die Diode für den Verpolungsschutz hat Nenndaten.Die sind jedoch nur von Bedeutung, wenn die Stromanschlüsse vertauscht werden. Nenndaten der Diode:Dauerhafter Strom 300 mAKurzschlussstrom 500 mAmax. Spitzenstrom (1µs) 2000 mA

ACHTUNG:Wird der Adapter am Arduino falsch herum angeschlossen, wird der Arduino sehr heiß.

Technische Daten

Der Adapter bietet eine Schnittstelle zu weiteren Sensoren und Aktoren.

Über den Adapter werden die anderen Module mit Strom versorgt.