Grundkenntnisse Programmierung 6 (Arduino Pong Spiel): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Arduino: Projekt]]
'''Autor:''' Justin Frommberger<br/>
==<code>const</code>==
[[Kategorie:Arduino: Projekt Grundkenntnisse]]
* Das const-Keywort steht für Konstanten.
* Das bedeutet, dass die Variable wie alle anderen Variablen des gleichen Typs benutzt werden kann, aber dass der Wert unveränderlich ist.
===#define oder const===
*  Für Konstanten kann entweder const oder #define verwendet werden.
* Für Arrays muss const verwendet werden.
 
==<code>unsigned long</code>==
* Kann keine negativen Zahlen speichern.
* Bereich liegt zwischen 0 und 4,294,967,295 (2^32 - 1)
 
==<code>uint8_t</code>==
{| class="wikitable"
|-
|'''UINT8_t'''||unsigned char
|-
|'''U'''||unsigned: ohne Vorzeichen
|-
|'''INT'''||Integer
|-
|'''8'''||Bit Länge
|-
|'''_t'''||Kennung das ein Typ ist
|-
|}


==OLED Display==
==OLED Display==
Zeile 44: Zeile 20:


==<code>millis()</code>==
==<code>millis()</code>==
Gibt die Anzahl von Millisekunden zurück, seit das Arduino-Board das aktuelle Programm gestartet hat
Gibt die Anzahl von Millisekunden zurück, seit Beginn des Sketches des Arduino Boards.


==<code>bool</code>==
==<code>bool</code>==
* Ein bool enthält einen von zwei Werten, true oder false
Ein bool enthält einen von zwei Werten, true oder false<br>
* Jede bool-Variable belegt ein Byte Speicher
Jede bool-Variable belegt ein Byte Speicher.<br>
Variable von True auf False setzen mit: <code> running = !running; </code>
 
['''Quelltext 1: ''' <code>bool.ino</code>]
<syntaxhighlight lang="c" style="background-color: #EFF1C1; font-size:small">
 
 
int LEDpin = 5;    // LED auf Pin 5
int switchPin = 13; // Momentschalter auf 13, andere Seite mit Masse verbunden
 
bool running = false;
 
void setup() {
  pinMode(LEDpin, OUTPUT);
  pinMode(switchPin, INPUT);
  digitalWrite(switchPin, HIGH); // Pullup-Widerstand einschalten
}
 
void loop() {
  if (digitalRead(switchPin) == LOW) {  // Schalter wird gedrückt - Pullup hält den Pin normalerweise hoch
    delay(100);                    // Verzögerung zum Entprellen des Schalters
    running = !running;            // Laufvariable umschalten
    digitalWrite(LEDpin, running); // Über LED anzeigen
  }
}
</syntaxhighlight>


==<code>static</code>==  
==<code>static</code>==  
* Variablen nur für eine Funktion sichtbar sind.  
Variable nur für die aktuelle Funktion, in der sie definiert wurde, sichtbar. <br>
* Anders als lokale Variablen, die bei jedem Funktionsaufruf neu belegt werden, behalten statische Variablen deren Wert über das Funktionsende hinaus bei.
Anders als lokale Variablen, die bei jedem Funktionsaufruf neu belegt werden, behalten statische Variablen deren Wert über das Funktionsende hinaus bei.
<br><br>
 
 
----
'''→ zurück zur Übersicht: [https://wiki.hshl.de/wiki/index.php/Konzipierung_und_Evaluierung_von_Arduino-Projekten_verschiedener_Schwierigkeitsgrade_f%C3%BCr_die_Lehre#Projekte_unterschiedlicher_Schwierigkeitsgrade Projekte]'''

Aktuelle Version vom 21. September 2023, 08:29 Uhr

Autor: Justin Frommberger

OLED Display

display.clearDisplay() all pixels are off
display.drawPixel(x,y, color) plot a pixel in the x,y coordinates
display.setTextSize(n) set the font size, supports sizes from 1 to 8
display.setCursor(x,y) set the coordinates to start writing text
display.print(“message”) print the characters at location x,y
display.display() call this method for the changes to make effect

millis()

Gibt die Anzahl von Millisekunden zurück, seit Beginn des Sketches des Arduino Boards.

bool

Ein bool enthält einen von zwei Werten, true oder false
Jede bool-Variable belegt ein Byte Speicher.
Variable von True auf False setzen mit: running = !running;

[Quelltext 1: bool.ino]

int LEDpin = 5;     // LED auf Pin 5
int switchPin = 13; // Momentschalter auf 13, andere Seite mit Masse verbunden

bool running = false;

void setup() {
  pinMode(LEDpin, OUTPUT);
  pinMode(switchPin, INPUT);
  digitalWrite(switchPin, HIGH); // Pullup-Widerstand einschalten
}

void loop() {
  if (digitalRead(switchPin) == LOW) {  // Schalter wird gedrückt - Pullup hält den Pin normalerweise hoch
    delay(100);                    // Verzögerung zum Entprellen des Schalters
    running = !running;            // Laufvariable umschalten
    digitalWrite(LEDpin, running); // Über LED anzeigen
  }
}

static

Variable nur für die aktuelle Funktion, in der sie definiert wurde, sichtbar.
Anders als lokale Variablen, die bei jedem Funktionsaufruf neu belegt werden, behalten statische Variablen deren Wert über das Funktionsende hinaus bei.



→ zurück zur Übersicht: Projekte