SpaceInLasers3Kuehe: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Architektur)
(Software Architektur)
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
 
*** Servocontroller
 
*** Servocontroller
 
**** 8 Servos
 
**** 8 Servos
 +
 +
=== Software Architektur ===
 +
Funktionen:
 +
* Nach Reset Servos in Parkposition
 +
* Servo-Position "geparkt", "lebt" und "tot" in Array (im Speicher, initialisiert mit Compile-Time-Wert)
 +
* Kuh Farbe 1 und Farbe 2 in Array (HSV davon nur HS, im Speicher, initialisiert mit Compile-Time-Wert)
 +
* Bei Energie-Änderung auf 100:
 +
** Kuh wird von vorheriger Position innerhalb 5s auf "lebt"-Position gefahren
 +
** Skelett fadet dabei aus, Kuh fadet in
 +
* Bei Energie-Änderung zwischen 0-99:
 +
** Kuh blitzt 3x schnell im Skelett-Mode abwechselnd weiss + rot(E1)-gelb(E50)-grün(E99)
 +
** Kuh zuckt dabei ("lebt-position" - offset) - endet auf lebt oder tot
 +
** Danach State Standard
 +
* State Standard
 +
** E100: Kuh fadet langsam zwischen Farbe 1 und Farbe 2
 +
** E1-E99: Kuh fading wie oben, Skelett blitzt auf in Farbe des Energie-Levels, aufblitzen Random abhängig vom Energie-Level - je geringer desto öfters
 +
** E0: Skelett leuchtet bläulich-weiss
 +
* extra-Befehl RGB-Wert oder HSV-Wert pro Kuh (damit Farben testen)
 +
* extra-Befehl Position pro Kuh (damit Positionen testen)
 +
 +
Architektur:
 +
* Kuh definiert durch Index 0..7
 +
** ggf. Mapping-Tabelle Index zu Neopixelport

Aktuelle Version vom 7. März 2017, 02:58 Uhr

Artgerechte Massentierhaltung

Die Kuh

  • Leuchtet mit schönen Flecken im Lila/Pinken Farben
  • Bei Treffer leuchtet das Kuh-Sklett
  • Kuh fällt um wenn tot (Servo)

Architektur

  • Space'n'lasers Busmodul
    • 8 Lichtsensoren für Kühe
    • Arduino Pro Mini (Energie-Level Bus, mit Objekt-Nr)
      • Neopixel dran 8x 5 Pixel
      • Servocontroller
        • 8 Servos

Software Architektur

Funktionen:

  • Nach Reset Servos in Parkposition
  • Servo-Position "geparkt", "lebt" und "tot" in Array (im Speicher, initialisiert mit Compile-Time-Wert)
  • Kuh Farbe 1 und Farbe 2 in Array (HSV davon nur HS, im Speicher, initialisiert mit Compile-Time-Wert)
  • Bei Energie-Änderung auf 100:
    • Kuh wird von vorheriger Position innerhalb 5s auf "lebt"-Position gefahren
    • Skelett fadet dabei aus, Kuh fadet in
  • Bei Energie-Änderung zwischen 0-99:
    • Kuh blitzt 3x schnell im Skelett-Mode abwechselnd weiss + rot(E1)-gelb(E50)-grün(E99)
    • Kuh zuckt dabei ("lebt-position" - offset) - endet auf lebt oder tot
    • Danach State Standard
  • State Standard
    • E100: Kuh fadet langsam zwischen Farbe 1 und Farbe 2
    • E1-E99: Kuh fading wie oben, Skelett blitzt auf in Farbe des Energie-Levels, aufblitzen Random abhängig vom Energie-Level - je geringer desto öfters
    • E0: Skelett leuchtet bläulich-weiss
  • extra-Befehl RGB-Wert oder HSV-Wert pro Kuh (damit Farben testen)
  • extra-Befehl Position pro Kuh (damit Positionen testen)

Architektur:

  • Kuh definiert durch Index 0..7
    • ggf. Mapping-Tabelle Index zu Neopixelport