Entwickler-Ecke
Sonstiges (Delphi) - discobeleuchtung
andras - So 24.07.05 19:55
Titel: discobeleuchtung
hallo
mir ist mal so was in den kopf gekommen als ich was über schnittstellenprogrammierung gelesen hab. es müsste dochn gehen, dass mein programm einen song auf tonhöhe, lautstärke, ryhtmus und keine ahnung nach sontst irgendwas analysiert und dann die entsprechenden signale über irgendeinen port ausgiebt.
hat jemand eine idee wie man das angehen könnte, bzw ist das überhaupt machbar??`
danke schon im voraus
Moderiert von
raziel: Topic aus Gemeinschaftsprojekte verschoben am So 24.07.2005 um 19:58
Tobias1 - So 24.07.05 20:06
Du meinst, dass du dann verschiedene Lampen ansteuern kannst?
MrFox - So 24.07.05 20:51
Was für Signale? DMX?
andras - Mo 25.07.05 14:00
@ tobias1 ja so in etwa
@ MrFox ähmm... DMX?? :oops:
Tobias1 - Mo 25.07.05 15:24
Hast du dafür spezielle Hardware, oder willst du was selber zusammenbasteln?
hallo - Mo 25.07.05 17:49
Das geht!!!!
Mein Freund hat mal sowas gebastelt:
An den LPT ein paar Transistoren ran (BC irgendwas glaub ich) welche dann über Delphi gesteuert worden sind. Da braucht man zwar treiber, aber es funktioniert! Dann hat er noch irgendwie seine Soundausgabe "abgehört", aber da hat er irgendwas ausm Internet gedownloadad.
In deinem Fall müsstest du Relais hernehmen! Die wiederum über deine Transistoren schalten. Dann wirds gehen!
Ich muss ihn mal fragen...
andras - Di 26.07.05 17:00
also hardware hab ich keine würd das alles selber basteln (oder wenigstens versuchen!!)
@ hallo: endlich mal wer von dem was positives und motivierendes kommt. wär nett von dir wenn du deinen freund fragst. danke!!!
MrFox - Di 26.07.05 21:43
DMX ist nen Protokoll mit dem man Scheinwerfer mit einem entsprechenden Eingang ansteuern kann.
Aber du willst ja nehme ich an nur ganz simpel den 220V Netzstrom an- und ausschalten...da würde ich auch Relais empfehlen.
Und für die Analyse der Musik gibt es sicher irgendwelche Algorithmen im Internet zu finden.
Bunbury - Do 28.07.05 10:41
.
Keine schlechte Idee!
Also die Hardware baue ich euch - wenn ihr mir das Programm dafür zukommen lasst. Ihr müsstet dann nur die Bauteile selbst bezahlen - je nach Luxusbedürfnis irgendwas <10€ würde ich mal schätzen. Ich bin Elektronik-Ing. - also das Ding wird nachher ohne Lebens- oder Brandgefahr auch mit 230V einsetzbar.
Mit dem Parallelport gibts allerdings immer häufiger Probleme - dazu habe ich hier schon einige
Threads [
http://www.delphi-forum.de/topic_IO+redirect_45574.html] eröffnet ( auf die allerdings kein Mensch geantwortet hat :( ), weil viele Rechner garkeine parallele Schnittstelle mehr haben und wenn man sich eine Karte nachträglich einbaut, dann simmulieren die meist nur LPT-Ports, sind aber jedenfalls unter XP fast garnicht mehr direkt ansprechbar.
Deshalb würde ich sowas eher über einen seriellen Anschluss oder PS2-Port machen. Da braucht man nachher auch nur eine 2-Draht-Leitung und kann ggF. sogar das Signal ganz einfach kabellos per Funk oder Infrarot übertragen. Auf die Ports lassen sich jedenfalls per API auch unter XP ganz problemlos Daten senden.
USB ginge übrigens auch - macht von der elektronischen Seite her allerdings nochmal den selben Aufwand - d.h. die Platine wird von den Bauteilkosten her teurer.
Ach ja - es ginge auch mehr als nur ein- und ausschalten. Dimmen z.B. - also heller und dunkler. Ist allerdings auch ein bisschen mehr Aufwand. Ihr müsst nur mal schreiben, wie Ihr euch das genau vorstellt - die Hardware dazu baue ich dann schon.
MfG
Bunbury
.
andras - So 31.07.05 17:24
hallo, bin wieder da!
das mit den ports w lässt sich machen weil eigentlich ist es mir sch...-egal welchen port ich ansteuere. ich muss halt nur wissen, wie ich ihn ansteuern kann, aber da wird sich schon was finden lassen im interet.
übrigens, ich finds gut dass sich da mal wer so richtig auskennt, weil meine größte sorge waren eigentlich die 230 V wechseltstrom durch eine selbst gelötete schaltung durchzuschicken, hatte etwas angst davor, aber jetzt ist ja alles gut...
das mit dem dimmen ist keine schlechte idee, aber ich hab mir das noch nicht so genau überlegt. würde mich über weitere vorschläge freuen.
Bunbury - Do 04.08.05 17:08
.
Also am einfachsten ist der serielle Ausgang (RS232)- da gibts so gut wie keinen weiteren Aufwand.
Ich könnte eine Schaltung z.B. so bauen, daß Du auf die Com Schnittstelle einfach eine Zahl für einen Kanal x10 schickst - also für Relais 7 schickst Du den Wert 70 und addierst jeweils einfach eine 1 dazu, wenn das Relais angeschaltet werden soll und nix, wenn das Relais wieder ausgeschaltet werden soll.
Also gesendeter Wert 121 schaltet Relais 12 an, schickst Du eine 120 geht Relais 12 wieder aus. Das wäre mal ein simples Prinzip, mit dem wohl jeder auf Anhieb klar kommt.
Für Helligkeitsregelung hätte man so erstmal 9 Stufen... 121, 122, 123... 129 wird dann immer heller, 120 schaltet aus.
Wenn 10 Stufen nicht reichen kann man auch erst einen Wert für den Kanal und danach einen für die Helligkeit senden... dann wären mehr als 100 Abstufungen möglich.
Alle elektronischen Bauteile für so eine Schaltung, mit der Du 20 Relais schalten kannst würden zusammen ca. 6 € kosten. Eine Leiterplatte irgendwo zu bestellen ist schweineteuer (50€) - deshalb würde ich die selber ätzen, so das dafür nochmal ca. 4€ Materialkosten zusammenkämen. Da kommen aber noch die Relais dazu - da muß man gucken, daß man irgendwo einen Sonderposten billig abschießt. Wieviele Relais man da drauflötet ist jedem selbst überlassen - wenn man nur 2 Kanäle braucht kauft man auch nur zwei.
Wenn ich nicht 20 Ausgänge vorsehen soll, sondern nur z.B. 4 wird das viel billiger, weil Bauteile wegfallen und die Platine kleiner ist. Da geht alles incl. Relais für 10,-€ Materialkosten.
Wenn voll-elektronische Schalter drauf sollen - also keine Relais mit Spule - dann wird das etwas teurer, weil so ein Ding meistens allein schon 5€ kostet. Wenn ich gleich noch das Netzteil mit auf der Platine einbauen soll, dann kommt noch ein Trafo dazu und die Platine wird wieder größer... auch wieder ein paar € Mehrkosten (5 extra fürs Netzteil würde ich schätzen).
Wenn man stufenlos dimmen will wird das nochmal teurer, weil jeder Ausgang eine eigene Phasenanschnittssteuerung braucht...
Je nach Luxusbedürfnis kann ich da vorsehen was Ihr wollt.
Ich selbst will das Geld nicht haben - von mir kriegt ihr nur eine Platine, und auch nur dafür will ich das Geld haben. Wer mir im Gegenzug eine schicke Software dafür schreibt, wo z.B. per Musik die Steuerbefehle rauskommen kann sie umsonst haben.
Die Bauteile müßt Ihr euch selbst besorgen - Liste und Bestellnummern kriegt ihr.
Ich kann sie euch auch komplett zusammenbauen - dann müßtet Ihr aber die Bauteile vorher kaufen und mir zuschicken, oder das Geld, damit ich sie selbst kaufen kann.
Wie gesagt - Möglichkeiten hatt man viele, Ihr müßt euch nur entscheiden was Ihr braucht. Ich baue das dann schon.
MfG
Bunbury
.
andras - Di 09.08.05 16:28
hallo
ich hab mir jetzt alle beiträge für die serielle schnittstelle im df angschaut und ich versteh bis jetzt eigentlich gar nichts, bis auf dass es pins für ein-und ausgabe gibt!
würd mich über jede hilfe sehr freeuen!!!!!!!!!!!!!!!!!!!
danke schon im voraus
P.S: bitte GANZ einfach!!
einfacher Name - Di 09.08.05 22:38
hm.. ich bin gerade hier reingestolpert, um ein paar sachen zu finden, aber ich hab mich hier angemeldet, um dir das zu sagen:
Ich schreibe zurzeit ein Programm das Über den PrinterPort 8 Verschiedene leds ansteuert. Wenn winamp aus ist soll es VomUserSelberProgrammierbare files abspielen, wenn das nicht der fall ist sollen sich seine lichter nach winamp richten.
Bin fast fertig, nur das mit winamp fehlt.
Mein Cousin hat ein Program geschrieben bzw. schreibt auch noch rum, mit diesem kann man 3 leds über ComPort steuern.
http://www.modding-factory.net <- wann ich fertig bin weis ich noch nicht.
Meine Homepage:
http://www.silversuns.tk oder
http://www.silversuns.de.vu
ich hab noch kein video gemacht, aber hier ist das von meinem cousin:
<hier gebe ich den link an, aber da sind grad wartungs arbeiten>
Du musst aber deine Lautsprecher ganz weit auf drehen.
andras - Mi 10.08.05 13:54
ich wollt eigentlich den seriellen port ansprechen, nicht den parallelen. :wink:
aber trotzdem, vielen dank, ich werds mir anschauen!
Bunbury - Mi 10.08.05 13:57
.
Ich schreibe schon nicht umsonst, daß es mit dem Printerport nicht ganz einfach ist - schon garnicht, wenn man mit Assembler-Includes direkt auf die Adresse zugreifen will.
Das Tutorial wie man den Printerport benutzt ist schon schön und richtig - ist nur ziemlich alt bzw. überholt. Das funktioniert so bei NT-Kernel-basierten Windows-Versionen (XP, 2000, NT) nicht mehr (jedenfalls nicht ohne sich zusätzliche Programme zu installieren und Systemänderungen vorzunehmen)
Neuere Rechner haben garkeinen LPT-Port mehr, baut man sich den nachträglich ein, dann benutzt der fast nie die angegebenen Standardadressen, oft wird von nachträglich eingebauten Karten der LPT-Port sogar nur emuliert, die Haupt-IO-Register werden von einem extra Treiber verwaltet, der sich dank Plug&Play in irgendeinen beliebigen Adressbereich setzt... und und und...
Mein Tip: wenn ihr extra einen alten Bastelrechner habt (Win9X) könnt ihr nach dem Tutorial bauen. Wenn Ihr so ein Programm auch mal auf einem etwas neueren Rechner benutzen wollt, dann ist einen COM-Port ordnungsgemäß über API-Aufrufe zu beschreiben die einzig ordentliche Lösung. Einen seriellen Anschluss gibt es fast immer und wenn nicht, kann man USB-Ports einfach als COM-Port definieren.
Eine Schaltung für LPT-Port-Anschluss baue ich jedenfalls nicht mehr - habe keine Lust auf einen Rechner extra speziell für eine einzige Anwendung ein uraltes Betriebssystem zu installieren, nur weil die Programmierung dafür 20min schneller geht.
MfG
Bunbury
.
einfacher Name - Do 11.08.05 08:39
:arrow: da hat einer weiter unten auch noch ein topic aufgemacht, da steht des für winxp. ich habs ganz anders gemacht.
Ich glaube für com-port hab ich schon componenten gesehen.
andras - Mo 15.08.05 18:41
hallo
also, jezt mal auf deutsch: was heißt bitte weiter UNTEN????
aber egal, ich will so oder so den com-port verwenden.
weißt du vielleicht wie diese komponenten heißen? so drauflossuchen ist nämlich ganz schön anstrengend...
Bunbury - Di 16.08.05 17:29
.
Ja - es gibt Komponenten zum nachinstallieren und auch DLLs.
Ich empfehle das ohne extra DLL zu lösen - durch API-Funktionen. Wozu etwas extra installieren, was bei Windows schon enthalten ist? Auch noch versionsübergreifend?
Es gibt ein schön dokumentiertes Terminalprogramm (in Delphi 5) von Thomas Seifert, wo man sich das angucken kann (ich wiederhole mich...).
Danach habe ich das jedenfalls relativ zügig kapiert.
Einfach mal googeln.
MfG
Bunbury
.
andras - Mi 17.08.05 09:53
hallo
@ bunbury: du hast vorher mal geschrieben, dass man den usb als seriellen port missbrauchen kann. ich nehme mal an da brauch ich nen adapter. was muss ich dann noch umstellen?? (bin nämlich draufgekommen, dass ich keinen seriellen port hab :wink: )
Bunbury - Mi 17.08.05 10:37
.
Entweder man baut einen speziellen Chip in die Empfängerschaltung ein (ist aber elektronisch viel Aufwand) oder man kauft sich für 10-15€ einen Adapter USB <-> seriell.
Der beiliegende Treiber meldet den Adapter dann als normalen COM-Port an.
MfG
Bunbury
.
andras - Do 18.08.05 16:21
hallo
also so ganz haben deine schätzungen nicht gestimmt :lol:
hab ca das doppelte gezahlt, aber wsa solls, dafür funktiuonierts.
danke vorerst mal, ich meld mich dann wieder falls zu dem thema noch probleme gibt. (die kommen bestimmt, nur keine sorge :D )
hibbert - Do 18.08.05 18:43
Hi,
ich habe damals auch n bissel suchen müssen, um den Parallelport unter xp ansteuern zu können.
Schließlich habe ich es mit der io.dll geschafft. Dann habe ich mir eine 8-Port Relaiskarte zusammengelötet und kann nun mit meinem eigenen Programm Lampen ansteuern :D
Es ist also alles möglich :wink:
Bunbury - Fr 19.08.05 09:29
.
andras hat folgendes geschrieben: |
hallo
also so ganz haben deine schätzungen nicht gestimmt
hab ca das doppelte gezahlt, |
Stimmt - mit den 15€ habe ich tatsächlich falsch gelegen. Mittlerweile kriegt man die Dinger für 3,93€ + 4,95€ Versand = 8,88€ Gesamtpreis
http://cgi.ebay.de/USB-zu-SERIELL-RS232-ADAPTER-9pol-RS-232-AKTION_W0QQitemZ5228740446QQcategoryZ79424QQrdZ1QQcmdZViewItem
oder alternativ auch für 2,45€ + 7,90€ Versand, was aber natürlich nur sinn macht, wenn man mehrere braucht, weil jedes weitere dann noch 7,45€ kosten würde.
Du hast doch wohl nicht etwa bei Conrad gekauft, oder?
MfG
Bunbury
.
andras - Do 08.09.05 09:50
hallo!
ich will mich ja nicht aufregen aber: bunbury hat glaub ich schon 2x klar gemacht, dass der parallelport veraltert ist und er für den keine hardware bauen würde also werd ich nicht den parallelport benutzen!!
hab beschlossen den com-port zu nehmen
Bunbury - Do 08.09.05 22:22
.
Jaaa - da begreift einer.
Aber nicht, daß da ein Mißverständnis aufkommt: auf einer COM Schnittstelle einzelne Pins high und low zu setzen ist nicht gemeint - das ist genauso ohne Zukunftsperspektive wie die Parallelportlösung.
Komplette Steuer-Befehle byteweise zu verschicken (ob als ASCII oder Binärwert ist erstmal egal) und die von einem Empfangsgerät (Microcontroller) zurückumwandeln zu lassen und auf Pins auszugeben - das ist eine vernünftige Lösung!
So einen µC zu programmieren ist wohl für jeden hier im Forum ein Kinderspiel, die Dinger kosten 2-3 EUR und der elektronische Schaltungsaufwand ist fast = 0. Die Compiler sind Freeware und spezielle Programmiergeräte braucht man auch nicht mehr - einfach 5 Drähte anlöten und Programm vom PC draufspielen.
Noch einfacher geht Elektronik echt nicht.
MfG
Bunbury
.
andras - Mi 12.10.05 21:10
hallo!
wo krieg ich so einen mikrokontroller her, weil ich müssste mir da einmal ein paar dioden anlöten damit ich mir einmal anschauen kann wie das dann ausschaut.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!