1 / 10

Installation

Installation. Learning By Doing. Programmierung der seriellen Schnittstelle. Viele Messgeräte verfügen über eine serielle Schnittstelle, insbesondere um die Messdaten zur weiteren Bearbeitung an einen Computer zu senden.

adina
Download Presentation

Installation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Installation Learning By Doing Programmierung der seriellen Schnittstelle • Viele Messgeräte verfügen über eine serielle Schnittstelle, insbesondere um die Messdaten zur weiteren Bearbeitung an einen Computer zu senden • Messgeräte, Modems, Anlagen (z.B. Heizungen), Roboter, usw. können auch über die serielle Schnittstelle konfiguriert und gesteuert werden • Die Übertragung erfolgt bitweise seriell nach der RS-232-Norm, welche die folgenden Parameter verwendet: Baudrate, Anzahl Datenbit, Anzahl Stopbit, Parity und Handshake-Modus • Für die Programmierung benötigt man eine geeignete Klassenbibliothek. Für Java ist diese nur für Windows als Teil der Java-Distribution erhältlich. Für andere Plattformen verwendet man am besten Third-Party Software. Seit langem etabliert hat sich SerialIo(www.serialio.com) • Eine solche Distribution enthält einerseits die Klassenbibliothek als jar-Datei mit einer zugehörigen Java-Dokumentation (als JavaDoc) und einem nativen Treiber, der direkt auf die Betriebssystem- Ressourcen zugreift (unter Windows ein DLL, unter Mac ein jnilib). Diese müssen in ein bestimmtes, in der Installationsanleitung beschriebenes Verzeichnis kopiert werden • Die jar-Datei und das JavaDoc-Verzeichnis werden in der verwendeten IDE wie andere Klassenbibliotheken (z.B. für ch.aplu.turtle) angegeben. Das tönt sehr trocken, einmal installiert, hat man aber viel Freude an der Kommunikation zwischen einem intelligenten Computer (dem Programm, das wir schreiben) und dem externen Gerät. s. Buch S. 535ff

  2. Terminal-Emulator Learning By Doing Terminal-Eingabe Typische Anwendung: Terminal-Emulator • Jede Tastatureingabe wird als Einzelzeichen an das angeschlossene Gerät übermittelt • Jedes Zeichen, welches das externe Gerät an den Computer sendet, wird in einem Terminal- Fenster angezeigt • Als Test-Gerät eignet sich gut ein Modem, mit dem man mit dem Hayes-Befehlssatz kommuniziert • Beispiel unter Verwendung von Serialio: STerminal.java • Serielle USB-Adapter können auf dem Mac wie unter Windows problemlos eingesetzt werden

  3. Metex Learning By Doing Antworten nach dem Drücken irgend einer Taste Einlesen von Messwerten von einem Messgerät • Das Messgerät übermittelt die Daten gemäss dem Hersteller-Protokoll • Einfacher Fall: Der Computer sendet irgend ein Zeichen und das Messgerät sendet aus diesem Anlass den letzten Messwert als ASCII-String zurück • Die Schnittstelle der Messgeräts wird eventuell mit den Handshake-Leitungen gespiesen. Diese müssen daher einen vorgegeben Pegel aufweisen (low oder high) • Beispiel unter Verwendung von Serialio: SMetex.java

  4. Gruppenarbeit 1 Learning By Doing Inspirationen für die Gruppenarbeit 1 1. Zwei Computer (Mac und Windows!) über die serielle Schnittstelle verbinden und mit mit STerminal trotz unterschiedlichen Plattformen freundlich chatten 2. Die Messwerte vom Metex-Gerät periodisch ablesen (Periode > 500 ms) und (in einem GPanel) grafisch darstellenAnleitung: Für Periode Thread.currentThread().delay() verwendenLösungsvorschlag in SUebung2.java und Mex.java Variante: Messwerte in einem GPanel als Grossanzeige darstellenAnleitung: Für Periode LoResAlarmTimer verwenden, Font-Beispiel: new Font("Helvetiva", Font.PLAIN, 96)Lösungsvorschlag in SUebung3.java

  5. Simulationen Learning By Doing Exakt in Echtzeit! Simulationen • Computer-Simulationen spielen in allen Naturwissenschaften eine ausserordentlich grosse Rolle • Simulationen sollten im Unterricht nie ein einfaches Realexperiment ersetzen • Oft benötigen Simulationen animierte Grafik und ein exaktes Timing • Im Package ch.aplu.util gibt es darum • HiResTimer, bzw. HiResAlarmTimer (bis J2SE V1.4 wird Java3D verwendet ) • LoResTimer, bzw. LoResAlarmTimer (getTime() aus dem Java-API verwendet) • TimerEvent, der periodisch ausgelöst wird • Beispiel: vertikaler Wurf TimeEx2.java s. Buch S. 222

  6. Gruppenarbeit 2 Learning By Doing Inspirationen für die Gruppenarbeit 2 2. Ausgehend vom Programm TimeEx2.java simulieren Sie den schiefen Wurf a) ohne Luftwiderstand b) mit Luftwiderstand (Reibungskraft prop v2) Anleitung: Folgende Werte haben sich bewährt: final double dt = 0.1; // Zeitinterval in s final double g = 9.81; // Fallbeschleunigung in m/s^2 final double m = 8.8e-3; // Masse in kg final double rho = 1.06e-3; // Reibungskoeffizient in Ns^2/m^2 // Anfangsbedingungen final double x0 = 0; // Anfangsposition final double y0 = 0; final double v0 = 10; // Anfangsschnelligkeit im m/s final double alpha = 40; // Abschusswinkel in Grad Koordinatensystem im GPanel x = -1..11; y = -6..6); Lösungsvorschlag in Wurf.java bzw. Ballistik.java

  7. Simulationen Learning By Doing • Fouriersynthese • Tonleitern • Soundspektren Sound • Es liegt auf der Hand, den Computer mit Soundkarte zu musikalisch/physikalischen Demonstrationen und Messungen einzusetzen • Beispiele: Overtonewww.aplu.ch/overtone Virtuelles Instrument www.aplu.ch/webstart • Schwebungen der Obertöne bei der Quint der Wohltemperierten Stimmung (C-G) • Schwebungen bei gleichen Tönen der beiden Tonleitern (G auf beiden)

  8. Gruppenarbeit 3 Learning By Doing Inspirationen für die Gruppenarbeit 3 1. Man studiere das Kapitel 35: Sound und führe die dort besprochenen Programme aus 2. Man ändere das Programm ClipPlayer.java so ab, dass es eine fest vorgegebene wav-Datei abspielt. (Anleitung: der Konstruktor der Klasse File kann den Dateinamen übernehmen.)Lösungsvorschlag in WbzClipPlayer.java

  9. JControl Learning By Doing • Hersteller: www.jcontrol.org • Bezugsquelle: www.elv.de JControl: Eingebettetes Java-System • Java Control Unit: 8-bit Microcontroller mit (abgemagertem) JRE und Flash-Speicher • Parallel-Port, RS-232-Port, 8-Kanal-Analog-Digitalwandler • Grafik-Display 128x64 pixel mit Instrumenten-Bibliothek • Entwicklungsumgebung (IDE) für PC (Compilieren und Download) • Entwicklungsplatine mit 5 Tasten, Buzzer, Spannungsregler und RS-232-Schnittstelle

  10. Sensor-Interfaces Learning By Doing • Hersteller: ICPDAS Taiwan: www.icpdas.com • Lieferanten: www.spectra.ch www.redacom.ch Sensor-Interfaces • Industrieinterfaces sind universell und billig • Verbindung mit serieller Schnittstelle (event. über USB-Adapter) • Eigene Programmierung (universell, aber arbeitsintensiv) • Nicht nur Messung, sondern auch Steuerung von Geräten (Motoren, usw.) • Java-Klassenbibliothek

More Related