Arduino Control (Teil 4) – Potentiometer Wert am PC ausgeben
Der Arduino kann auch analoge Signale einlesen. Dieser Wert kann zwischen 0 und 1023 liegen. Für dieses Beispiel wird ein Potentiometer verwendet, der möglichst hochohmig sein sollte. In meinem Fall habe ich einen 470 Ohm Stellwiederstand verwendet. Empfohlen ist 1k Ohm.
Der Quellcode ähnelt dem Beispiel für den Button. Nur müssen hier für den Empfang zwei Bytes zu einem Wert zusammengesetzt werden. Das Stichwort ist hier Byte Shifting. Das erste Byte wird um acht Bits nach links verschoben, um die Bits von 9 bis 16 abzubilden. Das zweite Byte bleibt für die ersten acht Bits.
static void Main(string[] args) // Event zuweisen für den Empfang. // Verbindung öffnen. while (true)
// Bytes einlesen vom Empfang und auf die Console wiedergeben. |
Der Input verwendet diesmal analogRead(), statt des digitalRead(). Unterscheidet sich der Wert zu dem zuletzt versendeten, dann soll der neue gemessene Wert gesendet werden. Der Wert kann bis zu 1023 betragen und passt nicht in ein Byte. Daher wird dieser in zwei Bytes aufgeteilt und anschließend versendet. Am Ende wird eine Verzögerung von 100 Millisekunden festgelegt, um zwischen den Sendungen eine Lücke zu erzeugen. Ansonsten kann nicht erkannt werden, welches das erste und das zweite Byte ist.
// Pin Nummer A0 vom Arduino // Enthält den letzten Button Zustand. void setup() void loop() |
Damit ist auch schon alles getan.
Quellcode zum Download
- Solution für Visual Studio 2012 (ArduinoControl_Part04)
- Für den Arduino reicht der Code aus dem Post aus.
Kommentare