# Projekt
von [[Labortagebuch von Anna Kazakova|Anna Kazakova]]
## Konzept
Im Rahmen meines Mini-Projekts hatte ich das Ziel, ein kleines technisches Gerät zu erstellen, das nicht schwer zu konstruieren ist, aber gleichzeitig anwendbar wäre und eine konkrete Funktion erfüllen würde. Ich wollte auch, dass mein Projekt personalisiert ist. Aus diesem Grund entschied ich mich, von meinen alltäglichen Bedürfnissen auszugehen, und dadurch etwas zu erschaffen, das ich selbst verwenden könnte. Im Marketing wird so ein Ansatz als "Schmerzpunkt" bezeichnet: was den Nutzer:innen Schwierigkeiten bereitet, lässt sich aber durch einen Service oder Produkt lösen. In meinem Fall war ein solcher Schmerzpunkt immer das Kochen von Eiern, da es mir nie gelingt, den Timer rechtzeitig einzuschalten und die Eier im gewünschten Ausmaß zu kochen. Diese Idee habe ich für das Projektkonzept übernommen. Ein wichtiger Faktor war auch, dass dieses Projekt auf der Grundlage des im Kurs erworbenen Wissens realisiert werden konnte, so dass ich bereits alle notwendigen Variablen für die Codegenerierung in meinem Arsenal hätte.
## Planung
Die zweite Phase nach der Idee war die Planung. Für diese Stufe musste ich noch einmal alle Projekte auf der Grundlage des Arduino-Buches durchgehen, um auszusuchen, was mir bei der Umsetzung des Konzepts helfen würde. Am besten passte zu meinem Konzept das Projekt 7, bei dem wir auf Basis des Arduino-Boards ein kleines Klavier machten. Das Prinzip war genau das, was ich brauchte, nur um einen Timer zu erstellen, musste der Ton mit der notwendigen Verzögerung erzeugt werden. Dabei konnte ich auch den notwendigen Circuit aufbauen und musste nur an dem Code arbeiten. Für das Projekt habe ich ein Schema und ein Design erstellt, so wie es in meiner Ansicht aussieht, könnte dieses Board benutzerfreundlicher aussehen. In Schema I habe ich das potenzielle Design grob visualisiert.
## Funktionalität
Das Gerät sollte einfach zu bedienen sein. Dazu habe ich 3 Tasten mit den folgenden Funktionen eingeführt:
1) Taste 1 = Einschalten/Ausschalten;
2) Taste 2 = weich kochen -> Nach 3 Minuten sollte der Piezo-Dynamik einen Signalton erklingen, wenn er bereit ist,
3) Taste 3 = hart kochen -> Nach 5 Minuten sollte der Piezo-Dynamik einen Signalton erklingen, wenn er bereit ist.
## Codierung
Das Projekt wurde auf der Grundlage der bereits im Arduino Buch vorhandenen Projekte entwickelt - die Erstellung eines Arduino-Klaviers und der erlernte Code "delay". Das heißt, im Wesentlichen ist der Timer das gleiche Klavier, das den Klang mit entsprechend unterschiedlicher Eibereitschaft durch Verzögerung wiedergibt. Für die Codierung habe ich den Code aus Projekt 7 als Grundlage verwendet. Um ein Klavier in einen Timer zu verwandeln, musste ich dem Code zwei Funktionen hinzufügen: 1) Der Ton sollte nicht sofort ausgegeben werden (wie im Original-Klavierprojekt, sondern mit der erforderlichen Verzögerung); 2) Der Ton muss länger sein, damit er wirklich als Timer wahrgenommen wird.
Um diese beiden Probleme zu lösen, habe ich dem Code zwei Funktionen hinzugefügt - delay und while. Die erste war für die Timer-Funktion verantwortlich, das heißt, sie erzeugte die notwendige Verzögerung. Die zweite machte den Timer länger.
## Forschungsfragen:
Was weiß mein Arduino Eierkocher von der Welt?
Mein Arduino-Timer interagiert mit einer Person über mehrere Tasten. Sobald der Strom eingeht, leuchtet die integrierte LED auf, um zu erkennen, dass der Arduino betriebsbereit ist. Als nächstes erfolgt die Interaktion über mehrere Tasten - Ein- / Ausschalten des Timers, hart kochen und weich kochen. Arduino kann keine Umweltinformationen lesen. Es nimmt nur das Signal wahr (Drücken einer Taste). Auf diese Weise könnte man schliessen, dass Arduino durch folgende Regel funktioniert:
Strom -> LED einschalten,
Taste 1 gedrückt -> Piezo-dymanik piepen;
Taste 2 gedrückt -> 3 Minuten zählen -> Piezo-dymanik piepen;
Taste 3 gedrückt-> 5 Minuten zählen -> Piezo-dymanik piepen.
In diesem Kontext finde ich mein inneres Bedürfnis nach einem zusätzlichen Design interessant. Das Design selbst wird Arduino nicht effizienter machen, sondern dem Benutzer helfen, die Interaktion mit ihm zu erleichtern und intuitiver zu gestalten.
In der ersten Lektion lernten wir eine mechanische Maschine, bei der die Steine zur Einstellung der Bewegungsbahn rot und blau waren und verschiedene Anschlüsse hatten. Für das Gerät selbst sind nur die Teile wichtig, aber es ist einfacher für den Menschen, sie nach der Farbe zu unterscheiden, als jedes Detail zu betrachten. So entsteht eine gegenseitige "Programmierung": Der Mensch projiziert auf Kosten verschiedener Steine die Bewegungsbahn. Aber die Person selbst erhält die Regel - rote Steine -> das Auto wird nach links fahren, die blauen -> nach rechts. Dazu habe ich ein mögliches Design entworfen, damit die Funktionalitäten der Tasten intuitiv gelesen werden können und die Notwendigkeit, sich an solche Regeln zu erinnern, minimiert wird. Die Tasten, die für den Timer verantwortlich sind, möchte ich in Form eines Eies skizzieren, und für die einfache Wahrnehmung des Kochgrades würden die Farben verantwortlich sein: Gelb -> weich, Orange -> hart gekocht.
## Code:
```
int notes[]={262,294,330,349};
void setup() {
Serial.begin(9600);
}
void loop() {
int PushedKeyValue=analogRead(A0);
Serial.println(PushedKeyValue);
if (PushedKeyValue==1023){
tone(8,notes[0]);
}
else if (PushedKeyValue >=990 && PushedKeyValue<=1010){
delay(3000);
tone(8,notes[1]);
while (millis() < 3000);
delay(3000);
noTone(8);
}
else if (PushedKeyValue >=505 && PushedKeyValue<=515){
delay(4000);
tone(8,notes[2]);
while (millis() < 3000);
delay(3000);
noTone(8);
}
else{
noTone(8);
}
}
**
![[Arduino Projekt.jpg]]
```