Benutzer-Werkzeuge

Webseiten-Werkzeuge


start:skript:tut1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
start:skript:tut1 [2019/10/18 13:17]
SabidJFejzula
start:skript:tut1 [2019/10/25 14:38] (aktuell)
luismeixner
Zeile 1: Zeile 1:
-Themen: 
-  * Variablen 
-   * Datentypen 
-   * Syntax(Deklarieren/​Initialisieren) 
-   * Scope(Gültigkeitsbereich) und Sichtbarkeit 
-  * If-Bedingungen 
-  * Ton 
-  * Löten 
- 
 =====Variablen===== =====Variablen=====
 Eine Variable ist im Allgemeinen ein Speicherort für eine Information,​ wie zum Beispiel eine Zahl oder ein Wort. Dem Compiler wird mitgeteilt, von welchem Typ die Variable ist und somit auch, wie viel Speicherplatz für die Variable reserviert werden muss. Es kann dann auf die Variable zugegriffen werden indem man sie ausliest, oder indem man neue Informationen in sie reinschreibt. Variablen können zum Beispiel dafür verwendet werden, eine ausgelesene Spannung zu speichern, um diese später weiterzuverarbeiten. Eine Variable ist im Allgemeinen ein Speicherort für eine Information,​ wie zum Beispiel eine Zahl oder ein Wort. Dem Compiler wird mitgeteilt, von welchem Typ die Variable ist und somit auch, wie viel Speicherplatz für die Variable reserviert werden muss. Es kann dann auf die Variable zugegriffen werden indem man sie ausliest, oder indem man neue Informationen in sie reinschreibt. Variablen können zum Beispiel dafür verwendet werden, eine ausgelesene Spannung zu speichern, um diese später weiterzuverarbeiten.
Zeile 53: Zeile 44:
 </​code>​ </​code>​
  
-===Beispiel ​aus dem Tutorium===+===Beispiel===
 <code c++> <code c++>
  
Zeile 90: Zeile 81:
 } }
 </​code>​ </​code>​
 +
 +=====If-Bedingungen=====
 +If Bedingungen werden gebraucht um bestimmte Fälle zu unterscheiden und in jedem der Fälle verschiedene Codeabschnitte auszuführen.
 +Die Syntax bei c++ sowie Java lautet Allgemein:
 +<​code>​
 +if(<​BEDINGUNG>​){
 +<​CODE>​
 +}
 +</​code>​
 +
 +Konkret könnten wir zum Beispiel ein Programm haben welches die Lüfter von einem Computer steuert und eine Warnung ausgeben soll wenn die Temperatur 80 Grad überschreitet.
 +Hierbei müsste es eine Variable geben welche wir //temp// nennen wo das Programm die aktuelle Temperatur speichert. Nun benutzen wir eine if-Bedingung um unsere Warnung auszugeben:
 +<​code>​
 +float temp;
 +
 +...
 +
 +If(temp > 80){
 +   ​Serial.println("​Temperatur zu Hoch!"​); ​
 +}
 +
 +</​code>​
 +
 +Es Gibt folgende Vergleichsoperatoren:​
 +  ​
 +  * == / != (Gleich / Ungleich)
 +  * > / < (Größer / Kleiner)
 +  * >= / <= (Größer-Gleich / Kleiner-Gleich)
 + 
 + 
 +
 +Achtet darauf, dass ihr zum Vergleichen nicht //=// verwendet sondern immer //==//. Passt außerdem auf, dass ihr nur vergleichbare variablen vergleicht (Wenn ihr zum Beispiel einen String mit einem int vergleicht weiss der Computer nicht weiter).
 +
 +=====Summe=====
 +In dem folgenden Programm habe ich eine Summe von 1 bis 10 berechnet, ohne for-Loops zu nutzen und nur if-Bedingungen verwendet. Dieses Programm kann als Grundlage für die Fakultät Hausaufgabe genutzt werden. Was eine Fakultät ist, kann [[https://​de.wikipedia.org/​wiki/​Fakultät_%28Mathematik%29|hier]] nachgelesen werden.
 +<code c++>
 +int ergebnis = 0; //Variable um das Ergebnis zu speichern
 +int n = 10; //Zahl bis zu der summiert werden soll
 +int laufvariable = 1; //​Hilfsvariable um die Anzahl der Durchläufe zu zählen
 +void setup() {
 +  Serial.begin(9600);​ //Serielle Kommunikation initiieren
 +}
 +
 +void loop() {
 +  if (laufvariable <= n) { //prüfen ob das Ende der Summe, in diesem Fall 10, erreicht ist
 +    ergebnis = ergebnis + laufvariable;​ //Ergebnis um  einen Summanden erhöhen
 +    laufvariable = laufvariable + 1; //​Laufvariable um 1 erhöhen
 +  }
 +  if (laufvariable == n+1) { //bei Laufvariable = 11 Ergebnis ausgeben
 +    Serial.println(ergebnis);​
 +    laufvariable += 1; //​Laufvariable um 1 erhöhen, damit die if-Bedingungen nicht mehr erfüllt werden und das Programm nichts mehr ausgibt
 +  }
 +}
 +</​code>​
 +
  
  
Zeile 96: Zeile 142:
 ====Lautsprecher==== ====Lautsprecher====
 Der im Set enthaltene [[https://​de.wikipedia.org/​wiki/​Ferroelektrischer_Lautsprecher|Piezolautsprecher]] erzeugt Töne indem die Membran des Lautsprechers durch ein Piezoelement bewegt wird. Ein Piezoelement führt beim Anlegen einer Spannung eine mechanische Bewegung aus. Wenn an diesen Lautsprecher eine [[https://​de.wikipedia.org/​wiki/​Wechselspannung|Wechselspannung]] angelegt wird, bewegt das Piezolelement die Membran mit einer bestimmten[[https://​de.wikipedia.org/​wiki/​Frequenz|Frequenz]]. Abhängig von der Frequenz, also der Anzahl der Bewegungen pro Sekunde, erzeugt die Membran dann Töne von verschiedener Höhe. Der Arduino kann keine Wechselspannung erzeugen, deshalb muss mit Hilfe der delay-Funktion eine Gleichspannung in bestimmten Zeitabständen an den Lautsprecher angelegt werden. Der im Set enthaltene [[https://​de.wikipedia.org/​wiki/​Ferroelektrischer_Lautsprecher|Piezolautsprecher]] erzeugt Töne indem die Membran des Lautsprechers durch ein Piezoelement bewegt wird. Ein Piezoelement führt beim Anlegen einer Spannung eine mechanische Bewegung aus. Wenn an diesen Lautsprecher eine [[https://​de.wikipedia.org/​wiki/​Wechselspannung|Wechselspannung]] angelegt wird, bewegt das Piezolelement die Membran mit einer bestimmten[[https://​de.wikipedia.org/​wiki/​Frequenz|Frequenz]]. Abhängig von der Frequenz, also der Anzahl der Bewegungen pro Sekunde, erzeugt die Membran dann Töne von verschiedener Höhe. Der Arduino kann keine Wechselspannung erzeugen, deshalb muss mit Hilfe der delay-Funktion eine Gleichspannung in bestimmten Zeitabständen an den Lautsprecher angelegt werden.
-====delay-Funktion====+====Delay-Funktion====
 Die delay-Funktion sorgt dafür, dass das Programm für einen bestimmte Zeit angehalten wird. Nachdem das Programm diese Zeit abgewartet hat, läuft es ganz normal weiter. Die delay-Funktion sorgt dafür, dass das Programm für einen bestimmte Zeit angehalten wird. Nachdem das Programm diese Zeit abgewartet hat, läuft es ganz normal weiter.
 <code c++> <code c++>
Zeile 105: Zeile 151:
 var = 7; var = 7;
 </​code>​ </​code>​
- 
- 
- 
- 
-####################################################​ALT###########################################################​ 
-Themen: 
-  * Was ist Strom/​Widerstand/​Spannung 
-  * Ohmsches Gesetz 
-  * Reihen und Parallelschaltungen 
-  * Was ist Leistung 
-  * Wie messe ich Strom/​Widerstand/​Spannung (Multimeter Einführung) 
- 
-\\ 
-=====Was ist ... ===== 
-====... Strom?==== 
-Elektrischer Strom ist per Definition bewegte Ladung. Sobald sich also ein geladenes Teilchen in Bewegung setzt haben wir Strom. Das Formelzeichen von Strom ist I und die Einheit Ampere [A]. 
-====... Spannung?​==== 
-Spannung beschreibt einen Potentialunterschied. Darunter kann man sich vorstellen, dass man zwei Reservoirs (A und B) hat in dem einen befinden sich sehr viele sich abstossende Teilchen (A) in dem anderen nichts (B). In dem Reservoir mit den vielen sich abstossenden Ladungsträgern haben wir ein hohes Potential und in dem anderen eines von 0. Die Spannung beschreibt nun den Potentialunterschied also Pot(A)-Pot(B) = U. Wenn wir diese Idee weiterentwickeln so kommt man zu dem Schluss, dass eine Spannung (wenn die beiden Pole/​Reservoirs verbunden werden) einen Strom erzeugt, da die sich abstossenden Teilchen versuchen sich Gleichmäßig zu verteilen. Das Formelzeichen der Spannung ist U und die Einheit [V] Volt.  
-====... Widerstand?​==== 
-Der Widerstand ist eine Eigenschaft des verwendeten leitenden Materials. Er "​bremst"​ den Strom quasi aus. So zeichnen sich zB. Isolatoren dadurch aus, einen sehr hohen elektrischen Widerstand zu haben und zwar so hoch, dass kein Strom mehr fliessen kann.  
- 
-=====Das Ohmsche Gesetz===== 
-Das Ohmsche Gesetz postuliert einen linearen Zusammenhang zwischen Spannung und Strom, wobei die Konstante der Widerstand ist. Das bedeutet, dass man in einem Stromkreis, wenn man die Spannung und den Strom misst berechnen kann wie groß der Widerstand ist. Bzw. allgemeiner wenn man zwei der drei Größen kennt, kennt man auch die dritte.\\ 
-Als Gleichung fromuliert U = R * I.\\ 
-Achtung! Dieses Gesetz gilt nicht immer, so gibt es (auch bei uns im Labor) Bauteile die sich nicht so einfach beschreiben lassen. 
- 
-=====Die Reihenschaltung===== 
-Eine Reihenschaltung zeichnet sich dadurch aus, dass die Verbraucher hintereinander geschaltet sind (vgl. Abbildung 1). In so einer Konfiguration verhalten sich die drei Größen U,R und I wie folgt.\\ 
-Die Spannung U teilt sich auf die Bauteile R1 und R2 auf. Anders ausgedrückt an jedem der Bauteile fällt eine Spannung ab. Oder in eine Formel gefasst: <​code>​ U = U1 + U2</​code>​ 
-Der Strom durch alle Bauteile (R1 und R2) ist identisch. 
-<​code>​ I0 = I1 = I2 </​code>​ 
-Der Gesamtwiderstand ergibt sich als Summe der Einzelwiderstände:​ 
-<​code>​ R = R1 + R2 </​code>​ 
-{{ :​start:​skript:​reihen_schaltung.png?​500 |Abbildung 1: Beispiel einer Reihenschaltung mit zwei Verbrauchern R1 und R2.}} 
- 
-=====Die Parallelschaltung===== 
- 
-Hierbei werden die Verbraucher in separaten Stromkreisen an die gleiche Spannungsquelle angeschlossen (vgl. Abbildung 2).\\ 
-Die Spannung die an jeder der Lasten R1 und R2 anliegt enspricht der Spannung U der Spannungsquelle. 
-<​code>​ U = U1 = U2 </​code>​ 
-Der Strom teilt sich an der Gabelung (Knoten Nr. 2) auf in zwei Ströme I1 und I2 wobei gilt: 
-<​code>​ I0 = I1 + I2 </​code>​ 
-Der Gesamtwiederstand,​ den man an Knoten 2 und 5 (oder 1 und 4) messen würde ist durch  
-<​code>​ 1/R = 1/R1 + 1/R2 </​code> ​ 
-gegeben. 
-{{ :​start:​skript:​parallel_schaltung.png?​500 |Abbildung 2: Beispiel einer Parallelschaltung mit zwei parallelen Verbrauchern R1 und R2.}} 
- 
- 
-=====Die Leistung===== 
- 
-Die Leistung P beschreibt allgemein die Energie, welche in einer bestimmten Zeit umgesetzt (geleistet) wurde. Die Einheit der Leistung ist Watt.  
-Allgemein als Formel dargestellt:​ 
-<​code>​ P = ΔE/​Δt</​code>​ 
-Die elektrische Leistung (bei Gleichstrom!) ist gegeben durch folgenden Zusammenhang:​ 
-<​code>​ P = U * I</​code>​ 
-Damit kann man zB. abschätzen wieviel Leistung an einem Widerstand abfällt und dann daraus zB. vorhersagen ob besagter Widerstand durchbrennt oder nicht. 
-zB: Könnten wir eine einfache Schaltung mit einer Spannungsquelle (U) und einem Verbraucher (R1) haben. Wir kennen die Spannung U bereits, da wir sie selbst angelegt haben. Normalerweise kennt man die Stärke des fliessenden Stroms noch nicht. Wir können ihn allerdings, wenn wir den Widerstand R1 kennen, mit dem Ohmschen Gesetz wie folgt berechnen. ​ 
-<​code>​ 
-U = R1 * I | Umformen 
-I = U/​R1</​code>​ 
-Das setzten wir nun in die Gleichung für die Leistung ein und erhalten: 
-<​code>​ 
-P = U^2/​R1</​code>​ 
-Ist nun unser Wert für P größer als die Angabe auf unserem Widerstand (üblicherweise 1/4W) so müssen wir einen Widerstand mit höherer Leistung oder einen mit einem höheren Widerstand R1 einbauen um innerhalb der Leistungsgrenzen zu bleiben. 
- 
-=====Messen mit einem Multimeter===== 
-Ein Multimeter ist zunächst eine Kombination aus Volt/Ohm und Amperemeter. 
-Spannungen und Widerstände müssen wie in Abbildung 3 gezeigt parallel gemessen werden. In Abbildung 3 wird einmal der Widerstand R1 gemessen und die Spannung welche an R1 abfällt. 
-{{ :​start:​skript:​volt_ohm_messen.png?​500 |Abbildung 3: Spannungs und Widerstandsmessung in Stromkreisen.}} 
-Um den Strom der durch einen bestimmten Abschnitt des Stromkreises fliesst zu messen muss man das Multimeter in Reihe schalten, sodass der Strom I0 quasi gezwungen wird durch das Multimeter zu fliessen (vgl. Abbildung 4). 
-{{ :​start:​skript:​strom_messen.png?​500 |Abbildung 4: Anschluss eines Amperemeters.}} 
-Achtung! Achtet darauf, dass ihr wenn ihr euch nicht sicher seid in welcher Größenordnung die zu messenden Ströme/​Spannungen sind, das Multimeter immer auf eine zu große Größenordnung einstellt und dann langsam niedrigere Größenordnungen wählt.\\ Ein Typischer fehler, wenn ihr komische oder keine Werte messt ist, dass ihr die Messkabel in den falschen Buchsen des Multimeters stecken habt. 
start/skript/tut1.1571397440.txt.gz · Zuletzt geändert: 2019/10/18 13:17 von SabidJFejzula