faecher:nwt:arduino:lernbaustein2:potentiometer:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:nwt:arduino:lernbaustein2:potentiometer:start [04.10.2020 20:05] – [Analoge Eingänge und die serielle Konsole] sbelfaecher:nwt:arduino:lernbaustein2:potentiometer:start [05.10.2020 07:56] (aktuell) – [Aufgaben] sbel
Zeile 1: Zeile 1:
-====== Analoge Eingänge und die serielle Konsole ====== +======  Wie funktioniert ein Potentiometer? ======
- +
- +
- +
-**Bemerkung:** Der Arduino muss bei den folgenden Programmen mit dem Computer verbunden bleiben. Alternativ kann später vielleicht ein LCD-Display eingesetzt werden. +
- +
-===== Vorbereitung: Wie funktioniert ein Potentiometer? =====+
  
  
 Ein Potentiometer ist ein elektrisches Bauteil, das prinzipielle stets folgendermaßen aufgebaut ist: Zwei der für gewöhnlich drei Kontakte des Potentiometers sind durch einen Drahtwiderstand verbunden. Der dritte Kontakt schleift beim Drehen oder Schieben des Potentionemters über diesen Drahtwiderstand: Ein Potentiometer ist ein elektrisches Bauteil, das prinzipielle stets folgendermaßen aufgebaut ist: Zwei der für gewöhnlich drei Kontakte des Potentiometers sind durch einen Drahtwiderstand verbunden. Der dritte Kontakt schleift beim Drehen oder Schieben des Potentionemters über diesen Drahtwiderstand:
  
-{{ :nwt:arduino:analog_read:poti_schematisch.png?400 |}} +{{ :faecher:nwt:arduino:lernbaustein2:potentiometer:poti_schematisch.png?320 |}}
-{{ :nwt:arduino:analog_read:poti_qg1.jpg |}}+
  
 Das Schaltzeichen eines Potentiometers sieht entsprechend wie folgt aus, wobei der Schleifkontakt durch den Pfeil symbolisiert wird. Das Schaltzeichen eines Potentiometers sieht entsprechend wie folgt aus, wobei der Schleifkontakt durch den Pfeil symbolisiert wird.
  
-{{ :nwt:arduino:analog_read:potentiometer_schaltzeichen.png?300 |}} +{{   :faecher:nwt:arduino:lernbaustein2:potentiometer:potentiometer_schaltzeichen.png?120|}}
- +
-Werden die beiden Anschlüsse des Drahtwiderstands nun mit einer Spannung verbunden, kann man durch drehen des Schleifkontakts den Gesamtwiderstand in beliebige Teile "aufsplitten". Entsprechende er Widerstände teilt sich dann auch die Spannung auf. +
  
 +Werden die beiden Anschlüsse des Drahtwiderstands (1,2) nun mit einer Spannung verbunden, kann man durch drehen des Schleifkontakts den Gesamtwiderstand in beliebige Teile "aufsplitten". Entsprechende er Widerstände teilt sich dann auch die Spannung auf.
  
 **Beispiel:** **Beispiel:**
-Angenommen, das Potentiometer hat einen Gesamtwiderstand von 2kOhm und die Anschlüsse 1 und 2 sind an einer Spannung von 5V angeschlossen. Der Schleifkontakt steht genau in der Mitte. {{ :nwt:arduino:analog_read:poti2.png?600 |}}+Angenommen, das Potentiometer hat einen Gesamtwiderstand von 2kOhm und die Anschlüsse 1 und 2 sind an einer Spannung von 5V angeschlossen. Der Schleifkontakt steht genau in der Mitte.  
 + 
 +{{ :faecher:nwt:arduino:lernbaustein2:potentiometer:poti2.png?600 |}} 
  
 In diesem Fall halbiert der Schleifkontakt den Gesamtwiderstand und damit auch die Gesamtspannung. Man kann das Potentiometer im Ersatzsschaltbild wie im Bild zu sehen durch zwei Widerstände ersetzen und sich die Zusammenhänge auf diese Weise klar machen. In diesem Fall halbiert der Schleifkontakt den Gesamtwiderstand und damit auch die Gesamtspannung. Man kann das Potentiometer im Ersatzsschaltbild wie im Bild zu sehen durch zwei Widerstände ersetzen und sich die Zusammenhänge auf diese Weise klar machen.
Zeile 27: Zeile 22:
 ==== Aufgaben ==== ==== Aufgaben ====
  
 +=== (1) ===
  
-<box 90% round #F9CEE9 #C785AE #852C64 #F9CEE9 |**Für das Protokoll...**> +Baue eine Schaltung mit einem Potentiometer auf, so dass du dir die Spannung am Schleifkontakt auf der Seriellen Konsole in Volt, mit einer Nachkommastelle ausgeben lassen kannst.
-{{  :nwt:arduino:protokoll.png|}} +
-\\ +
-  * Überlege dir, wie die Werte der Teilwiderstände und der Spannungen sich verändern, wenn du zwei andere Stellungen des Schleifkontakts wählst. Zeichne jeweils ein Ersatzschaltbild.  +
-  * Miss den Gesamtwiderstand des Potentiometers +
-  * Beobachte mit deinem Multimeter, wie sich der Widerstand zwischen dem Schleifkontakt und einem der Anschlüsse verändert, wenn du die Achse des Potis drehst. +
-</box> +
- +
- +
-===== Sketch 4.1 ===== +
- +
-  * Baue die Schaltung wie in der Abbildung auf +
-  * Öffne den Sketch {{:nwt:arduino:sketches:a041_poti:a041_poti.ino|A041_Poti}}((Herunterladen nach "sketches"dann öffnen)) +
-  * Starte das Programm. +
-  * Öffne den "seriellen Monitor" (STRG+UMSCHALT+M). +
-  * Verändere die Stellung des Potentiometers und beobachte die Werte im Fenster des seriellen Monitors. +
- +
-{{ :nwt:arduino:analog_read:sketch_poti.png?400 |}} +
-{{ :nwt:arduino:analog_read:schaltung_qg.jpg?400 |}} +
- +
-===== Neue Befehle ===== +
- +
-  * ''analogRead(pin)'': Liest den Wert eines festgelegten analogen Pins aus. Die resultierenden Integer Werte haben ein Spektrum von 0 bis 1023. (Bemerkung: Analoge Pins müssen im Gegensatz zu digitalen nicht zuerst als Eingang oder Ausgang deklariert werden.) +
-  * ''Serial.begin(9600)'':Öffnet den seriellen Port und setzt die Datenrate auf 9600 bps. +
-  * ''Serial.print'' / ''Serial.println'': Sendet eine Nachricht oder einen Wert an den seriellen Monitor. +
- +
-  Serial.print("Das ist eine Nachricht ohne Zeilenumbruch");'' +
-  Serial.println("Das ist eine Nachricht mit Zeilenumbruch am Ende"); +
-  Serial.print(sensorValue); Sendet den Wert der Variable sensorValue.  +
- +
- +
-===== Sketch 4.2 ===== +
- +
-Rechne die ausgelesenen Werte so um, dass sie den Werten der am analogen Eingang anliegenden Spannung entsprechen.  +
-Ändere den Sketch so ab, dass auf dem seriellen Monitor der Spannungswert ausgegeben wird, wie z.B.:  "Die Spannung beträgt: 2,1 V" +
-Speichere den Sketch unter dem Namen "A042_Poti_Spannung_2" ab. +
- +
-Beachte die Infos zu den Rechenoperationen. Experimentiere mit den Operationen und unterschiedlichen Variablentypen. Was passiert, wenn eine Wert den zulässigen Wertebereich eines Variablentyps verlässt? **Programmiere Beispiele, protokolliere deine Erkenntnisse!** +
- +
-===== Info: Rechenoperationen ===== +
- +
-<box 100% round #ffffff #609732 #609732 #ffffff |**Informationen Rechnen mit dem Arduino**> +
-\\ +
-Arithmetische Operatoren umfassen Addition, Subtraktion, Multiplikation und Division. Sie geben die Summe, Differenz, das Produkt oder den Quotienten zweier Operatoren zurück. +
- +
-  y = y + 3;   +
-  x = x - 7; +
-  i = j * 6; +
-  r = r / 5; +
- +
- +
-**Bemerkungen** +
- +
-  * Die Operation wird unter Beibehaltung der Datentypen durchgeführt. ''9/4'' wird so zum Beispiel zu ''2'' und nicht ''2,25'', da ''9'' und ''4'' Integer((Ganzzahlen)) sind und keine Nachkommastellen unterstützen.  +
-  * Dies bedeutet auch, dass die Operation "überlaufen" kann wenn das Resultat größer ist als der Datentyp zulässt, dann kommen unsinnige Ergebnisse heraus.  +
-  * Wenn die Operanden unterschiedliche Datentypen haben wird der "größere" Typ verwendet. Hat zum Beispiel eine der Zahlen (Operanden) den Datentyp 'float' und der andere 'int', so wir Fliesskomma Mathematik zur Berechnung verwendet. +
-  * Wähle Variablentypen, die groß genug sind um die Werte der Ergebnisse zu speichern. Sei Dir bewusst an welcher Stelle die Werte überlaufen. Für Berechnungen die Brüche ergeben sollten immer 'float' Variablen genutzt werden. Allerdings mit dem Bewusstsein der Nachteile: Großer Speicherbedarf und langsame Geschwindigkeit der Berechnungen.  +
-  * Nutze den Form Operator z.B. ''(int)myFloat'' um einen Variablen Typen spontan in einen anderen zu verwandeln. Zum Beispiel wird mit ''i = (int)3.6'' die Variable ''i'' auf den Wert 3 gesetzt. So hast du die Kontrolle darübervon welchem Typ das Ergebnis deiner Rechung letztlich ist. +
-</box> +
- +
- +
-===== Info: Gemischte Zuweisungen ===== +
- +
-<box 100% round #ffffff #609732 #609732 #ffffff |**Informationen Rechnen mit dem Arduino**> +
-\\ +
-Gemischte Zuweisungen kombinieren eine arithmetische Operation mit einer Variablen Zuweisung. Diese werden üblicherweise in Schleifen gefunden, die wir später noch genauer Beschreiben werden. Die gängigsten gemischten Zuweisungen umfassen: +
- +
-  x++ // identisch mit x = x + 1, oder Erhöhung von x um +1 +
-  x-- // identisch mit x = x - 1, oder Verminderung von x um -1 +
-  x+=y // identisch mit x = x + y, oder Erhöhung von x um +y +
-  x-=y // identisch mit x = x - y, oder Verminderung von x um -y +
-  x*=y // identisch mit x = x * y, oder Multiplikation von x mit y +
-  x/=y // identisch mit x = x / y, oder Division von x mit y +
- +
-Bemerkung:  +
-Zum Beispiel führt x *= 3 zur Verdreifachung des alten Wertes von 'x' und weist +
-der Variablen 'x' des Ergebnis der Kalkulation zu. +
-</box>+
  
 +Zeichne einen Schaltplan.
  
 +=== (2) ===
  
 +Baue ein Stroboskop mit einer LED als Lichtquelle. Mit dem Poti als Drehregler soll es möglich sein, die Blinkfequenz zu verändern.
  • faecher/nwt/arduino/lernbaustein2/potentiometer/start.1601834721.txt.gz
  • Zuletzt geändert: 04.10.2020 20:05
  • von sbel