RxTx für Java

Wer zwischen einem PC und einem Mikrocontroller eine Datenverbindung herstellen möchte steht oftmals vor einem Problem mit drei Buchstaben – USB. Seitdem die alte RS232-Schnittstelle nahezu vollständig aus modernen Rechnern verschwunden ist und durch die neue, wesentlich komplexere Schnittstelle USB ersetzt wurde, stehen Hobby-Entwickler vor dem Problem, dass eine Datenverbindung zwischen ihrem PC und einem Mikrocontroller nun wesentlich umständlicher bzw. anspruchsvoller ist. Eine Firma aus Schottland mit dem Firmennamen Future Technology Devices International ( kurz FTDI ) hat dieses Problem erkannt und für Abhilfe gesorgt. Die Firma bietet ICs an, mit denen sich über USB ein virtueller COM-Port, also zum Beispiel eine RS232-Schnittstelle, bereitstellen lässt. Ich habe bereits in einem anderen Artikel den Chip  FT232RL beschrieben, mit dem genau das möglich ist.

Matlab Plot als PDF-Grafik exportieren

Da ich mich selber lange Zeit damit rumgeschlagen habe, möchte ich Euch in diesem Artikel kurz und knapp zeigen, wie Ihr einen Plot aus Matlab zu einer Vektorgrafik bzw. zu einem PDF exportieren könnt. Ich verwende diese Methode nur noch, da man auf diese Weise skalierbare Plots für zum Beispiel wissenschaftliche Arbeiten erhält.

JAR zu EXE

Ich verwende die Netbeans IDE  zum Erstellen von Java Programmen und möchte Euch hier zeigen, wie Ihr aus eurem Java-Programm eine einzelne JAR-Datei erzeugen könnt und diese zu einer EXE-Datei konvertiert. Für eine andere IDE müsst Ihr euch ggf. nach einem anderen Tutorial umsehen müssen. Ich gehe davon aus, dass Ihr bereits über ein voll funktionsfähiges Java-Programm verfügt. Bei der Verwendung von Netbeans findet Ihr die ausführbaren JAR-Datei in dem Ordner dist. Übrigens, wenn Ihr mehrere JAR-Dateien habt, zum Beispiel, da Ihr externe JAR-Dateien verwendet, dann könnt Ihr zunächst aus allen JAR-Dateien (und bei Bedarf auch DLL-Dateien) eine JAR-Datei machen. Verwendet dafür dieses Tool  (es geht aber auch mit dem anderen Weg, siehe die Schritte 1 und 2). Weiterhin benötigt Ihr ein kleines Tool, mit dem man aus einer BAT-Datei eine EXE-Datei erzeugen kann. Hierfür nehmen wir das Programm BAT to EXE Converter  ( Notfall: Version 2.4.8.1 von meinem Server ) von Fatih Kodak.

Sumatra PDF mit TeXnicCenter

Ich möchte euch in diesem Artikel kurz zeigen wie Ihr den super schlanken und extrem schnellen PDF Reader  Sumatra mit dem TeXnicCenter verbinden könnt. Nach diesem Tutorial braucht ihr das PDF Dokument nicht mehr schließen um es neu zu kompilieren. Außerdem könnt ihr über einen Doppelklick im PDF Dokument den Cursor im TeXnicCenter an genau diese Position springen lassen. Das Arbeiten wird somit deutlich angenehmer. Bitte lasst euch durch die zunächst etwas lang erscheinende Anleitung nicht täuschen, die Einrichtung ist ziemlich einfach. Ich habe lediglich darauf geachtet diese Anleitung mit Bildern zu bestücken, damit die Einrichtung wirklich jedem gelingen sollte.

NRF24L01+

In diesem Artikel beschäftigen wir uns mit NRF24L01+ Funkmodulen. Diese kleinen Funkmodule sind bereits für weniger als 2 Euro (inkl. Versand) bei eBay erhältlich. Wer die dann lange Lieferzeit nicht in Kauf nehmen möchte, da kann für 2…3 Euro mehr die Module auch bei Händlern aus Deutschland beziehen. Bei den Funkmodulen handelt es sich um 2,4 GHz Sende- und Empfangsmodule in einem Chip. Das bedeutet, dass jedes Modul sowohl zum Senden als auch zum Empfangen von Daten verwendet werden kann.

FTDI – FT232RL

In diesem Artikel beschäftigen wir uns mit einem Chip von FTDI der durch das aussterben der alten seriellen Schnittstelle immer mehr an Präsenz gewinnt. Mit dem FT232 RL Chip von FTDI kann man ganz einfach mit einem Mikrocontroller eine Verbindung zu einem USB-Host, zum Beispiel einem PC herstellen. Und das beste daran ist, dass man sich nicht mit der USB-Spezifikation auseinandersetzten muss. Der FT232 RL übernimmt sämtliche Aufgaben der USB-Schnittstelle und bietet für euch nach außen hin eine virtuelle serielle Schnittstelle an. Das bedeutet, dass Ihr über das ganz einfache UART Modul eures Controllers mit dem PC Kontakt aufnehmen könnt, wie man es von früher gewohnt ist. Nur, dass dies nun über USB, statt über den seriellen Port geschieht – klasse!

DS32KHz

Der DS32kHz ist ein Temperatur kompensierter Quarzoszillator von Maxim. Durch die Temperatur-Kompensation ist es ihm möglich eine extrem hohe Genauigkeit zu erreichen. Er hat eine maximale Abweichung von +/- 1 Minute pro Jahr. Normale Uhrenquarze mit 32768 Hz haben das Problem, dass sie bei Temperaturschwankungen extreme Abweichungen aufweisen und somit oftmals als Zeitbasis für eine Uhr nicht zu gebrauchen sind. Wenn man den DS32kHz als Taktquelle für eine Real Time Clock (kurz RTC) wie zum Beispiel der DS1307 verwendet, dann hat man eine völlig autark laufende Uhr mit hoher Präzision. Den DS1307 kann man zusätzlich noch mit einer Knopfbatterie koppeln, das hat den Vorteil, dass die Uhr auch ohne Versorgungsspannung des PICs weiter läuft und die Zeit-/Datums- Informationen nicht verloren gehen. Es gibt den DS32kHz in drei Gehäusevarianten: SOIC, BGA und wie hier abgebildet im DIP Gehäuse.

DCF77

Im Zuge der Entwicklung einer neuen Firmware für mein Mini-Anzeige-Modul war es an der Zeit die Uhr zu einer Funkuhr aufzurüsten. Was schon lange vorgesehen war* wurde in die Tat umgesetzt. Zwar hatte ich schon mal Routinen für die Auswertung des DCF77 Signals geschrieben, jedoch gehörten diese Routinen längst einmal überarbeitet. Also noch ein Grund endlich mit den Altlasten aufzuräumen und einen ordentlichen Algorithmus zu programmieren.

PCF8583

Der PCF8583 ist ein so genannter Real-Time-Clock (kurz RTC, Echtzeituhr) Baustein. RTC Bausteine sind besonders geeignet, wenn eine Zeitinformation immer präsent sein und auch bei Verlust der Versorgungsspannung erhalten bleiben muss. Damit die Uhrzeit nicht verloren geht, wird eine Pufferbatterie (man verwendet hier Knopfzellen, da diese eine sehr konstante Spannungskurve aufweisen) an die RTC angeschlossen. Sollte nun die Versorgungsspannung ausfallen, wird die RTC, und nur die RTC, weiterhin versorgt. Es ist wichtig, dass die Knopfzelle wirklich nur für die RTC vorgesehen wird, da Knopfzellen in der Regel eine eher geringe Kapazität haben und außerdem nicht für Ströme jenseits von 1 mA ausgelegt sind! Der PCF8583 wird über den I2C Bus (auch TWI, IIC genannt) angesteuert. Er besteht aus einem 256 Byte großem RAM, welches sich in verschiedene Funktionalität aufgliedert. Den PCF8583 gibt es für 1,40€ (Stand 2013) bei Reichelt.

HR-SR04

In diesem Artikel wollen wir uns mit dem HC-SR04 Ultraschallsensor beschäftigen. Mit einem solchen Ultraschallsensor, den man bereits für sehr kleines Geld (2..3€) im Internet bekommt, kann man Distanzen messen. Der HC-SR04 ist dabei für einen Messbereich von 2 bis 300 cm vorgesehen. Ich setze eines dieser Module bei meinem Roboter Robby RP6 ein um ihn einen Weitblick zu verschaffen. Den Sensor habe ich auf einer Erweiterungsplatine angebracht um den direkt darunter befindlichen Infrarot-Empfänger nicht zu blockieren. In meiner Konfiguration wird der SR04 von einem PIC18F45K22 angesteuert und ausgewertet.