In vielen Haushalten gibt es sogenannte Dimmer, mit denen das Raumlicht eingestellt wird. Dreht man sie nach rechts oder links nimmt die Lichtintensität ab oder zu. Bei Modelleisenbahnen werden Regler verwendet, mit denen man die Züge schneller oder langsamer fahren lassen kann.
Audioanlagen haben Regler, mit denen der Sound und die Lautstärke eingestellt wird. Abb. 5.1 zeigt ein einfaches Beispiel eines Reglerknopfes, mit dem die Lautstärke eingestellt wird. In Joysticks finden sich ebenfalls Regler, die nach demselben Prinzip wie ein Lautstärkeregler funktionieren.
Das Bauteil, das häufig in Audioanlagen, Joysticks aber auch Servos zu finden ist, heißt Potentiometer und wird häufig auch nur kurz als Poti angesprochen. Abbildung 5.2 zeigt einige gebräuchliche Potentiometer. Sie alle haben mindestens drei Anschlussbeine.
Abbildung 5.3 zeigt das Schaltsymbol und eine Bauteilzeichnung eines Potentiometers, das wir in dieser Lektion benutzen werden. Anschluss A und B sind direkt mit einem 10kOhm Widerstandselement verbunden. Der Anschluss W wird als Schleiferabgriff bezeichnet und ist mit einem Draht verbunden, der variabel über das Widerstandselement bewegt werden kann.
Die folgende Abbildung 5.4 zeigt, wie ein Potenziometer arbeitet. Mit dem Verstellknopf wird der Schleiferabgriff auf dem Widerstand verändert; im Uhrzeigersinn bewegt er sich in Richtung A, entgegen dem Uhrzeigersinn zum Punkt B.
Widerstände mit unterschiedlichen Werten lassen sich in Reihe mit einer LED schalten. Je größer dabei der Widerstandswert ist, desto geringer wird die Stromstärke im Kreis sein und desto schwächer leuchtet die LED.
Verbindet man die Anschlüsse W und A eines Potenziometers mit einer LED, so wie es die nachfolgende Schaltskizze zeigt, dann lässt sich darüber der Widerstandswert im Schaltkreis stetig verändern und die Leuchtkraft der LED beeinflussen.
In dieser Übung lernst du das Potenziometer als variablen Widerstand kennen, mit dem sich die Leuchtkraft einer LED einstellen lässt.
Material |
1x Board of Education 1x mini-USB Kabel 1x 9V Blockbatterie 1x Potenziometer 10kOhm 1x Widerstand 220 Ohm (rot-rot-braun) 1x LED rot 1x Steckdraht |
Aufgabe |
Baue die Schaltung nach Abb. 5.5 auf. |
Schaltungsaufbau und Schaltskizze
Test der Potenziometerschaltung
Drehe das Potenziometer bis zum Anschlag im Uhrzeigersinn.
Bewege den Drehknopf anschließend im entgegengesetzten Uhrzeigersinn in die in Abbildung 5.6 gezeigten Positionen (b) bis (f). Beobachte dabei die Leuchtstärke der LED.
Vorsicht! Lässt sich das Potenziometer nicht so weit drehen, wie in der Abbildung dargestellt, dann erzwinge es nicht, sonst wird das Bauteil zerstört. Drehe den Einstellknopf gerade so weit, bis ein Weiterdrehen nicht mehr möglich ist.
Arbeitsweise der Potenziometer-Testschaltung
Der Gesamtwiderstand in der Testschaltung beträgt 220 Ohm plus dem Widerstandswert zwischen den Punkten A und W des Potenziometers. Sein Wert liegt irgendwo zwischen 0 und 10 kOhm.
Wird an der Einstellschraube gedreht, verändert sich die Streckenlänge zwischen Punkt A und W und damit der Widerstand. Damit ändert sich die Stärke des Stromflusses durch die LED und damit auch ihre Helligkeit.
In dieser Übung lernen wir ein neues Bauteil kennen: den Kondensator.
Ein Kondensator verhält sich wie eine wiederaufladbare Batterie, die ihre Ladung allerdings nur für einen kurzen Zeitraum speichern kann. Du erfährst auch etwas über die sogenannte Entladezeit eines Kondensators: der Zeit, die vergeht, bis sich ein Kondensator C über einen Widerstand R entladen hat. Einen solchen Schaltkreis mit einem Widerstand R und einer Kapazität C nennen wir kurz RC-Schaltung.
Um uns mit der Entladezeit und der Kapazität vertraut zu machen, werden wir mit verschieden großen Widerständen und Kondensatoren die Entladezeit messen.
In dieser Übung wird die BASIC Stamp so programmiert, dass sie zunächst einen Kondensator auflädt und anschließend die Zeit t misst, in der sich der Kondensator C über einen Widerstand R entlädt.
Der Kondensator
Abbildung 5.7 zeigt die Schaltung und Bauteilzeichnung eines Elektrolyt-kondensators, so wie wir ihn in dieser Übung benutzen. Die Kapazität eines Kondensator wird in der Einheit Microfarad (mF) angegeben und ihr Wert ist i.a. auf das Bauteil aufgedruckt.
Der Elektrolytkondensator hat einen positiven (+) und negativen (-) Pol. Der negative Pol ist auf dem Zylinder mit einem Minuszeichen markiert, ein kurzer Anschlussdraht führt aus dem Zylinder heraus.
Achte bitte immer darauf, dass die Anschlussdrähte genau so, wie in der Schaltung angegeben, im Steckbrett positioniert werden. Bei Vertauschung der Anschlusspunkte wird das Bauteil zerstört. Bei Schaltungen mit höheren Betriebsspannungen kann der falsche Einbau eines Elektrolytkondensators zur Explosion des Bauteils führen.
Material |
1x Elektrolytkondensator – 3300 µF 1x Elektrolytkondensator – 1000 µF 1x Widerstand – 220 Ohm (rot-rot-braun) 1x Widerstand – 470 Ohm (gelb-violett-braun) 1x Widerstand – 1 kOhm (braun-schwarz-rot) 1x Widerstand – 2 kOhm (rot-schwarz-rot) 1x Widerstand – 10 kOhm (braun-schwarz-orange) |
Aufgabe |
|
Abbildung 5.8b zeigt den Schaltplan und Abbildung 5.8a den Schaltungsauf- bau für diese Übung. Es werden Zeitmessungen mit vier verschiedenen Widerstandswerten Ri durchgeführt.
Meine Messergebnisse
Tabelle 1: RC-Glied mit C = 3300 µF | |
Widerstand | Entladezeit in sek |
470 Ohm | |
1 kOhm | |
2 kOhm | |
10 kOhm |
Arbeitsweise von Zeitmessung1.bs2
Er werden in diesem Programm zwei Variablen deklariert. In der Variablen zeitmesser wird die Zeit abgespeichert, die der Kondensator benötigt, um sich über Ri zu entladen. zaehler wird als Zähler eingesetzt, solange sich der Kondensator auflädt.
zeitmesser VAR Word zaehler VAR Nib
Der Befehl DEBUG CLS löscht das Debug Terminal. HIGH 7 setzt P7 auf HIGH und startet den Aufladevorgang des Kondensators; die Mitteilung Kondensator wird geladen … wird im Terminalfenster angezeigt.
In der FOR…NEXT Schleife wird ein Rückwärtszähler eingesetzt; während er auf Null zählt, wird der Kondensator geladen und die Spannung zwischen seinen Polen wächst, je nach eingesetztem Ladewiderstand Ri, auf Werte zwischen 2,5 bis 4,9 V an.
DEBUG CLS HIGH 7 DEBUG "Kondensator wird geladen ...", CR FOR counter = 5 TO 0 PAUSE 1000 DEBUG DEC2 counter, CR, CRSRUP NEXT
In einer Nachricht wird angezeigt, dass die Entladezeit jetzt gemessen wird.
DEBUG CR, CR, "Entladezeit messen!", CR, CR
Während der Kondensator sich über den Widerstand Ri entlädt, wird der I/O Pin von HIGH auf INPUT umgestellt. Sobald der I/O Pin die Schaltung freigegeben hat, entlädt sich der Kondensator über den Widerstand und die an C anliegende Spannung nimmt rasch ab.
INPUT 7
Im Kapitel über die Drucktaster haben wir mit der BASIC Stamp über die Variablen IN3 und IN4 HIGH und LOW Signale erkannt. Als HIGH Signal wurde bisher das Potential Vdd definiert, als LOW das Potential Vss.
Zukünftig werden wir Signale mit einem Potential von über 1,4 V als HIGH ansprechen. Es kann damit natürlich auch 5 V betragen. Ein LOW Signal weist dementsprechend ein Potential zwischen 1,4 V und 0 V auf.
DO…LOOP fragt P7 alle 100 ms ab, bis IN7 von 1 auf 0 springt. In diesem Moment hat die Entladespannung des Kondensators einen Wert unterhalb 1,4 V erreicht.
DO PAUSE 100 zeitmesser = zeitmesser + 1 DEBUG ? IN7 DEBUG DEC5 zeitmesser, CR, CRSRUP, CRSRUP LOOP UNTIL IN7 = 0
Das Ergebnis wird angezeigt und das Programm beendet.
DEBUG CR, CR, CR, "Entladezeit ", DEC timeCounter, " Zehntel einer Sekunde.", CR, CR END
Wird ein Kondensator mit nur einem Drittel der ursprünglichen Kapazität in die Schaltung eingebaut, verkürzt sich die Entladezeit für jeden eingesetzten Widerstand auf ein Drittel. In der folgenden Übung 3 wird ein Kondensator mit 10.000-mal kleinerer Kapazität benutzt; die BASIC Stamp übernimmt wieder die Zeitmessung. Wir bedienen uns dazu des neuen Befehls RCTIME.
Aufgabe |
|
Meine Messergebnisse
Tabelle 2: RC-Glied mit C = 1000 µF | |
Widerstand | Entladezeit in sek |
470 Ohm | |
1 kOhm | |
2 kOhm | |
10 kOhm |
In Übung 1 wurde ein Potenziometer als veränderbarer Widerstand eingesetzt. Sein Widerstandswert hing von der Position des Drehreglers ab.
In Übung 2 wurde eine RC-Schaltung benutzt, um verschiedene Widerstände zu bestimmen.
In dieser Übung wird eine RC-Schaltung aufgebaut, mit der ein Potenziome-terwert bestimmt werden kann. Für die Zeitmessung wird die BASIC Stamp eingesetzt. Die Kapazität ist sehr klein, die zugehörige Zeitmessung deshalb sehr kurz (einige Millisekunden). Die BASIC Stamp wird trotzdem hervor-ragende Werte zur Bestimmung des Widerstandes zwischen den Anschluss-punkten A und W des Potentiometers liefern.
Material |
1x Potenziometer – 10 kOhm 1x Widerstand – 220 Ohm (rot-rot-braun) 2x Verbindungsdrähte 1x Kondensator – 0.1 µF (104) 1x Kapazität – 0.01 µF (103) 2x Verbindungsdrähte |
Aufgabe |
|
Keramische Kondensatoren haben keine ausgewiesenen Plus- und Minus-Pole. Bei diesen Kondensatoren muss nicht auf die korrekte Polarität beim Einbau geachtet werden.
Schaltskizze und Schaltungsaufbau
Programmierung einer RC-Zeitmessung
Das BASIC Programm aus Übung 2 überprüfte alle 100 ms, ob IN7 = 0 ist und bestimmte aus der Anzahl der Abfragen die Entladezeit.
Fällt IN7 von 1 auf 0, ist die am Kondensator anliegende Spannung unter 1,4 Volt abgesunken und der Wert von zeitmesser gibt in der Einheit Zehntelsekun- den die Entladezeit an, in der die Kondensatorspannung unter 1,4 Volt abge- sunken ist.
Im folgenden Beispielprogramm wird mit dem PBASIC Befehl RCTIME die Entladezeit in Einheiten von 2 µs aufgenommen. Statt mit einer Genauigkeit von Zehntelsekunden wird über RCTIME 7, 1, zeit die Zeit in der Variablen zeit in Einheiten von jeweils Zweimillionstel Sekunden abgelegt.
Auf Grund dieser hohen Auflösung kann die Kapazität des Kondensators von 3300 µF auf 0,1 oder sogar 0,01 µF verkleinert werden. Bei jeder Verän-derung der Potentiometereinstellung ist die über RCTIME bestimmte Zeit ein Maß für die Position des Schleifkontaktes und damit des Widerstandswertes.
Meine Messergebnisse
Mit einem 0,1µF Kondensator haben sich für die beiden Extremstellungen des Schleifers im Potenziometer folgende Messwerte ergeben:
Höchster Wert: __________________________
Niedrigster Wert: _________________________
Wie das Programm Zeitmessung2.bs2 arbeitet
In Abb. 5.12 und 5.13 wird gezeigt, wie die Befehle HIGH, PAUSE und RCTIME mit dem Bausteinen im Schaltkreis aus Abbildung 5.11 wechsel-wirken.
Mit HIGH 7 wird Pin P7 auf 5V gesetzt. Der elektrische Strom kann jetzt von P7 über den Potenziometer-Widerstand als auch zeitgleich über den Kondensator gegen Masse abfließen. Der Kondensator lädt sich dabei auf.
Je stärker er aufgeladen wird, desto geringer wird der Ladungsfluss im Kondensator. Für den Ladevorgang stehen mit dem PAUSE 100 Befehl 100ms zur Verfügung, das ist weit mehr, als der Kondensator tatsächlich benötigt.
Der Befehl RCTIME 7, 1, zeitmesser kehrt die I/O Pinrichtung von Ausgang auf Eingang um und misst die Zeit in 2µs Paketen, die vergeht, bis der Spannungswert unter 1,4V fällt.
Sobald P7 auf Eingang geschaltet ist, entlädt sich der Kondensator über das Potenziometer. Die Ladungsüberschüsse auf der einen Kondensatorplatte bewegen sich über den Widerstand zur anderen Plattenseite; ein langsamer Ladungsaustausch findet statt, solange, bis Ladungsausgleich eingetreten ist, bzw. solange, bis der Eingang P7 erkennt, dass die Spannung unter 1,4V gefallen ist.
Da in 2µs Zeitpaketen gezählt wird, entspricht einem Zählwert von 80 ein Zeitwert von 160µs.
Schwellenwerte der I/O Pin Logik
1,4V ist bei einer BASIC Stamp der Schwellenwert der I/O Pin Logik. Wird ein I/O Pin als Eingang deklariert, speichert er eine 1 in seinem Input-Register, sobald der anliegende Spannungswert über 1,4V liegt oder eine 0, wenn am Eingang weniger als oder gleich 1,4V liegen. Im ersten Drucktaster-Beispiel in Übung 2 wurden 5V bzw. 0V an den Eingang P3 gelegt. 5V ist mehr als 1,5V, deshalb wurde in IN3 eine 1 abgelegt. Ähnlich verhält es sich mit 0V; der Wert ist kleiner als 1,4V, deshalb wurde in IN3 eine 0 abgelegt.
RCTIME Status Argument
Im Programm Zeitmessung2.bs2 sinkt die Spannung über dem Kondensator von ca. 5V ab, sobald der Ausgang P7 auf Eingang umgeschaltet wird (Abbildung 5.12). Bei einem Wert von 1,4V ändert sich der Wert im IN7 Register von 1 auf 0.
In diesem Moment speichert der RCTIME Befehl seinen Messwert im Speicher zeitmesser.
Das zweite Argument im Befehl RCTIME bezieht sich auf den Status der Messung. Eine 1 besagt, dass im IN7 Register zum Programmstart eine 1 abgelegt wird. Der RCTIME Befehl misst nun, wie lange es braucht, bis das IN7 Register in den Zustand 0 kippt. Das ist ja genau dann der Fall, wenn die Spannung an seinem Eingangspin P7 auf 1,4V oder darunter fällt.
Weitere Informationen zum Befehl RCTIME gibt es im BASIC Stamp Manual oder bei BASIC Stamp Editor´s Help im Inernet.
Abbildung 5.13 zeigt, wie sich die Entladungszeit mit dem Widerstands- wert des Potenziometers in Abbildung 5.11 ändert. Jeder Position des Drehknopfs entspricht ein bestimmter Widerstandswert.
Wird der Widerstand größer, dann dauert die Entladung des Kondensators länger und der Befehl RCTIME speichert einen größeren Zahlenwert im Speicher zeitmesser ab als wenn der Widerstand kleiner ist.
Auf diese Weise korreliert die Entladezeit des Kondensators direkt mit dem eingestellten Widerstandswert am Potenziometer und damit ist die im Debug Terminal angezeigte Zahl ein Maß für die Stellung des Schleifers im Potenziometer.
Genauere Betrachtungen zur RC-Schaltung
Dem Schaltbild 5.12 ist zu entnehmen, dass ohne den 220 Ohm Widerstand der I/O Pin den Kondensator auf 5V aufladen kann, sobald er auf HIGH gesetzt wird. Der 220 Ohm Widerstand hat hier eine Schutzfunktion. Er verhindert, dass der I/O Pin durch einen zu hohen Stromfluss zerstört wird, sobald der Ladevorgang beginnt. Eine zweite Schutzfunktion hat er, wenn der Mittelabgriff des Potenziometer so verstellt ist, das der Widerstandswert bei 0 Ohm liegt. Ohne den 220 Ohm Widerstand würde ein hoher Strom direkt über P7, das Potenziometer (0 Ohm) zur Erde abfließen und mit Sicherheit den I/O Port zerstören.
Die 5V am Ausgang von P7 teilen sich über dem 220 Ohm Widerstand und dem Potenziometer auf. Beide Widerstände sind in Reihe oder hintereinander geschaltet. So etwas nennt man einen Spannungsteiler (Abbildung 5.14). Es verhalten sich in einer Spannungsteilerschaltungen die anliegenden Spannungen wie die entsprechenden Widerstände. Es gilt:
Der Wert von Upot setzt die Obergrenze für die am Kondensator anliegende Spannung.
Daumen Joysticks werden häufig in Videospielen benutzt. Sie verfügen über zwei Potenziometer, die der eingebauten Elektronik in einem Gamecontroller ermöglicht, die Joystick-Position an die Videoconsole zu übertragen. Ein Potenziometer ist für die links/rechts Bewegung zuständig, das andere für die vorwärts/rückwärts Bewegung.
Auch in RC Fernsteuerungen für Flugzeugmodelle werden Daumen Joysticks eingesetzt. Im Modellflugzeugbau verfügen die Fernsteuerungen über zwei Joysticks mit je zwei Potenziometern, dabei ist jedes von ihnen für einen bestimmten Servo im Flugzeugmodell zuständig.
In der folgenden Übung werden wir ein Potenziometer benutzen und die Position des Steuerhorns bei einem Servo beeinflussen. Wird der Knopf des Potenziometers gedreht, wird diese Bewegung auf das Steuerhorn übertragen.
Wir benutzen dazu zwei Schaltungen: die Potenziometerschaltung aus Übung 3 in dieser Lektion und die Servoschaltung aus Übung 1 der Lektion Standardservos.
Das in dieser Übung benutzte PBASIC Programm misst wiederholt die Position des Mittelabgriffs eines Potenziometers mit Hilfe des Befehls RCTIME und überträgt die Auswertung der Daten (dazu ist etwas Mathematik leider nötig;-)) mit Hilfe des Befehls PULSOUT an den Servo.
Material |
1x Potenziometer - 10kOhm 1x Widerstand - 220 Ohm (rot-rot-braun) 1x Widerstand - 470 Ohm (gelb-violett-braun) 1x Kondensator - 0,1µF 1x Parallax Standard Servo 1x LED 2x Steckdraht |
Aufgabe |
|
Aufbau einer Potenziometerschaltung und eines Servo Schaltkreises
In dieser Übung werden wir mit zwei elektrischen Schaltungen arbeiten: der Potenziometerschaltung aus der letzten Übung 3 dieser Lektion und der einfachen Servo-Ansteuerungsschaltung aus der Lektion Standardservos.
Programmierung einer Potentiometerschaltung für einen Servo
In Übung 3 dieser Lektion wurden der höchste und niedrigste Zeitwert bei einer RC-Schaltung mit einem 0,1µF Kondensator ermittelt. Diese Werte werden jetzt benötigt.
Für das weitere Vorgehen benutze ich hier die selbst ermittelten Zeitwerte, die von Zeitwerten anderer Untersuchungen abweichen können.
Mittelabgriff Anschlag rechts: 1
Mittelabgriff Anschlag links: 585
Unser Ziel ist, die ermittelten Entladezeiten, die gleichzeitig auch ein Maß für die Stellung des Mittelabgriffs bei einem Potenziometer sind, als Bezug zu nehmen für die Ansteuerung des Servos. Die Entladezeiten werden abgebildet auf die Impulslängen, mit denen sich das Steuerhorn bewegen lässt.
Wie lassen sich jetzt diese Eingangswerte so anpassen, dass sie den Servo Arbeitsbereich von 500 - 1000 über den Befehl PULSOUT abbilden? Die Antwort klingt einfach: wir helfen uns mit ein wenig Mathematik.
Skalierung
Die Zeitwerte überstreichen einen Bereich von ca. 600, genauer von 1 bis 585; der Servo entsprechend einen Bereich von 500, genau von 500 bis 1000. In einem ersten Schritt wird durch skalieren der Zeitwertebereich auf 500 umgerechnet. Und das geht so:
Offset
Nach der Skalierung auf einen Bereich von 500 wird noch ein sogenanntes Offset hinzugefügt, um den Servobereich von 500 bis 1000 abzubilden:
Umrechnungen in PBASIC
Erinnern wir uns: mit dem PBASIC Operator */ lassen sich auch Kommazahlen berechnen.
Damit ist die Skalierung abgeschlossen, es fehlt nur noch das Offset von 500. Durch Addition ergibt sich damit:
Die Größe zeit kann jetzt als Argument in den PULSOUT Befehl eingesetzt werden.
zeit = zeit */ 218 ' Skalierung mit 0,8547
zeit = zeit + 500 ' Offset von 500
PULSOUT 14, zeit ' sendet Impuls an Servo
Beispielprogramm ServosteuerungMitPoti.bs2
Jetzt kommst du!
Wenn du bis jetzt die in dieser Übung abgedruckten Werte benutzt hast, dann bietet es sich jetzt an, für die eigenen Bauteile die Skalierung durchzuführen. Gehe dazu genau so vor, wie im Abschnitt Programmierung einer Potentiometerschaltung für einen Servo in dieser Übung beschrieben.
Konstanten deklarieren
Größere Programme werden schnell unübersichtlich, wenn in ihnen viele Zahlen an unterschiedlichen Stellen benutzt werden. Das wird noch dramatischer, wenn ein solcher Zahlenwert einmal neu angepasst werden muss und man nicht mehr genau weiß, an welchen Stellen innerhalb des Programms dieser Zahlenwert aufgerufen wird.
Statt zum Beispiel einen Skalenfaktor direkt als Zahlenwert einzugeben, kann er auch über sogenannte Konstante zu Beginn eines Programms zugewiesen werden. Konstante lassen sich während eines Programmlaufs nicht mehr verändern.
Konstante werden innerhalb eines Programms über das Schlüsselwort CON deklariert:
Mit der Zuweisung des Namens Skalenfaktor für den Wert 218 und Offset für den Wert 500 im Programm ServosteuerungMitPoti.bs2 , ändern sich die Programmzeilen wie folgt:
Sollte sich ein Zahlenwert einer Konstanten jemals ändern, dann genügt es bei einer Konstanten-Deklaration, nur an dieser Stelle - meist am Anfang eines Programms - den Zahlenwert zu ändern.
PIN Direktiven
Über PIN Direktiven lassen sich auch an I/O Pins Namen vergeben. Dem I/O Pin P7 kann per Direktive zum Beispiel der Name RCPin zugewiesen werden:
Im Programm ServosteuerungMitPoti.bs2 wurde an zwei Stellen, in Zeile 10 und Zeile 12, die Zahl 7 aufgerufen. Zeile 10 lässt sich mit Hilfe einer PIN Direktive neu schreiben als:
Zeile 12 entsprechend neu:
Werden die I/O Pins später einmal verändert, muss zukünftig nur noch die Direktive einmal verändert werden.
Weitere Bemerkungen zur PIN Direktive
Der PBASIC Compiler erkennt, ob ein Pinname als Ein- oder Ausgang genutzt wird und ergänzt entweder die I/O Pinzahl des Ausgangs oder die korrespondierende Bitvariable im Input Register.
Beispiel: Es werden zwei PIN Direktiven deklariert:
Innerhalb eines Programms kann dann zum Beispiel ein Entscheidungsbefehl aufgerufen werden in der Art
Der PBASIC Compiler übersetzt diese Programmzeilen in:
Der Aufruf IF TasterPin = 1 ... ist ein Vergleich; der PBASIC Compiler erkennt daran, dass TasterPin als Eingang genutzt wird. Er verwendet daher automatisch die Bitvariable IN3 des Input Registers statt der Zahl 3.
Ähnlich verhält es sich mit HIGH LedPin. LedPin benutzt den LedPinnamen für die konstante Zahl 14 als output Anweisung, deshalb setzt es HIGH auf 14.
Beispielprogramm: ServosteuerungMitPotiMitDirektiven.bs2
Dieses Programm arbeitet genau so wie das Vorgängerprogramm ServosteuerungMitPoti.bs2, mit dem einzigen Unterschied, dass wir hier Konstanten und I/O Pins mit einem Namen eingeführt haben.
Aufgabe |
Gib das Programm ServosteuerungMitPotiMitDirektiven.bs2 ein. Beobachte, ob und wie der Servo auf das Verstellen des Drehknopfes reagiert Bestätige, dass das Programm genau so reagiert wie ServosteuerungMitDirektiven.bs2 |
Wie wir früher schon angemerkt hatten, gestalten sich Veränderungen in einem Programm wesentlich einfacher, wenn man PIN Direktiven einsetzt. Wird ein RC-Schaltkreis zum Beispiel mit einem anderen I/O Pin verbunden, muss nur der Wert von RcPin in der PIN Direktive geändert werden.
Aufgabe |
|
Diese Unterrichtsvorlagen sind entstanden in Anlehnung an die deutsche Übersetzung des Buches "What´s a Microcontroller?" Vers. 3.0 by Andy Lindsay, Parallax Inc., übersetzt und nachbearbeitet von Reinhard Rahner.
BASIC Stamp, Board of Education, Homework Board sind eingetragene und geschützte Warenzeichen der Firma Parallax Inc.