Grundkenntnisse Programmierung 3 (Arduino LED Würfel): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Arduino: Projekt]] | [[Kategorie:Arduino: Projekt Grundkenntnisse]] | ||
'''Autor:''' Justin Frommberger<br/> | '''Autor:''' Justin Frommberger<br/> | ||
==<code>digitalWrite()</code>== | ==<code>digitalWrite()</code>== | ||
Schreibt einen HIGH- oder LOW-Wert auf einen Digitalpin. | |||
{| class="wikitable" | |||
|+ style = "text-align: left"| Tabelle 1: digitalWrite(PIN, HIGH/LOW); | |||
|- | |||
| '''PIN''' || Die Arduino-Pinnummer. | |||
|- | |||
| '''value''' || HIGH = 5V(an) oder LOW = 0V(aus). | |||
|} | |||
['''Quelltext 1: ''' <code>digitalWrite.ino</code>] | ['''Quelltext 1: ''' <code>digitalWrite.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void loop ( ) | void loop ( ) | ||
{ | { | ||
digitalWrite(pin, value); | digitalWrite(pin, value); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==<code>digitalRead()</code>== | ==<code>digitalRead()</code>== | ||
Zeile 20: | Zeile 25: | ||
['''Quelltext 2: ''' <code>digitalRead.ino</code>] | ['''Quelltext 2: ''' <code>digitalRead.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void loop ( ) | void loop ( ) | ||
{ | { | ||
Zeile 39: | Zeile 44: | ||
==<code>analogRead()</code>== | ==<code>analogRead()</code>== | ||
Liest den Wert vom angegebenen analogen Pin ein. | |||
* Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter. | * Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter. | ||
* Zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023 (Zahl). | * Zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023 (Zahl). | ||
['''Quelltext 3: ''' <code>analogRead.ino</code>] | ['''Quelltext 3: ''' <code>analogRead.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void loop() { | void loop() | ||
{ | |||
Variable = analogRead(analogPin); // Speichert die Werte vom Pin in der Variable | Variable = analogRead(analogPin); // Speichert die Werte vom Pin in der Variable | ||
} | } | ||
Zeile 51: | Zeile 57: | ||
==<code>random();</code>== | ==<code>random();</code>== | ||
Ist ein Zufallszahlengenerator, um eine random Zahl auszugeben. | |||
===<code>randomSeed(analogRead(0))</code>=== | ===<code>randomSeed(analogRead(0))</code>=== | ||
* | * Es ist schwierig für einen Computer, "echte" Zufallszahlen zu generieren, da das Computerprogramm in einem geschlossenen Zustand ohne direkte Einflüsse von außen ist. Jedoch kann man durch das Auslesen eines Bits, das von Ereignissen außerhalb des geschlossenen Zustands beeinflusst wird und als eine Art Antenne fungiert, sehr gute zufällige Zahlen erhalten.<br> | ||
* | * Dafür wird ein nicht verbundener analog Pin ausgelesen, dieser Wert ist relativ random, da er wie eine Antenne beeinflussbar ist von der Umgebung. | ||
['''Quelltext 4: ''' <code>randomSeed.ino</code>] | ['''Quelltext 4: ''' <code>randomSeed.ino</code>] | ||
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size: | <syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:small"> | ||
void setup() { | void setup() | ||
{ | |||
randomSeed(analogRead(0)); | randomSeed(analogRead(0)); | ||
} | } | ||
void loop() { | void loop() | ||
{ | |||
randNumber = random(7); // Random Zahl von 1 bis 6 | randNumber = random(7); // Random Zahl von 1 bis 6 | ||
} | } | ||
Zeile 69: | Zeile 77: | ||
<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]''' | |||
'''→ zurück |
Aktuelle Version vom 21. September 2023, 08:20 Uhr
Autor: Justin Frommberger
digitalWrite()
Schreibt einen HIGH- oder LOW-Wert auf einen Digitalpin.
PIN | Die Arduino-Pinnummer. |
value | HIGH = 5V(an) oder LOW = 0V(aus). |
[Quelltext 1: digitalWrite.ino
]
void loop ( )
{
digitalWrite(pin, value);
}
digitalRead()
Liest einen Wert von einem vorgegebenen Digitalpin ein, entweder HIGH oder LOW.
[Quelltext 2: digitalRead.ino
]
void loop ( )
{
int ledPin = 13; // LED verbunden mit Digitalpin 13
int inPin = 7; // Button verbunden mit Digitalpin 7
int val = 0; // Variable, um den gelesenen Wert zu speichern
void setup() {
pinMode(ledPin, OUTPUT); // Setzt den Digitalpin 13 als Outputpin
pinMode(inPin, INPUT); // Setzt den Digitalpin 7 als Intputpin
}
void loop() {
val = digitalRead(inPin); // Liest den Inputpin
digitalWrite(ledPin, val); // Setzt die LED auf den Wert des Buttons
}
}
analogRead()
Liest den Wert vom angegebenen analogen Pin ein.
- Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter.
- Zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023 (Zahl).
[Quelltext 3: analogRead.ino
]
void loop()
{
Variable = analogRead(analogPin); // Speichert die Werte vom Pin in der Variable
}
random();
Ist ein Zufallszahlengenerator, um eine random Zahl auszugeben.
randomSeed(analogRead(0))
- Es ist schwierig für einen Computer, "echte" Zufallszahlen zu generieren, da das Computerprogramm in einem geschlossenen Zustand ohne direkte Einflüsse von außen ist. Jedoch kann man durch das Auslesen eines Bits, das von Ereignissen außerhalb des geschlossenen Zustands beeinflusst wird und als eine Art Antenne fungiert, sehr gute zufällige Zahlen erhalten.
- Dafür wird ein nicht verbundener analog Pin ausgelesen, dieser Wert ist relativ random, da er wie eine Antenne beeinflussbar ist von der Umgebung.
[Quelltext 4: randomSeed.ino
]
void setup()
{
randomSeed(analogRead(0));
}
void loop()
{
randNumber = random(7); // Random Zahl von 1 bis 6
}
→ zurück zur Übersicht: Projekte