Hi. Also dies ist mein erster Beitrag im diesem Forum und gleich hab ich auch einige Fragen. Ich habe ein mittlelgroßes Lichtpult, welches ohne Funktion ist. Dieses möchte ich jetzt mit einem ATmega32 ausstatten. Dieser soll die einzelnen Fader und Taster abfragen und die Werte an einen PC senden. Hat jemand so etwas schon einmal gemacht? Folgende Schritte habe ich (zusammen mit dem Dozenten) überlegt: -durchtrennen der Leiterbahnen rund um die Fader und Taster -verbinden der einzelenen Fader/Taster mit den AD-Eingängen -Programm schreiben um die AD-Daten zu lesen (in AVRStudio) -Programm erweitern um die Daten im PC zur Verfügung zu haben Hier jetzt meine Frage dazu: Gibt es eine einfache Methode, die Daten vom Mikrocontroller zum PC zu bekommen? Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung. Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp = 64 Inputs). Ist sowas überhaupt möglich? Oder gibt es dort Alternativen? Danke erst einmal. Martin PS. Ein paar Infos zu mir: Bin Student an der FH in Brandenburg, und habe im jetzigen Semester angefangen Mikrocontroller (genauer den ATmega) zu programmieren. Sonst habe ich sehr große Erfahrung in der Programmierung in Delphi (Programme jenseits von 20k Zeilen).
Martin H. schrieb: > Gibt es eine einfache Methode, die Daten vom Mikrocontroller zum PC zu > bekommen? Com Anschluß am PC "Ja" kein Com nicht so einfach.(kostenfrage FTDI)
Martin H. schrieb: > Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der > Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp = > 64 Inputs). Ist sowas überhaupt möglich? Kannst Du das als Schaltbild ausführen? Ich würde so erst mal sagen: geht nicht, jedenfalls solange der nicht aktivierte Zweig nicht irgendwie entkoppelt wird.
Für die Fader sollte man Analog-Multiplexer und für die Taster Schieberegister benutzen.
Mal dir die Analog-Matrix mal auf und du wirst sehen, dass es nicht funktionieren kann. Außerdem sind die PullUps als Spannungsteiler denkbar ungeeignet, weil sie nicht genau spezifiziert sind und es eigentlich keine Widerstände sondern eher Stromquellen sind. Daher wie mein Vorposter schreibt: Analog-Multiplexer Die Tasten kannst du in einer 6*6 Matrix abfragen oder mit Schieberegistern.
Martin H. schrieb: > Ich habe ein mittlelgroßes Lichtpult, welches ohne Funktion ist. Kaputt ? Ausgedient ? > Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung. > Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der > Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp = > 64 Inputs). Wie genau soll das funktionieren - falls da bei mir eine Bildungslücke ist - bitte mal erläutern. Andere Variante: Zwei 16-Kanal Analog Muxer (z.B. 4067=> 2 ADC Inputs) an der ATmega32 anschliessen (Adressleitungen nicht vergessen ;-) ). Die Potis per Muxer scannen und wenn sich ein Wert geändert hat über den UART zum PC senden. Die Taster kann man über eine ähnliche Beschaltung abfragen, Stichwort "Matrix-Tastatur". Gruss Uwe
Hallo, ein möglichkeit wäre die Fader mit Hilfe eines "PCF 8591" der über I2C angesprochen wird, einzulesen. mfg
>ein möglichkeit wäre die Fader mit Hilfe eines "PCF 8591" der über I2C >angesprochen wird, einzulesen. Man könnte auch eine Bildverarbeitung einsetzen... zickigiss
@Martin ich würde für den analog-teil ganz ordinäre Analog-Multiplexer (4016/4066/4051) verwenden und die 27 Fader auf 8 "reduzieren". Die Erfassung der Taster lässt sich sehr einfach mit Schieberegistern machen (74HC165). Die Umschaltung der Analogeingänge kann man bequem mit ein paar Port-Pins machen. Ich habe bei meinem Selbstbau Synth 16 Potis, 11 Taster und 24 LED's mit dem AVR verarbeitet. Gar kein Problem. Es wären sogar noch genug Reserven nach oben möglich gewesen.
Es könnte mit Dioden gehen. Die Fader, die an einen AD-Eingang des ATmega gehen, bekommen eine Diode an den Schleifer. Anoden an Schleifer, Kathoden zusammengeführt an AD-Pin. Die Anfänge der Widerstandsbahnen(Fader "unten") kommen alle an Masse. Die Enden (Fader oben) werden über ein paar Portpins geschaltet. Falls jemand 'meckert', dass da doch 0,7V abfallen und der untere Bereich des Faders nicht ganz ausgenützt wird: pro Fader am Anfang der widerstandsbahn nicht direkt sondern über eine Diode nach Masse, und am AD-Pin einen Pulldown von sagen wir mal 1MegΩ vorsehen. Eventuell kann man das auch per Vusb-Midi(http://cryptomys.de/horo/V-USB-MIDI/) machen, dann hast du ein MIDI-Gerät per USB. Für die Laptopfraktion oder so. Das genannte Projekt müsste natürlich um das Multiplexing erweitert werden. \0
Nee, Pulldown muss größer sein, da laut Datasheet eine Quellimpedanz von 10kΩ erstrebenswert wäre. Jedoch haben 100k-Potis zumindest bei mir noch keine Mucken gezeigt :) Dependanzen bezüglich Master des Mischpultes kann man ja per Software implementieren. Herzlichst, \0
Matrix ist nicht so gut, wenn mehrere Tasten gedrückt (Dioden notwendig). Ich würde 74HC4051 für analog nehmen und 74HC165 für die Tasten. Oder je Taste+Poti ein ATTiny25 und dann alle parallel am I2C-Bus. Das Thema hatten wird doch schonmal. Peter
Anmerkung zu Peter : Bei einem 4051 hätte man mit nur 4 AD Eingängen des AVR's und 3 Steuerbits 32 Eingänge. Wenn man mehr braucht einfach einen 5. AD Eingang nehmen und man hat 40 Potis usw... Erspart einem die Frickelei, ist einfach zu handeln und erweiterbar.
Martin H. schrieb: > Für die 27 Fader und 35 Taster stehen ja nur 8 AD Inputs zu Verfügung. > Da kam der Dozent auf die Idee, die Fader in einer Matrix mit Hilfe der > Pull-Up Widerstände und der AD Wandler zu beschalten (8xAD + 8xPullUp = > 64 Inputs). Ist sowas überhaupt möglich? Oder gibt es dort Alternativen? für mich riecht das formlich nach dem einsatz eines multiplexers!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.