Maschinensteuerung mit Lazarus (Pascal-programmierung) möglich?

1 Antwort

Jepp, und wie das geht. :)

Ich habe selbstgebaute Hardware per USB an den PC angeschlossen und die Treiber dafür in C geschrieben.

An einem anderen USB-Port hängt ein "Launchpad". Das ist eigentlich ein Midi-Gerät für DJs und wird in Tonstudios oder bei Live-Auftritten benutzt, um Musiksoftware oder Synthesizer zu kontrollieren:

http://novationmusic.de/launch/launchpad-mk1

Wie auch immer, dieses Launchpad wird als Standard-MIDI-Device erkannt, und ich habe es einfach als Kontroll-Panel "missbraucht", um Eingaben für meine Hardware am anderen USB-Port zu machen.

Beide Seiten (Launchpad und eigene Geräte) werden über eine mit Lazarus erstellte GUI kontrolliert und Sensordaten ausgegeben.

Gerade deshalb, weil FreePascal so hardwarenah ist, ist das Einbinden von Bibliotheksfunktionen in C oder sogar das schreiben von Treibern direkt in Pascal ohne weiteres möglich!

Lazarus hat zwar noch einige Macken, da sich prinzipbedingt nicht alles von Delphi unter Windows kopieren lässt, aber wenn du nur eine GUI für die Steuerung deiner Hardware haben willst, kommst du mit solchen Grenzfällen nicht in Berührung.

Noch eine Bemerkung zu MIDI-Geräten: Es ist absolut trivial einfach beliebige Standard-MIDI-Geräte als Steuerungen zu missbrauchen. Diese Geräte sind teilweise sehr günstig, qualitativ hochwertig, und es gibt sie für jeden Anfwendungsfall in jeder Form und Ausstattung von X verschiedenen Händlern. Hinzu kommt, dass man auch nicht erst eigene Treiber schreiben muss, sondern sofort mit Standard-Bibliotheken loslegen kann.

Gerade die besagten Launchpads lassen sich super einfach ansteuern (LEDs in verschiedenen Farben an- und ausschalten, blinken, Helligkeit ändern, Tastendrücke abfragen, etc.), und in eigene Programme einbinden. :)

Übrigens ist dieser Text hier auf einem AKAI LPK25 geschrieben. Das ist ein sehr kleines MIDI-Keyboard. Und komplizierte Tastenkombinationen wie z. B. "Shift + Strg + Alt + Meta + M" in Blender sind nur noch ein einziger Tastendruck auf besagtem Launchpad.

Wenn du Hard- oder Software mit coolen Interfaces automatisieren willst, lohnt es sich wirklich, sich mal die Programmierung mit MIDI-Raw-Devices anzusehen. Das ist sehr einfach, und - etwas Erfahrung vorausgesetzt - wird selbst ein Einsteiger auf dem Gebiet, nach spätestens 30 Minuten erste Erfolge erzielen. :)

LED Blinken zu sehen geht also. Wie sieht´s mit direktem Steuern einer Maschine, z.B. Zylinder ein und ausfahren, oder Leisung einer Heizung erhöhen aus? 

Ich frag einfach mal blöd bevor ich irgendwas kaputt mach :D 

0
@Capter13

Wenn dein Gerät über USB oder Treiber so steuerbar ist, dann kann sogar deine Heizung Zylinder ausfahren, ja. :)

Das musst du dann natürlich selbst programmieren ... von alleine wird da nichts passieren. :)

Du kannst auch Daten über den Parallelen oder Seriellen Bus schicken ... je nachdem wie dein Gerät angeschlossen ist. :)

0