Kapitel 6. Anschluss von externen Komponenten

Eine Einteilung von externen Komponenten kann in die Kategorien Sensor/Aktor und analog/digital erfolgen.

Sensoren sind 'Fühler', die etwas aus der Außenwelt an den Rechner liefern. Schalter liefern an/aus, Potentiometer liefern einen Drehwinkel, Temperatursensoren liefern ein Temperatursignal. Der Rechner braucht Eingänge für den Anschluss.

Aktoren sind 'Beweger' oder 'Anzeiger'. Motoren, Elektromagnete bewegen etwas, Leuchtdioden zeigen Signale an, Summer geben Alarm. Der Rechner braucht Ausgänge, um diese anzusteuern.

Digitale Sensoren kennen nur die Werte an/aus. Beispiele sind Schalter, oder Lichtschranken (unterbrochen, nicht unterbrochen).

Analoge Sensoren verarbeiten kontinuierliche Werte, wie z.B. eine Temperaturmessung oder einen Abstandsmesser.

Ganz eindeutig ist diese Einteilung nicht immer: es gibt auch Mischformen wie z.B. einen Schalter mit integrierter Signalleuchte. Oder einen Temperatursensor (analog), der wenn es zu warm wird einen Alarm schaltet (digital).

6.1. Sensoren

6.1.1. Sensoren digital

6.1.1.1. Schalter

Sensor, Eingang, digital, Bedienelement

Schalter gibt es in verschiedenen Ausführungen.

Beispiele sind Taster (Klingelknöpfe), die nur ein Signal liefern wenn sie gedrückt sind.
Schalter bleiben in der Stellung, in die sie gesetzt werden. Beispiele sind Lichtschalter oder Motor An / Aus.

Sonderformen für Schalter sind

  • Mikroschalter mit Rollen, die von mechanischen Elementen wie Hebeln oder Schaltscheiben betätigt werden.
  • Reedschalter, die von Magneten betätigt werden.
  • Neigungsschalter, die geschlossen/ geöffnet werden, wenn der Schalter geneigt ist.

Anschluss an die IO-Signale der Adapterplatine. Diese müssen als Eingang konfiguriert sein.

Für den Aufbau wird benötigt

  • 1 Stück Neigungsschalter
  • 1 Stück Taster
  • 1 Stück Kippschalter mit Anschlusskabel
  • 1 Stück Reedkontakt; dieser ist auf einer Platine montiert um das Glasgehäuse zu schützen.
  • 3 Stück Schaltdraht schwarz 6cm beidseitig abisoliert
  • 4 Steckkabel Buchse-Stecker 1 schwarz, 4 sonst.

Aufbauhinweise:

  • Strom abschalten
  • Abdeckplatte abnehmen
  • Die Steckbrücken einsetzen wie in der Zeichnung gezeigt.
  • Abdeckplatte anbringen.
  • Teile auf dem Steckbrett anordnen und verbinden.
  • Den Kippschalter von unten in die Halteplatte einsetzen.
  • Der Reedkontakt hat ein Glasgehäuse, vorsichtig behandeln ! Beim Einsetzen der Platine in das Steckbrett nicht auf das Glasgehäuse drücken, sondern die Platine an den Seiten anfassen.

Kontrolle

  • Steckbrücken

Wenn alles fertig ist

  • Strom einschalten.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_schalter

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Scratch erhält die Sensorwerte: 's0', 's1', 's2', 's3'. Taster nicht gedrückt: '0'; gedrückt: '1'

Die scratchClient-Software steuert, wie die Signale zu Scratch übermittelt werden. Bei Schaltern wird in der Regel die Werte '0', '1' benutzt, für Buttons die Signale 'pressed' oder 'released'. In diesem Beispiel wird auch für den Taster dasselbe Verhalten wie ein Schalter benutzt.

Aufgabe

Schreibe ein Programm in Scratch, das die Schalterpositionen abfragt.

Idee: Alarmanlage für ein Zimmer (Simulation).

Zeichnet ein Zimmer mit Tür, Lampe, Alarmanlage.

Mit dem Kippschalter soll das Licht an- und ausgeschaltet werden.

Der Reedkontakt (soll versteckt in der Tür angebracht sein) soll den Alarm anschalten.

Die Alarmanlage soll ausgeschaltet werden können, wenn der Taster dreimal gedrückt wird (das ist der Geheimcode hier).

Wie wird die Alarmanlage wieder eingeschaltet ?

Was könnte mit dem Neigungsschalter angesteuert werden ?

Überlegt euch, wie ihr den anderen Schülern das Programm erklärt. Was sind die ganz wichtigen Punkte ? Was weniger wichtig ist soll an den Schluss.

[Anmerkung]
Hinweis: Nicht zu viel Zeit für das Zeichnen des Zimmers verwenden. Es gibt in den fertigen Hintergründen ein 'indoor'-Zimmer 'room3', was ganz gut verwendet werden kann.

6.1.1.2. Gabellichtschranken

Sensor. Eingang, digital, optisch

Die Anschlüsse GL4..GL7 sind für Gabellichtschranken vorgesehen.

Belegung der Anschlüsse

  • Pin 1, Masse
  • Pin 2, auf der Platine mit IO4..IO7 verbunden. Pullup-Widerstand 10kOhm
  • Pin 3, Sendediode Anode. Auf der Platine mit 390 Ohm gegen 3V3 angeschlossen.

Für den Aufbau wird benötigt

  • 1 Stück Gabellichtschranke TCST1103
  • 1 Stück Schaltdraht schwarz 6cm beidseitig abisoliert
  • 2 Stück Schaltdraht schwarz 3cm beidseitig abisoliert
  • 3 Steckkabel Buchse-Stecker 1 schwarz, 2 sonst.

Aufbauhinweise:

  • Strom abschalten

  • Abdeckplatte abnehmen
  • Die Steckbrücken einsetzen wie in der Zeichnung gezeigt.
  • Abdeckplatte anbringen.

  • Teile auf dem Steckbrett anordnen und verbinden. Bei der Gabellichtschranke auf die Beschriftung achten,

Kontrolle

  • Steckbrücken
  • Lichtschranke 'richtig herum'

Wenn alles fertig ist

  • -Strom einschalten.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_pir

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Scratch erhält die Sensorwerte: 'gl4': offen: '1'; unterbrochen: '0'

[Anmerkung]

Flankenerkennung. Manchmal möchte man erkennen, wann sich ein Signal ändert.

Das folgende Programm erledigt so eine Aufgabe. Eine Variable merkt sich den 'alten' Stand wert_vorher. Wenn der Wert <> (ungleich) dem alten Wert ist, dann hat sich der Wert geändert.

setze wert_vorher = wert
wiederhole
    wenn wert <> wert_vorher
        sende 'wert hat sich geaendert'
        setze wert_vorher = wert
 					

Aufgabe

Schreibe ein Programm in Scratch für einen Verkaufsautomaten. Da in dieser Stunde kein Automat komplett aufgebaut werden kann, soll der Automat in Scratch simuliert werden.
Die Lichtschranke soll die eingeworfenen Münzen in dem Automaten an Scratch melden. Wenn eine bestimmte Anzahl Münzen eingeworfen wurden, dann soll ein Gegenstand ausgegeben werden,. Objekte:
  • A, Automat, selber malen. Hier nicht viel Zeit verwenden !! Sonst wird es am Schluss zu knapp.
  • B, was zu verkaufen, Bananen oder Bälle oder Bonbons oder Bauklötze
Dann schrittweise:
  1. Zeige das Sensorsignal auf der Bühne an und überprüfe, ob die Lichtschranke funktioniert
  2. Wenn sich das Sensorsignal ändert soll ein Zähler hochgezählt werden. Zeige den Zähler auf der Bühne.
  3. Und schliesslich soll, wenn der Zähler 'drei' erreicht, die Ausgabe erfolgen: Mache das B-Objekt im Ausgabeschacht sichtbar und bewege das nach kurzer Zeit weg dort.
  4. Probiert das Programm mehrmals hintereinander aus.
Überlegt euch, wie ihr den anderen Schülern das Programm erklärt. Was sind die ganz wichtigen Punkte ? Was weniger wichtig ist soll an den Schluss.
Zusatzaufgabe: Benutze die Buttons s0, s1 auf der Adapterplatine, um ein Zurücksetzen des Verkaufs zu starten. Die Buttons werden als Signale 's0_pressed' oder 's1_pressed' an Scratch gegeben.
Der Automat könnte noch ein wenig rumpeln (Geräusche) oder rappeln (Bewegungen) wenn die Ausgabe erfolgt.

6.1.1.3. Drehencoder, Gabellichtschranke

Sensor, Eingang, digital, optisch

Die Anschlüsse GL4..GL7 sind für Gabellichtschranken vorgesehen.

  • Pin 1, Masse
  • Pin 2, auf der Platine mit IO4..IO7 verbunden. Pullup-Widerstand 10kOhm
  • Pin 3, Sendediode Anode. Auf der Platine mit 390 Ohm gegen 3V3 angeschlossen.

Zwei Gabellichtschranken werden zu einem Drehencoder kombiniert.

Ein 'Zackenrad' unterbricht die beiden Lichtschranken. Der zeitliche Verlauf der Signale wird zur Ermittlung des Drehwinkels verwendet.

[Anmerkung]
Diese Anordnung liefert keine Absolutwerte. Das bedeutet, dass wenn man die Apparatur ausschaltet, den Drehwinkel verändert und wieder einschaltet, dann kann der Rechner den veränderten Winkel nicht feststellen. Es gibt Vorrichtungen mit mehr Lichtschranken und binärer Codierung, die absolut messen können.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_drehencoder

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Scratch Werte sind 'position_A' für Anschlüsse an gl4, gl5 und 'position_B' an gl6, gl7. Es werden Zahlenwerte gemeldet, 30° Drehwinkel entsprechen einer Veränderung um 1 rechtsdrehend bzw. -1 linksdrehend.

Beispielprogramm: drehencoder_sprite_drehen.sb

6.1.2. Sensoren analog

Analoge Sensoren liefern eine kontinuierliche Spannung. Jeder Spannungswert wird einer bestimmten Bedeutung 'Zahl' zugeordnet. Analoge Sensoren können über einen AD-Wandler angeschlossen werden.

Es gibt aber auch eine Vielzahl von analogen Sensoren, die ihre Ergebnisse im Sensor bereits in digitale Werte umwandeln und dann digital an den Prozessor melden.

6.1.2.1. AD-Wandler

Analog-Digital-Umwandler werden benutzt, wenn ein Spannungssignal in ein für den Rechner verständliches Digitalsignal umgewandelt werden soll.

Viele analoge Sensoren liefern Spannungssignale.

Eingangssignale sind 0..3.3V. Der eingesetzte Schaltkreis kann zwei Eingänge verarbeiten. Auf der Rechnerseite ist der AD-Wandler über SPI.0 angeschlossen.

Der AD-Wandler liefert Zahlenwerte von 0..1023 für 0..3,3V Eingangssignal. Für die Temperaturmessung werden Zahlenwerte 0..4095 verwendet.

6.1.2.2. Potentiometer

Sensor, Drehwinkel, analog, Bedienelement

Potentiometer können direkt an den AD-Wandler angeschlossen werden. Der dreipolige Anschluss der AD-Wandler stellt Masse, Versorgungsspannung und einen Eingang zur Verfügung.

Anschlüsse

Pin 1Masse
Pin 2Eingang
Pin 33,3V

Für den Aufbau wird benötigt:

  • 1 Stück Potentiometer 2,2 kOhm oder 10kOhm
  • 1 Stück Drehknopf

[Anmerkung]
Für den Versuchsaufbau wird ein Potentiometer mit angelötetem Kabel verwendet. Der Stecker kann direkt an die Adapterplatine angeschlossen werden.

Aufbauhinweise:

  • Strom abschalten
  • Halteplatte abnehmen
  • Potentiometer, Mutter abnehmen
  • Potentiometer von unten in Halteplatte einstecken (ovales Loch)
  • Potentiometer mit Mutter festschrauben
  • Halteplatte wieder anbringen

  • Abdeckplatte abnehmen
  • Die Steckbrücken einsetzen wie in der Zeichnung gezeigt.
  • Abdeckplatte anbringen.
  • Kabel des Potentiometers an Adapterplatine einstecken. Die Polarität ist hier nicht wichtig.
  • Drehknopf auf Achse des Potentiometers anbringen. Mit Schraube fixieren.

Kontrolle

  • Anschluss an richtigem Steckanschluss.
  • Steckbrücken

  • Strom einschalten.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_adc

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Scratch erhält die Sensorwerte: 'adcA', Werte von 0..1023.

Aufgabe

Spielidee: Die Katze wird durch Potentiometer bewegt und muss fliegenden Quadraten ausweichen.

Verkleinere die Katze ein wenig, und lass diese am linken Rand der Bühne sich auf- und abbewegen. Die y-Position wird über das Potentiometer gesteuert. Zur Berechnung des y-Wertes wird die Skalierung verwendet.

Dann lass von rechts kleine Quadrate zufällig durch das Bild fliegen. Die Höhe soll zufällig sein, und die Wartezeit auch zufällig. Zwei Gegenstände sind ausreichend. Die Katze muss diesen Gegenständen ausweichen.

Wenn die Katze eines der Rechtecke berührt, ist das Spiel beendet. Wenn die Quadrate alle dieselbe Farbe haben, dann wird diese Prüfung einfach.

Überlegt euch, wie ihr den anderen Schülern das Programm erklärt. Was sind die ganz wichtigen Punkte ? Was weniger wichtig ist soll an den Schluss.
Zusatzaufgabe: Als Spieler ist man umso besser, je länger die Katze nicht getroffen wird. Ein Zeitzähler kann die abgelaufene Zeit anzeigen.

6.1.2.3. IR-Abstandsensor

Sensor, analog, optisch, infrarot

An dem AD-Wandler kann ein IR-Abstandsensor angeschlossen werden. Wegen der verwendeten höheren Betriebsspannungen und dem dadurch nötigen Schutz des empfindlichen AD-Wandlers sind eigene Anschlüsse IR0, IR1 vorbereitet.

Der Sensor ist auch ein Beispiel für einen Sensor, wo zwischen zu messender Grösse (Abstand) und der Spannung kein linearer Zusammenhang besteht.

Anschlüsse
Pin 1: Masse
Pin 2: Eingang, 0..3.3V mit Schutzschaltung
Pin 3: 5V

[Warnung]

Vorsicht

Pin 3 von IR0 bzw. IR1 nie mit anderen Anschlüssen der Platine verbinden.

Die auf der Platine vorhandene Schutzschaltung begrenzt Eingangsspannungen größer 3.3V auf intern max. 3.3V+0.4V, so dass der AD-Wandler innerhalb der Spezifikation betrieben wird.

Falls die Eingangsspannung grösser als 3.3V wird, so leitet die Diode und begrenzt die Spannung. Schottky-Dioden sind spezielle Dioden mit kleiner Durchlassspannung.

Der Widerstand begrenzt den Strom und damit die Belastung des angeschlossenen Gerätes.

Der Sensor Sharp GP2Y0A21YK ist ein 'wide-angle distance measuring sensor', die 'Detection Area Diameter @ 80 cm: 12 cm' wird also bei der maximalen Messweite relativ gross.

Die Spannung, die der Sensor liefert, ist von der Entfernung abhängig, aber nicht linear.

Kennlinie aus Sharp GP2Y0A21YK

Im Bereich kleiner 6cm nimmt die Spannung ab. Dieser Bereich sollte nicht verwendet werden um eindeutige Werte zu erhalten.

In der scratchClient-Software werden die Werte des AD-Wandlers in Entfernungen [mm] umgerechnet.

Das Infrarotlicht des Sensors ist nicht sichtbar. Mit einer elektronischen Kamera, z.B. in einem Smartphone, kann man das Licht sehen.

Für den Aufbau wird benötigt

Aufbauhinweise:

  • Strom abschalten

  • Abdeckplatte abnehmen
  • Die Steckbrücken einsetzen wie in der Zeichnung gezeigt.
  • Abdeckplatte anbringen.

  • Sensor auf der Platte montieren.

Kontrolle

  • Steckbrücken
  • Sensor richtig herum (schwarzes Kabel nach aussen)

Wenn alles fertig ist

  • Strom einschalten.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_irdistance

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Scratch erhält die Sensorwerte: 'distanceA', Werte von 800 bis 60 [mm]. Diese Werte sind aus den Messwerten des Sensors berechnet.

Aufgabe

Spielidee: „Schepperbox“, ein Musikinstrument.

„Spiele Note“ in einer Schleife. Die Tonhöhe wird von den Werten aus dem Sensor bestimmt. Die Werte von ca 100 bis 800 sollen umgerechnet werden, so dass immer ein hörbarer Ton ausgegeben wird. Die Berechnung kann mit der Skalierung erfolgen. Wenn der Maximalwert erhalten wird, also der Sensor 'offen' ist, dann soll der Ton gestoppt werden. Auf der Bühne soll eine Skala gezeichnet werden; der aktuelle Ton soll mit einem Pfeil anzeigt werden.

Überlegt euch, wie ihr den anderen Schülern das Programm erklärt. Was sind die ganz wichtigen Punkte ? Was weniger wichtig ist soll an den Schluss.
Benutzt eine Digitalkamera, um den Lichtstrahl zu beobachten.
Zusatzaufgabe: Spielt 'alle meine Entchen' mit dem Instrument.
Zusatzaufgabe, kompliziert: Zeichnet die gespielten Töne in Notenschrift.

6.1.2.4. Temperatursensor TMP36

Der Temperatursensor TMP36 gibt eine Spannung proportional zur Temperatur aus.

Hier ein Auszug aus dem Datenblatt /analog devices, tmp36/

Spannung des Sensors in Abhängigkeit der Temperatur.

In dem Diagramm sind drei ähnliche Sensoren aufgeführt.

Um die Temperatur zu ermitteln werden mehrere Berechnungen benötigt. In den Aufgaben ist eine Schritt-für-Schritt Anleitung enthalten.

Die Spannung U wird mit dem ADC-Wandler auf der Adapterplatine gemessen. Dafür wird dieser in der Betriebsart '12 Bit' betrieben, also vier mal genauer als z.B. für die Potentiometer.
In dieser Auflösung liefert der AD-Wandler Messwerte im Bereich [0..4095].

Berechnung 1: aus dem Wert des AD-Konverters wird die Spannung berechnet.

Eingabe: Messwert_ADC
Ergebnis: U, Spannung am TMP36

U = Messwert_ADC * 3.3 / 4096

Berechnung 2: Mit der Spannung des Sensors kann man dann die Temperatur bestimmen.

Eingabe: U, Spannung am TMP36 aus Berechnung 1.
Ergebnis: T, Temperatur

T = ( U - 0,5 ) * 100

Die Anschlüsse des TMP36. Das Gehäuse ist an einer Seite abgeflacht.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_adc_tmp36

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Die Messwerte werden mit dem Sensorwert 'adcA' übermittelt.

Aufgaben, der Reihe nach ausführen.

Den Messwert 'adcA' auf der Bühne anzeigen.

Den Sensor etwas erwärmen (von Hand oder mit einem Fön). Der Wert 'adcA' sollte sich vergrössern und wenn der Sensor abkühlt dann wieder auf den vorherigen Wert zurückgehen.

Dieser Schritt ist eine erste Funktionskontrolle, ob die Anschlüsse funktionieren.

Die Spannung am Sensor aus dem adcA-Wert berechnen. Das Ergebnis soll in einer Variable 'U' gespeichert werden. Diese ist lokal. Die Variable auf der Bühne einblenden.

Es wird die Berechnungsformel 1 verwendet.

Bei Raumtemperatur sollte 0,7 ermittelt werden. Genauer gesagt sind das 0,7 Volt. 'Volt' ist die Masseinheit für elektrische Spannung.

Wieder den Sensor erwärmen. Der Spannungswert sollte sich verändern.

Der Wert wird nur einmal berechnet ? Dann eine Schleife verwenden !

Berechnung 2: aus dem berechneten Spannungswert 'U' aus dem vorherigen Schritt die Temperatur berechnen.

Das Ergebnis wieder in eine Variable, lokal 'T' abspeichern und auf der Bühne anzeigen.

Bei Raumtemperatur sollte etwa 20 ermittelt werden. Genauer gesagt sind das 20 °C, Grad Celsius.

Wieder den Sensor erwärmen. Die Temperatur sollte sich verändern.

Anzeige der Temperatur auf der Bühne. Hier ein Beispiel, wie es aussehen soll . Das Video zeigt einen kleinen Punkt, der sich von links nach rechts bewegt und eine Linie zeichnet. Die y-Werte zeigen die Temperatur an.

Zeichne ein kleines blaues Rechteck. Bewege es zuerst langsam von links nach rechts über die Bühne. Der y-Wert wird mit der Temperatur belegt. Zur Berechnung des y-Wertes wird die Skalierung verwendet.
Benutze die 'Stempelfunktion' oder den 'Stift', um das Rechteck auf die Bühne zu zeichnen.

Ein sinnvoller Bereich für die Anzeige der Temperatur von 0 bis 50°C, auf der Bühne z.B. -100 bis +100.

Zeichne Skalen-Linien bei 10, 20, 30, 40 Grad auf die Bühne.

Eine Schritt-für-Schritt-Anleitung ist hier im angehängten Dokument zu finden.

6.1.2.4.1. Temperatur, Schaltregler

Der Versuch ist eine Erweiterung der Temperaturmessung aus dem vorangehenden Kapitel.

Temperaturregler sorgen an vielen Stellen dafür, dass Temperaturen einen bestimmten Wert einhalten.

  • Kühlschrank
  • Kochplatte
  • Raumthermostat
  • Lötkolben

Blockschaltbild Regelkreis

Regler funktionieren so, dass die Ist-Grösse (oder Regelgrösse, hier die Temperatur) laufend mit der Sollgrösse (oder Führgrösse, die Ziel-Temperatur) verglichen werden. Der Regler ermittelt aus der Differenz dieser beiden Werte (Regelabweichung) eine Stellgrösse, welche die Regelstrecke beeinflusst. Die Stellgrösse ist für den Zweipunkregler ist 'Heizung an' bzw. 'Heizung aus'.
Durch die fortlaufende Messung der Temperatur und Rückkopplung kann eine Sollgrösse weitestgehend unabhängig von den Umgebungsbedingungen eingehalten werden. In anderen Worten: der Regelkreis sorgt dafür, dass die Regelabweichung minimal wird.
Regler können natürlich nicht nur Temperaturen regeln. Füllstände, Positionen, Geschwindigkeiten, chemische Eigenschaften in Reaktoren sind weitere Beispiele.

Ein Schaltregler funktioniert so, dass die Temperatur laufend gemessen wird und wenn diese kleiner als der (Sollwert-1 Grad) ist, dann wird die Heizung eingeschaltet. Wird der Sollwert erreicht, dann wird die Temperatur ausgeschaltet. Solche Schaltregler sind einfach zu konstruieren; die in Heizlüftern oder Kühlschränken verbauten Bimetallschalter sind Zweipunktregler. Der Temperaturunterschied zwischen Ein- und Ausschalten ist deswegen vorhanden, da man die Anzahl der Schaltvorgänge verringern möchte. So sollte ein Kompressoraggregat wie in einem Kühlschrank nicht zu häufig an-/ausgeschaltet werden. Auch belasten die Schaltvorgänge bei mechanischen Schaltern (Bimetallschalter, Relais) die Kontakte, so dass weniger Schaltvorgänge die Lebensdauer vergrössern.

Es gibt wesentlich genauere und schnellere Regler als wie den Zweipunktregler, wie z.B. Proportional-, Integral- oder Differentialregler oder Kombinationen davon.

Denkfrage: Ein Kühlschrank kann 8° Innentemperatur bei Raumtemperaturen von 8° bis 40° einhalten. Aber bei einer Raumtemperatur kleiner 8° oder höher als 40° funktioniert das nicht mehr. Warum ?

Bei dem Versuch hier wird als Regelstrecke ein hoch belastbarer Widerstand verwendet. Die Heizleistung ist ca 2,5 Watt [W]. Obwohl das relativ wenig ist (Kochplatte 2000W, Lötkolben 30W), wird dieser heiss mit bis zu 80°.

[Warnung]
Der Widerstand wird SEHR HEISS und darf im Betrieb nicht angefasst werden. Nach dem Ausschalten etwas warten, bis er abgekühlt ist. Den Versuch nicht unbeaufsichtigt lassen. In Pausen das 12V-Netzteil abziehen oder ausschalten.

Aufbau

VORSICHT: 12 V-Netzteil erst dann einstecken, wenn Scratch läuft und scratchClient läuft.

VORSICHT: Den Widerstand so einstecken, dass er in der Mitte noch Abstand zum Steckbrett hat.

Schaltskizze

Das Bild zeigt den Widerstand, der dicht am TMP36 Temperatursensor aus dem vorherigen Kapitel montiert ist. Man erkennt auch den Abstand zwischen Widerstand und Steckbrett. Der ist notwendig, damit das Steckbrett durch die Wärme keinen Schaden nimmt. Der Widerstand sollte den TMP36 berühren.

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_adc_tmp36

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Die Messwerte werden mit dem Sensorwert 'adcA' übermittelt.

Die 'Heizung', also der Widerstand wird mit dem Signal 'power1_ON' eingeschaltet bzw. mit 'power1_OFF' ausgeschaltet.

Aufgaben

Ergänzt das Programm aus dem vorherigen Kapitel:

Wenn die Temperatur höher als 45° ist, soll die Heizung ausgeschaltet werden (power1_OFF).

Wenn die Temperatur kleiner als 44,0° ist, soll die Heizung eingeschaltet werden (power1_ON).

Man erkennt, dass die Temperatur nicht ganz genau eingehalten wird, sondern um den Sollwert pendelt.

Fächelt Luft zum Abkühlen zum Widerstand und beobachtet, wie sich die Ein-Ausschaltzeiten verändern.

Temperaturregler, Temperaturverlauf
Beispielprogramm

6.1.2.5. Lichtempfindlicher Widerstand LDR

Lichtempfindliche Widerstände oder Fotowiderstände sind aus einem Material, das bei sehr hellem Licht einen niedrigen Widerstand hat und bei Dunkelheut einen hohen Widerstand. Hergestellt werden diese aus Halbleitermaterial. Die Reaktionszeit ist relativ langsam im Bereich Millisekunden bis Sekunden.

Beleuchtungsstärke wird in Lux [lx] gemessen. Das ist das Licht einer (norm-) Kerze in 1 m Abstand.
Der eingesetzte Widerstand hat bei einer Helligkeit von 100 lx: 20k Ohm, 0 lx (Dunkelheit) : 3M Ohm.
100 lx an einem dunklen, bewölkten Tag.
320-500 lx Bürobeleuchtung, Arbeitsplatz

Der Fotowiderstand wird in einer Spannungsteilerschaltung mit einem 20kOhm Vorwiderstand betrieben.
Der Widerstand des Fotowiderstandes berechnet sich mit
Rx = N * Rv / ( 1024 - N)
Rv ist der Wert des Vorwiderstandes, hier 20k Ohm.

[Anmerkung]

Da es keine genaue Umrechnung des Widerstandes zu Helligkeitswerten gibt, sollte direkt mit den ermittelten ADC-Werten gearbeitet werden. Kleine Werte: hell, grosse Werte: dunkel.

Eine Zuordnung des Widerstandes zur Helligkeit ist nicht einfach. Die Bauteile haben stark streuende Kennlinien. Für die eingesetzten Fotowiderstände war es leider nicht möglich, ein ausführliches Datenblatt zu bekommen. Eine Kurzfassung hier A906014-Fotowiderstand Zusammenfassung.

Aufbau

  • Widerstand 20kOhm,

  • Photowiderstand A906014.

  • Kabel.

Schaltskizze

Start scratchClient-Software für Scratch 3.0:

scratchClient -c ikg_adc

Scratch3 im Browser neu laden!

Scratch Sende/ Empfangssignale
Die Messwerte werden mit dem Sensorwert 'adcA' übermittelt, Werte im Bereich [0..1023]. 0 entspricht 0V Spannung, 1023 entspricht 3,3V.

Aufgabe

Schreibe ein Programm, das anzeigt ob im Raum das Licht angeschaltet ist oder nicht.

Lichtschranke.