Die analogen Eingänge des Arduino messen die Spannung die am Eingang anliegt. Somit kann zwischen 0 Volt und 5 Volt gemessen werden. Der Arduino macht daraus dann ein Punktesystem zwischen 0 und 1023. Somit können wir am analogen Eingang 1023 verschiedene Werte ablesen. Ideal für Potentiometer kurz Poti, oder andere Messwerte, solch ein Poti wollen wir im 7 Teil des Arduino Grundkurs heute anschließen, auslesen und den ausgelesenen Wert weiterverwenden.
Das Potentiometer
Ein Potentiometer (kurz Poti und nach neuer deutscher Rechtschreibung Potenziometer) ist ein Widerstandsbauelement, dessen Widerstandswerte sich mechanisch durch drehen oder schiebenverändern. SEEED hat diese beiden Arten von Potis im Sortimente, das Schiebepotentiometer, erkennbar an der länglichen Form und das Drehpotentiometer, erkennbar an der runden Form. Die Funktion und auch die Werte sind genau gleich, nur beim einen ändert sich der Wert durch schieben und beim anderen durch drehen.
Die Potis von SEEED haben drei Anschlüsse, zwei für die Spannung also + und - sowie einen Ausgang an dem sich die Spannung ändert. Dies ist für den Anschluss der SEEED Potis nicht so wichtig da hier die Anschlüsse vorgeben sind. Dennoch ist es gut zu wissen wie so ein Poti funktioniert, im Bild unten sind zwei Potis mit ihren Anschlüssen zu sehen.
Der Poti kann an alle analogen PINs des Arduino angeschlossen werden. Am SEEED Board sind diese liegend auf der Seite des USB Anschlusses angebracht. Für unsere nächsten Versuche den Poti mit dem analogen PIN A0 verbinden. Dabei ist es egal ob ihr einen Dreh oder Schiebe Poti verwendet.
Damit man einen Poti mit Ardublock verwenden kann braucht es immer eine Variable, denn nur so kann der Wert des Potis abgefragt und gespeichert werden. Dazu einen analogRead beim Wert für eine analoge Variable einsetzen, der Name der Variable kann frei gewählt werden. Damit man den Wert des Potis sehen kann braucht es noch ein Serial Print, bei Verbinde den Namen eurer Variablen eintragen.
Nach dem hochlanden den Serial Monitor öffnen und den Poti ganz Richtung dem 4 poligen Kabel schieben. Nun sollte der Werte 0 sein. Es liegt am analogen Pin 0 also 0 Volt an
Nun den Poti ganz in die andere Richtung, also Weg vom Kabel schieben. Nun sollte der Wert 1023 sein. Es liegen am analogen Pin 0 also 5 Volt an.
Nun den Hacken bei "Autoscroll" raus machen und durch hoch und runter Scrollen die Liste einmal genau anschauen. Hier sieht man wie sich der Wert langsam verändert je nachdem wo man den Poti hinschiebt bzw. hindreht.
Damit können wir dem Arduino also nicht nur HIGH und LOW sagen wie bei den digitalen Eingängen, sondern können 1023 verschiedene Signale geben. Zum einschalten einer LED reicht ein digitaler Eingang aus, da die LED AN oder AUS ist. Möchte man diese LED aber von Hand dimmen benötigt man eben einen analogen Eingang.
LED über Poti dimmen
Zuerst verbindet ihr noch eine LED wie zuvor auch schon mit dem Pin 5 eures Arduino bzw. mit SEEED Board.
Nun wechselt ihr zu den "Projekt Blöcken". Da ein analoger Ausgang nur einen Wert von 0-255 ausgeben kann, am analogen Eingang aber ein Wert von 0-1023 eingelesen werden kann, braucht es einen "zuordnen" Block. Dieser Block macht aus einem Wert einen anderen Wert. Dabei stimmt das Verhältnis immer. 0 = 0 und 255 = 1023, alles dazwischen wird aufgeteilt.
Diese Aufteilung kann man im Serial Monitor sehen, wenn zusätzlich zum Dimmer Programm noch zwei Serial Monitor Blöcke eingefügt werden. Einer der den Wert des Poti anzeigt und einer der den Wert nach der Zuordnung anzeigt. Damit der "Zugordnete" Wert auch an die LED übergeben werden kann braucht es noch einen analogen Ausgang, der als Wert die Variable verwendet.
Natürlich kann an die anlogen Eingänge noch viel mehr als nur ein Poti angeschlossen werden. Neben LDR, Temperatursensoren und anderen Sensoren können die analogen Eingänge aber auch für Taster und Schalter verwendet werden. Das ist vor allem dann praktisch wenn die digitalen Eingänge und Ausgänge schon alle in Verwendung sind. Dazu steckt ihr jetzt den Poti aus und steckt einen Taster an den analogen Eingang 0 ein. Das Programm ändert ihr nicht. Was fällt dir auf wenn du nun den Taster drückst. Die LED wird ganz hell und im Serial Monitor wird etwas zwischen 1000 und 1023 angezeigt.
Taster und Schalter am analogen Eingang verwenden
Damit wir einen Taster am analogen Eingang verwenden können brauchen wir eine neue Block Gruppe, die Log. (logischen) Operatoren. Mit diesen kann man Werte vergleichen und bestimmten ob ein Wert kleiner, größer oder gleich ist. Die Klammern < > sagen uns ob der Wert kleiner oder größer sein muss und das = beutetet dass beide Werte gleich groß sein müssen.
Ist der Taster nicht gedrückt ist der Wert 0 ist der der Taster gedrückt ist der Wert ca. 1000. Damit können wir dem Programm sagen, vergleiche den Wert am Poti mit einem festen Wert von 900. Ist der Wert größer als 900 ist der Taster mit Sicherheit gedrückt worden, dann schalte die LED ein. Ist der Wert kleiner als 900 ist der Taster mit Sicherheit losgelassen worden, dann schalte die LED wieder aus.
Natürlich gibt es auch heute wieder eine kleine Hausaufgabe. Die LED am Pin 5 soll bei einem Wert größer als 500 eingeschaltet sein und bei einem Wert unter 500 ausgeschaltet sein.