Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Leitfaden Report.pdf
Binary file not shown.
Binary file added Report/Benutzeroberflaeche.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/EditRunConfiguration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/EduTools-Kursstart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/Edutools-Plugin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/EnterEditRunConfiguration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/Navigation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/PeakSolution.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/ProjektbaumValidierung.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/Raspi-JVM.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/RunConfiguration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/SetupAusfuehrungRunConfig.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/SimonSays-Hardware.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/SimonSays_Schema.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/StartCourse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/TrustProject.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/WelcomeToIntellijIDEA.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/mvc-concept.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/pi4jHeader.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Report/report.html
Binary file not shown.
14 changes: 7 additions & 7 deletions Tutorial/Eigenes Projekt/Einleitung/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@
Hier die [Theorie](https://pi4j.com/getting-started/javafx-mvc-template/) zum JavaFX-Template.

## 3 Templates
Das JavaFx-Template besteht aus 3 verschiedenen Apps, sowie dem Verzeichnis für Komponenten.
Das JavaFx-Template besteht aus 3 verschiedenen Apps sowie dem Verzeichnis für Komponenten.

### MultiControllerApp
Die *MultiControllerApp* bietet die Möglichkeit mehrere Controller in der gleichen Applikation zu steuern. Sie stellt eine
Die *MultiControllerApp* bietet die Möglichkeit, mehrere Controller in der gleichen Applikation zu steuern. Sie stellt eine
PUI und eine GUI Klasse zur Verfügung. Es können also gleichzeitig Hardwarebauteile und grafische Objekte umgesetzt werden.
Die *MultiControllerApp* ist eine App, um aufzuzeigen, wie mit mehreren Controllern gearbeitet werden könnte.
Die *MultiControllerApp* ist eine App, um aufzuzeigen, wie mit mehreren Controllern gearbeitet werden kann.

### TemplateApp
Die *TemplateApp* ist eine App, welche aus einem einzelnen Controller besteht und implementationen für ein GUI und ein PUI
bereitstellt. Dieses Template sollte genutzt werden, wenn die Funktionalität der App klein ist, aber ein GUI für den
Die *TemplateApp* ist eine App, welche aus einem einzelnen Controller besteht und Implementationen für ein GUI und ein PUI
bereitstellt. Dieses Template kann genutzt werden, wenn die Funktionalität der App klein ist, aber ein GUI für den
Benutzer bereitgestellt wird, welches zum Beispiel durch die PUI-Komponenten gesteuert wird.

### TemplatePUIApp
Die *TemplatePUIApp* ist die vom Umfang her kleinste App. Sie besteht aus einem einzelnen Controller und implementiert
nur ein PUI. Die Applikation benötigt keine JavaFX Komponenten, sondern nur Hardware Bauteile. Die Visualisierung wird dabei
Die *TemplatePUIApp* ist vom Umfang her die kleinste App. Sie besteht aus einem einzelnen Controller und implementiert
nur ein PUI. Die Applikation benötigt keine JavaFX Komponenten, sondern nur Hardware-Bauteile. Die Visualisierung wird dabei
ausschliesslich durch Hardwarekomponenten realisiert.

This file was deleted.

2 changes: 0 additions & 2 deletions Tutorial/Eigenes Projekt/Projektstart/task-info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,3 @@ type: theory
files:
- name: src/Main.java
visible: true
- name: runConfigurations/EigenesProjekt-Projektstart.run.xml
visible: true
10 changes: 5 additions & 5 deletions Tutorial/Eigenes Projekt/Projektstart/task.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Task 3/7: Projektstart

## Simon Says
Simon Says soll als ein Memory-Spiel realisiert werden. Simon wird durch einen Computer dargestellt und schaltet 4 LEDs in
unterschiedlicher Reihenfolge ein und aus. Der Spieler muss versuchen die Reihenfolge wiederzugeben, so wie diese von Simon
Simon Says soll als Memory-Spiel realisiert werden. Simon wird durch einen Computer dargestellt und schaltet 4 LEDs in
unterschiedlicher Reihenfolge ein und aus. Der Spieler muss nun versuchen, die Reihenfolge wiederzugeben, so wie diese von Simon
vorausgesagt wurde.

Eine mögliche Variante des Spiels ist im Editor umgesetzt. Mit dem Button *Run* kann die Demonstration gestartet werden.
Expand All @@ -20,9 +20,9 @@ muss danach durch die Spieler exakt wiedergegeben werden. Zu Beginn einer neuen
Meldung abgesetzt werden, und dann die Sequenz von Simon starten.

Falls die Sequenz durch die Spieler in der richtigen Reihenfolge gedrückt wird, so wird auf der Console eine Erfolgsmeldung ausgegeben.
Falls in der Sequenz eine falsche Eingabe kommt, soll sofort abgebrochen und eine Fehlermeldung ausgegeben werden.
Falls in der Sequenz eine falsche Eingabe kommt, wird sofort abgebrochen und eine Fehlermeldung ausgegeben.
Dann kann wieder von Vorne angefangen werden.

## Ausführung
Falls das *SimonSays* per Klick auf Run nicht ausführbar ist, muss auch hier wieder die RunConfiguration angepasst werden
auf das eigene Setup. Diese RunConfiguration heisst *EigenesProjekt-Projektstart* und sieht etwas anders aus als wie gewohnt.
Falls das *SimonSays* per Klick auf Run nicht ausführbar ist, muss hier wieder die RunConfiguration auf das eigene Setup
angepasst werden. Diese RunConfiguration heisst *EigenesProjekt-Projektstart* und sieht etwas anders aus als wie gewohnt.
4 changes: 2 additions & 2 deletions Tutorial/Eigenes Projekt/Schema/task.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Task 4/7: Schema
Hier wird ein Beispielsschema für die vorhin genannte Applikation aufgezeigt. Leider haben sich hier Fehler eingeschlichen.
Markiere alle Aussagen, die stimmen in Bezug auf die vorhin genannte Applikation.
Hier wird ein Beispielsschema für die vorhin genannte Applikation aufgezeigt. Es haben sich hier Fehler eingeschlichen.
Markiere alle Aussagen, die im Bezug auf die vorhin genannte Applikation stimmen.

![SimonSays Schema](./SimonSays_Schema.png)
15 changes: 7 additions & 8 deletions Tutorial/Eigenes Projekt/SimonSays/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ nochmals kurz erwähnt:
- Bei einem Fehler wird das Spiel beendet, mit einem Taster kann danach ein neues Spiel gestartet werden

## Model
In einem ersten Schritt geht es darum, im Model die benötigten Variablen zu definieren.
Im ersten Schritt geht es darum, im Model die benötigten Variablen zu definieren.

Als Hilfestellung sind alle Variablen aufgelistet, welche in der Musterlösung verwendet werden.
<div class="hint">
Expand All @@ -18,7 +18,7 @@ Als Hilfestellung sind alle Variablen aufgelistet, welche in der Musterlösung v
## Kontroller
Als Nächstes müssen im Kontroller sämtliche Methoden erstellt werden, welche benötigt werden, um das Modell zu aktualisieren.

Ein möglicher Lösungsansatz ist es das Spiel in zwei Teile, Sequenz zeigen und Sequenz abfragen, zu unterteilen.
Ein möglicher Lösungsansatz ist es, das Spiel in zwei Teile, Sequenz zeigen und Sequenz abfragen, zu unterteilen.

Um dies zu erreichen, werden auch Variablen benötigt, welche nicht von der View dargestellt werden. Diese können direkt
im Kontroller erfasst werden.
Expand All @@ -43,7 +43,7 @@ for (int i = 0; i < get(model.sequence).size(); i++){
get(model.sequence).set(i, random.nextInt(4));
}</pre>
</div>
Danach sollen die LED entsprechend ein und ausgeschalten werden.
Danach sollen die LED entsprechend ein- und ausgeschaltet werden.

<div class="hint">
<pre style="background-color: #eee;border: 1px solid #999;display: block;padding: 2px;">
Expand All @@ -57,7 +57,7 @@ for (int i = 0; i < (startNumberOfLed+level-1); i++){
</div>

### Sequenz abfragen
Bei jedem Button der gedrückt wird, muss natürlich kontrolliert werden, ob die Sequenz noch stimmt. Doch es müssen noch weitere
Bei jedem Button der gedrückt wird, muss kontrolliert werden, ob die Sequenz noch stimmt. Zusätzlich müssen noch weitere
Fragen geklärt werden:
- ist das nächste Level erreicht
- ist das Spiel beendet
Expand Down Expand Up @@ -98,10 +98,9 @@ if(numberOfPressedLed >= startNumberOfLed+level-1){
</div>

## View
In der View geht es nun noch darum die LED Buttons richtig zu implementieren. Dies wurde bereits in den vorangehenden
Aufgaben ausreichend besprochen.
In der View geht es nun darum, die LED Buttons richtig zu implementieren.

Hier ist nochmals eine Hilfsstellung für die ModelToUIBindigns
Hier ist eine Hilfsstellung für die ModelToUIBindigns
<div class="hint">
<pre style="background-color: #eee;border: 1px solid #999;display: block;padding: 2px;">
onChangeOf(model.ledsGlowing).execute(((oldValue, newValue) -> {
Expand All @@ -126,5 +125,5 @@ könnte wie folgt aussehen:
![SimonSays_Hardware](./SimonSays-Hardware.png)

### Remote Ausführung
Die Applikation ist nun bereit, um auf dem Pi ausgeführt zu werden. Dazu ist eine
Die Applikation ist nun bereit, um auf dem Raspberry Pi ausgeführt zu werden. Dazu ist eine
Running-Config *EigenesProjekt-Komponenten* hinterlegt.
10 changes: 5 additions & 5 deletions Tutorial/Eigenes Projekt/Zusammenfassung/task.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Task 6/7: Zusammenfassung
Dieser Task beinhaltet eine kurze Zusammenfassung, was in dieser Lektion alles gelehrt wurde.
Dieser Task beinhaltet eine kurze Zusammenfassung, was in dieser Lektion alles abgedeckt wurde.

## JAVAFxApp
Die JavaFXApp ist eine Vorlage zur Verwendung der MVC-Architektur zur Implementierung eines JavaFX-basierten GUI und
eines PUI, das an einen Raspberry Pi angehängt ist. Die App besteht aus 3 Vorlagen.
Die JavaFXApp ist eine Vorlage zur Verwendung der MVC-Architektur zur Implementierung einer JavaFX-basierten Applikation.
Die App besteht aus 3 Vorlagen.

## SimonSays im Hardware-Ansatz
In dieser Lektion musste selbst ein SimonSays implementiert werden. Mit 4 LED, welche an digitalen Ausgängen des Rasperry
Pi angeschlossen sind, wird eine Farbfolge vorgegeben, die danach durch die Spieler über 4 Buttons, welche mit digitalen
In dieser Lektion musste selbst ein SimonSays implementiert werden. Mit 4 LED, welche an digitalen Ausgängen des Raspberry
Pi angeschlossen sind, wird eine Farbfolge vorgegeben, die danach durch die Spieler über 4 Buttons, die mit digitalen
Eingängen verbunden sind, wiederholt werden muss.

4 changes: 2 additions & 2 deletions Tutorial/Eigenes Projekt/Übersicht/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ In dieser Lektion soll ein eigenes Projekt auf der Basis der TemplatePUIApp erst

## Lernziele
- Ich kenne das TemplatePUIApp und die Struktur, wie eine App aufgebaut ist.
- Ich weiss, wie Ich Komponenten hinzufüge.
- Ich weiss, wie Komponenten hinzugefügt werden.
- Ich kann selbstständig ein Layout für die Hardware aufbauen.

## Zeitschätzung
Diese Lektion wird circa 80 Minuten in Anspruch nehmen.
Diese Lektion wird etwa 80 Minuten in Anspruch nehmen.

## Aufbau
Der Aufbau dieser Lektion sieht wie folgt aus:
Expand Down
2 changes: 1 addition & 1 deletion Tutorial/Einführung/Begrüssung/task-info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ type: theory
files:
- name: src/Main.java
visible: true
- name: pi4j-header.png
- name: pi4jHeader.png
visible: false
4 changes: 2 additions & 2 deletions Tutorial/Einführung/Benutzeroberfläche/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Die Grundeinstellung des Leitfadens sieht wie folgt aus:
Der Leitfaden beinhaltet diverse praktische Programmieraufgaben, welche im Editor direkt gelöst werden können.

## Aufgabenfenster
Im Aufgabenfenster wird, je nach Aufgabe, die Theorie zur Lektion vermittelt, Multiple-Choice-Fragen zur Lektion gestellt
Im Aufgabenfenster wird, je nach Aufgabe, die Theorie zur Lektion vermittelt, Multiple-Choice-Fragen zur Lektion
oder praktische Aufgaben gestellt, welche im Editor gelöst werden müssen.

## Navigationspfeile
Mit den Navigationspfeilen kann zwischen den einzelnen Tasks einer Lektion hin und her gesprungen werden.
Mit den Navigationspfeilen kann zwischen den einzelnen Tasks einer Lektion hin- und hergesprungen werden.

## Smart Checker
Mit dem Smart Checker kann die Lösung überprüft und zum nächsten Task in der Lektion gesprungen werden.
Expand Down
2 changes: 1 addition & 1 deletion Tutorial/Einführung/BugMultipleChoiceTask/task.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Task 7/10: MultipleChoiceTask
Bei Multiple-Choice-Fragen mit viereckigen Checkboxen (siehe unten) sind mehrere Antworten richtig. Die Aussage
*Select one option from the list* kann leider nicht geändert werden. Also nicht verwirren lassen. Es gilt:
*Select one option from the list* kann leider nicht geändert werden. Es gilt:
- runde Checkbox -> nur eine Option ist richtig
- viereckige Checkbox -> mehrere Optionen können richtig sein
2 changes: 1 addition & 1 deletion Tutorial/Einführung/Hint/task.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Task 9/10: Hint
An diversen Stellen im Leitfaden sind Hilfestellungen, sogenannte *Hints* platziert. Diese sind eine Unterstützung um
An diversen Stellen im Leitfaden sind Hilfestellungen, sogenannte *Hints* platziert. Diese sind eine Unterstützung,
die richtige Lösung zu finden. Benutze den untenstehenden Hint, um die Multiple-Choice-Frage richtig zu beantworten.
Hints können per Klick geöffnet werden.

Expand Down
6 changes: 3 additions & 3 deletions Tutorial/Einführung/Lektionsaufbau/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ das Lösen der Lektion in etwa in Anspruch nimmt.

**Selbsteinschätzung**

Die Selbsteinschätzung ist eine Sammlung von Kontrollfragen über die Inhalte der Lektion. Können alle richtig beantwortet
werden, sind die Inhalte der Lektion bereits bekannt und die Lektion kann übersprungen werden.
Die Selbsteinschätzung ist eine Sammlung von Kontrollfragen über die Inhalte der Lektion. Können alle Aufgaben richtig
beantwortet werden, sind die Inhalte der Lektion bereits bekannt und die Lektion kann übersprungen werden.

**Einleitung in die Thematik**

Die Einleitung ist der Theorieteil der Lektion. Hier wird das nötige Wissen vermittelt um die nachfolgenden praktischen
Die Einleitung ist der Theorieteil der Lektion. Hier wird das nötige Wissen vermittelt um die folgenden praktischen
Aufgaben zu lösen.

**Praktische Aufgaben**
Expand Down
4 changes: 1 addition & 3 deletions Tutorial/Einführung/Theory Task/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,4 @@ Der Bereich *Smart Checker* hat zwei Buttons, *Run* und *Next*.
**Run** dient dazu, allfällige Codebeispiele welche im Editor programmiert sind, auszuführen. Mit dem
*Run* Button kann nicht zur nächsten Lektion gewechselt werden. Dazu gibt es den Button *Next*.

**Next** dient dazu, zum nächsten Task zu wechseln.

Es kann mit dem Button *Next* zum nächsten Task gewechselt werden.
**Next** dient dazu, zum nächsten Task zu wechseln.
2 changes: 1 addition & 1 deletion Tutorial/Einführung/Übersicht/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ Lektion weitergemacht werden.
[Sprung zur nächsten Lektion: Setup](course://Tutorial/Setup/Einführung/src/Main.java)

## Zeitschätzung
Diese Lektion wird rund 20 Minuten in Anspruch nehmen.
Diese Lektion wird etwa 20 Minuten in Anspruch nehmen.

Mit dem Button *Next* wird die Lektion *Einführung* gestartet.
10 changes: 5 additions & 5 deletions Tutorial/Erste Komponente/Eventhandler/task.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Task 5/9: Einführung Eventhandler
Mit einem Event Handler kann ein Softwareentwickler genau steuern, was im Programm geschehen soll, wenn ein bestimmtes
Ereignis eintritt. Die auslösenden Events können dabei unterschiedlichen Ursprungs sein, oft werden sie aber durch
Ereignis eintritt. Die auslösenden Events können dabei unterschiedlichen Ursprungs sein, oft werden sie durch
die Interaktion des Anwenders ausgelöst.

Im Hardwarekatalog werden ebenfalls Event Handler eingesetzt. So wird zum Beispiel bei *SimpleButton* ein Event ausgelöst,
wenn der Button gedrückt wird oder wenn er wieder losgelassen wird.
wenn der Taster gedrückt wird oder wenn er wieder losgelassen wird.

Welcher Event das Drücken des Buttons auslöst, ist von seiner Programmierung abhängig. Die Klasse *SimpleButton* bietet
ein Handler für den Event *Button ist gedrückt* und für *Button ist wieder los gelassen*. Mit diesen Handlers können dem
Welchen Event das Drücken des Tasters auslöst, ist von seiner Programmierung abhängig. Die Klasse *SimpleButton* bietet
ein Handler für den Event *Button ist gedrückt* und für *Button ist wieder los gelassen*. Mit diesen Handler können dem
Objekt applikationsspezifische Aufgaben übergeben werden, ohne den Code in *SimpleButton* selber anpassen zu müssen.

Im unten stehenden Code wird die Methode *userFunction* von der Klasse *User* ausgeführt, wenn der Button gedrückt wird.
Im unten stehenden Code wird die Methode *userFunction* von der Klasse *User* ausgeführt, wenn der Taster gedrückt wird.

```
button.onDown(() -> user.userFunction());
Expand Down
2 changes: 1 addition & 1 deletion Tutorial/Erste Komponente/Hardwarekatalog/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Klasse erklärt.


Der zweite Teil des Katalogs bildet die Dokumentation auf der
[Pi4J](https://pi4j.com/) Webseite. Das Kapitel [Component Examples](https://pi4j.com/examples/components/) ist eine Auflistung sämtlicher, im
[Pi4J](https://pi4j.com/) Webseite. Das Kapitel [Component Examples](https://pi4j.com/examples/components/) ist eine Auflistung sämtlicher im
Katalog umgesetzter Bauteile. Zu jedem Bauteil gibt es einen detaillierten Eintrag über
die wichtigsten Funktionen der Java Klasse, ein elektrisches Layout und den
Java-Code der Beispielapplikation.
Expand Down
8 changes: 4 additions & 4 deletions Tutorial/Erste Komponente/Implementation Button/task.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Task 6/9: Implementation Button
In dieser Aufgabe geht es darum, das Signal eines Buttons (gedrückt) auszuwerten. Dazu wird die Klasse [SimpleButton](https://pi4j.com/examples/components/simplebutton/)
In dieser Aufgabe geht es darum, das Signal eines Tasters (gedrückt) auszuwerten. Dazu wird die Klasse [SimpleButton](https://pi4j.com/examples/components/simplebutton/)
aus dem Hardwarekatalog verwendet. Auf das Ereignis *Button gedrückt* soll sich der Zustand der LED ändern.

---
Expand All @@ -14,15 +14,15 @@ aus dem Hardwarekatalog verwendet. Auf das Ereignis *Button gedrückt* soll sich
- Deklariere das Objekt *button* vom Typ Simple Button
- Initialisiere das Objekt *button*. Verwende dazu den Pin 26 auf dem Raspberry Pi
- Wenn der Button gedrückt wird, soll sich der Zustand der LED ändern. Verwende dazu die Methode *toggleState* von SimpleLed
- Nachdem die Zeit von 15s abgelaufen ist (nach sleep(15000)) soll die LED ausgeschalten werden damit zum Schluss ein
- Nachdem die Zeit von 15s abgelaufen ist (nach sleep(15000)) soll die LED ausgeschalten werden, damit zum Schluss ein
definierter Zustand erreicht wird
- Als letzte Ergänzung soll der Handler wieder deregistriert werden.

---
> **_Hinweis:_**
>
> Die Aufgabe kann zwischen den Zeilen **Start coding space** und **End coding space** gelöst werden.
> Was oberhalb und unterhalb dieser Zeilen steht wird benötigt, dass die Applikation funktioniert.
> Was oberhalb und unterhalb dieser Zeilen steht wird benötigt, damit die Applikation funktioniert.
> Die genaue Bedeutung wird zu einem späteren Zeitpunkt erklärt.
---

Expand All @@ -38,7 +38,7 @@ erfolgreich, versuche den Fehler zu beheben. Nutze dazu allfällige Hints oder s
der Lösung nach.

## Aufbau
Als Nächstes muss der Button mit dem Raspberry Pi richtig verbunden werden. Nutze dazu die
Als Nächstes muss der Taster mit dem Raspberry Pi richtig verbunden werden. Nutze dazu die
Dokumentation [*SimpleButton*](https://pi4j.com/examples/components/simplebutton/)
des Hardwarekataloges auf der Pi4J Webseite.

Expand Down
2 changes: 1 addition & 1 deletion Tutorial/Erste Komponente/Implementation LED/task.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ aus dem Hardwarekatalog verwendet.
> **_Hinweis:_**
>
> Die Aufgabe kann zwischen den Zeilen **Start coding space** und **End coding space** gelöst werden.
> Was oberhalb und unterhalb dieser Zeilen steht wird benötigt, dass die Applikation funktioniert.
> Was oberhalb und unterhalb dieser Zeilen steht wird benötigt, damit die Applikation funktioniert.
> Die genaue Bedeutung wird zu einem späteren Zeitpunkt erklärt.
---

Expand Down
Loading