kramann.info
© Guido Kramann

Login: Passwort:










EmbSyst
1 day_by_day
2 Eingebettete_Systeme
..2.1 Softwareentwicklung
....2.1.1 AgileSoftwareentwicklung
....2.1.2 Verhalten
....2.1.3 Entwurfsmuster
....2.1.4 FuzzyRegler
....2.1.5 Uebung
..2.2 Arduino
....2.2.1 Uebung1
..2.3 Android
....2.3.1 UML
......2.3.1.1 Volumenberechnung
......2.3.1.2 UML_Klassendiagramm
......2.3.1.3 Konstruktor
......2.3.1.4 Statische_Variable
....2.3.2 bluej
....2.3.3 Threads
....2.3.4 Interfacedesign
....2.3.5 Android
......2.3.5.1 Getting_Started
......2.3.5.2 App
......2.3.5.3 Beispielprojekt
........2.3.5.3.1 Richtlinien
........2.3.5.3.2 Anforderungen
........2.3.5.3.3 Layout
........2.3.5.3.4 Projekt_einrichten
........2.3.5.3.5 Refactoring
........2.3.5.3.6 Icon
........2.3.5.3.7 Icon2
........2.3.5.3.8 Kurzanleitung
........2.3.5.3.9 Architektur
........2.3.5.3.10 Anwendungsklasse
......2.3.5.4 Threads
......2.3.5.5 Activities
......2.3.5.6 Was_ist_wo
......2.3.5.7 Regelungssysteme
........2.3.5.7.1 Servo
........2.3.5.7.2 Fahrzeug
......2.3.5.8 ADB_Apps
......2.3.5.9 Veroeffentlichen
......2.3.5.10 Einzelheiten
........2.3.5.10.1 Bildschirmaufloesung
........2.3.5.10.2 Parameter
........2.3.5.10.3 Permission
........2.3.5.10.4 Latenzzeit
......2.3.5.11 Tonerkennung
........2.3.5.11.1 Wahrscheinlichkeitsrechnung
........2.3.5.11.2 Kovarianz_Scilab
........2.3.5.11.3 Java_Threads
........2.3.5.11.4 Java_Reflection
....2.3.6 Processing
......2.3.6.1 Installation
......2.3.6.2 Erste_Schritte
......2.3.6.3 Mechatronik
......2.3.6.4 Bibliotheken
......2.3.6.5 Uebung
......2.3.6.6 Snippets
........2.3.6.6.1 Dateioperationen
........2.3.6.6.2 Bilder
........2.3.6.6.3 GUI
........2.3.6.6.4 Text
........2.3.6.6.5 PDF
........2.3.6.6.8 Maus
........2.3.6.6.10 Zeit
........2.3.6.6.13 Animation
........2.3.6.6.15 Simulation
......2.3.6.7 Referenzen
....2.3.7 Android_Processing
......2.3.7.1 Basics
......2.3.7.2 Einrichten
......2.3.7.3 Crossplattform
......2.3.7.4 sinus
......2.3.7.5 sample
......2.3.7.6 analyse
......2.3.7.7 synthese
......2.3.7.8 Hilfsapps
......2.3.7.9 Eigene_Library
....2.3.8 Processing_VR
....2.3.9 Shapes3D
....2.3.10 TextToSpeech
....2.3.11 Internetprogrammierung
......2.3.11.1 Codegenerierung
......2.3.11.2 PHP_Programmierung
......2.3.11.3 PHP_OOP
......2.3.11.4 Java
......2.3.11.5 UDP
......2.3.11.6 Internetkontrolle
........2.3.11.6.1 Kamerabild
....2.3.12 OSC
......2.3.12.1 Datenaustausch
......2.3.12.2 i2audiolab
......2.3.12.3 Ardour
....2.3.13 Netzwerkprogrammierung
....2.3.14 JNI
....2.3.15 Erweitern
......2.3.15.1 sprich
......2.3.15.2 spiel
....2.3.16 thbvr
....2.3.17 Reflection
....2.3.18 Script
....2.3.19 Java3D
3 Echtzeitprogrammierung
..3.1 Echtzeit
..3.2 Korrektheit
..3.2 Semaphoren
..3.3 Hardware
..3.5 Synchronprogramm
..3.6 Zustandsmaschine
..3.7 Arduino
....3.7.1 Uebung
....3.7.2 RTOS
....3.7.3 Scheduler
....3.7.4 Semaphor
......3.7.4.1 Laufkatze
......3.7.4.2 Java
......3.7.4.3 Semaphor
....3.7.5 Messages
..3.8 Android
....3.8.2 Threads
......3.8.2.1 Java
......3.8.2.2 Synchronisierung
..3.9 Petrinetze
....3.9.1 Installation
....3.9.2 Test
4 KI
..4.1 Unueberwachtes_Lernen
..4.2 Agentensysteme
....4.2.1 Architekturen
......4.2.1.1 Verhalten
......4.2.1.2 Entwurfsmuster
....4.2.2 SUMO
......4.2.2.1 GettingStarted
......4.2.2.2 Antrieb
......4.2.2.3 Sensoren
......4.2.2.4 Zeitbasis
......4.2.2.5 Fernsteuerung
......4.2.2.6 Umsetzung_Fernst
......4.2.2.7 Fernsteuerung3
......4.2.2.10 Umsetzung
......4.2.2.11 Sockelsoftware
......4.2.2.12 Plan
......4.2.2.13 Lernen
........4.2.2.13.1 Parameter
........4.2.2.13.2 Identifikation
........4.2.2.13.3 Java
..4.3 Genetische_Algorithmen
....4.3.1 Heuristiken
....4.3.2 Genalgorithmus
..4.4 Kalmanfilter
....4.4.1 Vorarbeit
....4.4.2 Minimalversion
....4.4.3 Beispiel
5 Bildverarbeitung
..5.1 Gestalttheorie
..5.2 Bildverarbeitung
6 Technische_Systeme
..6.1 Kulturgeschichte
..6.2 Technikphilosophie
..6.3 Anthropozaen
7 Literatur
kramann.info
© Guido Kramann

Login: Passwort:




KFBASIS02_sample

(EN google-translate)

(PL google-translate)

Sechs Samples (ton60.wav, ton62.wav, ton65.wav, ton67.wav, ton69.wav, ton72.wav) werden geladen und können bei Schlägen abgespielt werden. Tonhöhen sind: c1 d1 f1 g1 h1 c2. Die Auswahl erfolgt aufgrund der aktuellen Orientierung im Raum (w1 bis w6).

Es ist ein kleines Beispiel in das Framework eingefügt.

Funktion zum Ändern

Funktion, die Sensordaten bekommt und eine Anweisung einen der Samples auszulösen liefert.

Laden Sie den Sketch und experimentieren Sie mit dieser Funktion
/**
*    <pre><code>
*    INPUT sanfte Drehung:                                                 
*    Orientierung Smartphone, resultierende Werte:          
*    xyz: float-Werte, Ausrichtung der Erdbeschleunigung
*    w1 2 3 4 5 6: wie Augen auf Würfel, true, wenn oben
*                                                 x  y  z w1   w2   w3   w4   w5   w6    
*    auf Tisch liegend:                           0  0  1 true  
*    auf Tisch mit Display nach unten:            0  0 -1                          true
*    stehend, Kamera oben (wie beim telefonieren) 0  1  0      true
*    stehend, Kamera unten                        0 -1  0                     true
*    Querformat, Knöpfe oben                      1  0  0                true
*    Querformat, Knöpfe unten                    -1  0  0           true
*
*    INPUT ruck/schlagartige Bewegung
*    Variable schlag: 0=kein Schlag, 1=leicht, 2=mittel, 3=stark, 4=sehr stark
*
*    OUTPUT linker Kanal
*    boolean[] ausloesen ... index true setzen, wenn Ton mit diesem Index ausgelöst werden soll.
*    </code></pre>
*/


int ZAEHLER=0;
int WARTEN = 0;
public void sensorsound(//INPUT:
                        float x, float y, float z, 
                        boolean w1, boolean w2, boolean w3, boolean w4, boolean w5, boolean w6,
                        int schlag,
                        //OUTPUT:
                        boolean[] ausloesen
                         )
{
  if(schlag>0 && ZAEHLER==0 && play.size()<aktueller_ton.length)
  {
      if(w1) {ausloesen[0]=true;ZAEHLER=WARTEN;}
      else if(w2)  {ausloesen[1]=true;ZAEHLER=WARTEN;}
      else if(w3)  {ausloesen[2]=true;ZAEHLER=WARTEN;}
      else if(w4)  {ausloesen[3]=true;ZAEHLER=WARTEN;}
      else if(w5)  {ausloesen[4]=true;ZAEHLER=WARTEN;}
      else if(w6)  {ausloesen[5]=true;ZAEHLER=WARTEN;}
  }
      if(ZAEHLER>0)
          ZAEHLER--;
}

Code 0-1: Funktion, die Sensordaten bekommt und eine Anweisung einen der Samples auszulösen liefert.

KFBASIS02_sample.zip -- gezipter Sketchordner