DIP - Programmierung Teil 3 Übung7: Unterschied zwischen den Versionen

Aus DDSWiki
Wechseln zu: Navigation, Suche
(Aufgabe c)
(Aufgabe c)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 33: Zeile 33:
  
 
= Aufgabe c =
 
= Aufgabe c =
* Der Lichtsensor soll die Helligkeit des Himmels steuern
+
* Der Lichtsensor soll die Helligkeit des Himmels steuern. Tip: Im HSV Farbraum arbeiten -- Hue/Farbwert - Saturation - Value/Hellwert
 
** [[P5js Funktionen für die Kommunikation mit dem Arduino Board|Übersicht sensorBoard Library]]
 
** [[P5js Funktionen für die Kommunikation mit dem Arduino Board|Übersicht sensorBoard Library]]
 +
** [https://owncloud.tuwien.ac.at/index.php/s/vb2uQ17MydFXHQ5 Direkt-Link zur Library]
  
 
<pre>
 
<pre>
Zeile 60: Zeile 61:
 
sensoren = new Sensoren();
 
sensoren = new Sensoren();
 
sensoren.getLDR();
 
sensoren.getLDR();
 +
.
 +
.
 +
.
 +
function keyPressed() {
 +
  sensoren.nachrichtHinzufuegen(key);
 +
}
 +
 +
  
 
</pre>
 
</pre>

Aktuelle Version vom 13. August 2020, 19:40 Uhr

Bunteshaus.png

Aufgabe a

  • Das obige Haus soll "nachgebaut" werden und zwar als Klasse, d.h. in einer Objekt Orientierten Denkweise
    • Das Haus soll Funktionen haben zum wechseln der Farben des Daches, der Wand und des Hintergrundes (Himmel)
  • Auf Tastendruck ("W" und "D") sollen sich die Farbe von Wand und Dach ändern
  • Bitte beachte: verwende Großbuchstaben ("W"), sonst kommen wir bei einer späteren Übung mit dem Protokoll des Arduino Boards durcheinander

function keyPressed() {
  if (key === "W") {
     // Klassenbefehl zum Farbwechsel aufrufen
     meinHause.setFarbe( .... 
  }
}

Aufgabe b

  • Auf Tastendruck ("H") soll ein Bild (PNG) ein und ausgeblendet werden (in meinem Beispiel ist das ein Hund)

let img;
function preload() {
  img = loadImage('assets/laDefense.jpg');
}
function setup() {
  image(img, 0, 0);
}

Aufgabe c

Die Library muss zu den anderen Dateien des Projektes kopiert werden
Dann muss die Library noch eingebunden werden in der index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.1.9/addons/p5.sound.min.js"></script>
    <script src="sensorBoard.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8" />

  </head>
  <body>
    <script src="sketch.js"></script>
  </body>
</html>


Im Editor ist die Library dann so zu verwenden

sensoren = new Sensoren();
sensoren.getLDR();
.
.
.
function keyPressed() {
  sensoren.nachrichtHinzufuegen(key); 
}



Aufgabe d

  • Bonus: Wenn du zu schnell unterwegs bist und dir fad wird - Steuere die Position des Hundes bzw. Bildes mit 2 Tasten nach links und rechts


Interessante Funktionen für diese Aufgabe

Gemeinsam erarbeitete Lösung