Tagebuch [Tagebuch] USB-Mediasteuerung im Eigenbau

Ahso :D Jooooa SolidWorks ist schonmal deutlich besser als Google Sketchup :D Aber mir war es damals zu umständlich bzw es konnte einfach zu viel :D
 
Ahso :D Jooooa SolidWorks ist schonmal deutlich besser als Google Sketchup :D Aber mir war es damals zu umständlich bzw es konnte einfach zu viel :D

Dann sei froh, dass du noch nie was mit NX zu tun hattest - die sind soweit ichs noch weiß bis zu einer Version von 1996 oder so abwärtskompatibel - da haben sich Funktionen angesammelt, sodass sich selbst ansonsten gut Konstrukteure schwer zurechtfinden... und ich bin jedesmal wieder froh, wenn ich nichts damit zu tun habe :ugly:

Edit: Und noch kurz zum Projekt: Ab heute gefällt mir Java ein wenig schlechter - da gibts nichtmal meine geliebten unsigned Variablen...

Edit 2: Es gibt noch mehr neues zur PC-Software:
Java ist für mich in diesem Zusammenhang jetzt gestorben - wenn ich für die serielle Schnittstelle Software eines Drittanbieters installieren muss mag ich das einfach nicht!
Demnach werd ich mich morgen dran machen, mein Programm mit Visual C++ Express zu schreiben - und da dann mit .net - jetzt hoff ich nur noch, dass ich da einen vernünftigen ColorPicker finde!

Edit 3: Ich bin auch so ein Vollpfosten - das mit der Farbauswahl hab ich ja gestern (oder wars vorgestern) unter C# "geschafft" (war auch nicht wirklch schwer).
Demnach werd ich das in C++ auch schaffen - oder ich schreibs einfach in C#... mal schaun.
 
Zuletzt bearbeitet:
Hallo Leute,

endlich komm ich dazu, das Update für meine PC-Software zu posten - fertig ist sie ja schon seit Montag abend (bzw. eigentlich ists ja noch Dienstag geworden...).

Geworden ists (vorerst) einfach das C# Programm, mit dem ich die richtige serielle Schnittstelle der Steuerung suche (ich sende der Steuerung Daten und warte dann auch eine Rückmeldung).
Anschließend sende ich einen weitern Befehl an die Steuerung, auf den mir dann diese ihre derzeitig eingestellten Daten für den Farbverlauf zurückschickt.
Diese Daten wende ich dann auf die Elemente der GUI an, um so evtl. geringfügige Änderungen zu ermöglichen.

Dann kann man die Farben einstellen - für jede Farbe erscheint ein Pop-Up Fenster für die Farbauswahl.
Ebenso kann die Anzahl der Farben und die Zeit für den Farbwechsel einstellen (obwohl dieser Wert noch nichts mit einer echten Zeit zu tun hat).

Screenshots des Programms (und falls es halbwegs einfach geht auch ein Video) werde ich (wenn ich Zeit habe) heute Abend nachliefern.

mfg
max00

Zurück zum Inhaltsverzeichnis
 
Und jetzt noch wie versprochen das Update mit Bildern:

So sieht das Programm gleich nach dem Start aus:
sc1.png


Nachdem man auf den Connect-Button gedrückt hat, verbindet sich das Programm mit der Platine (die bei mir mittlerweile auf COM24 liegt) und holt sich den aktuell eingestellten Farbverlauf:
sc2.png


Mithilfe des Drop-Down Menüs kann man die Anzahl der Farben im Verlauf festlegen (derzeit 1 - 8):
sc3.png


Das Fenster passt sich dann automatisch in der Größe und der Anzahl an sichtbaren Eingabeelementen an:
sc4.png


Mit dem Klick auf einen der Farb-Buttons öffnet sich dann der Standard Windows Color-Picker:
sc5.png


Die dort ausgewählte Farbe wird dann übernommen:
sc6.png


Durch den Klick auf "Sende Farbverlauf" wird dieser übermittelt - der Text "Colors set" zeigt an, dass das setzen erfolgreich war.
sc7.png


Das war es soweit von elektronischer und programmiertechnischer Seite bei meiner ersten Variante.
Das Gehäuse ist derweil immer noch gezeichnet bzw. gefräst (folgt aber asap).

Außerdem hat sich noch ein kleines Zusatzprojekt ergeben:
Ich werde am Mikrocontroller ein Bluetooth-Modul anschließen und an dieses mittels Android-Smartphone-App Befehle senden (wie bei der bisherigen Steuerung, evtl. sogar mehr).
Die Platine hab ich soweit, da ich aber das Kabel zum Programmieren in der Firma vergessen habe, wird heute nichts mehr draus - die App lass ich deswegen auch mal links liegen.
Es sollte aber eigentlich nur ein kurzer Versuch werden (außer es gefällt mir so gut :D)

mfg
max00

Zurück zum Inhaltsverzeichnis
 
Wirklich erstaunlich wie du das Ganze umgesetzt hast:daumen:
Allerdings bin ich immer noch gespannt wie das ganze dann fertig aussieht (also mit gehäuse und allem drum und dran)
Mach weiter so:D
 
Hallo ihr da,

es gibt wieder neues, allerdings nicht zum bisherigen Projekt (zumindest hab ich beim Gehäuse immer noch nichts... xD ).

Allerdings hab ich mich mal drann gemacht, die ganze Steuerungsgeschichte über Bluetooth mit meinem Handy zu machen!
Als Bluetooth Modul verwende ich derzeit ein WT12 von Bluegiga (hatten wir in der Firma) und als µC einen PIC18F26J50 (auf dem hab ich schonmal die Funktionen für die Kommunikation mit dem Bluetoothmodul und die USB Kommunikation gemacht).
Da hab ich dann einfach meine Funktionen, Descriptoren etc für das HID Gerät eingefügt, meine paar Befehle definiert und diese auch ausgewertet.

Am anderen Ende stand dann noch mein Handy - und dank Android war da auch ziemlich schnell was möglich (ich hab dafür den Bluetooth-Chat aus den API-Demos von Google abgeändert ).
Mit ein paar einfachen Buttons hat es dann auch ziemlich schnell funktioniert - allerdings wollte ich mir selbst Buttons machen und das war dann die richtige Baustelle... das hat mich mehr Zeit gekostet als die Programmierung beider Systeme.

Außerdem ist es noch zu Verzögerungen wegen einer neuen Android Version für mein Handy gekommen (Cyanogenmod 9 auf meinem LG Optimus 2x - danke an die Macher) und auch die Schneestürme in den letzten Tagen haben mir viel Zeit und Motivation genommen.

Nun genug der Worte - ein Bild:
Screenshot_2012-02-16-19-31-44.png


So sieht es also aus - es funktioniert (und wenn man auf der Lauter- bzw. Leisertaste drauf bleibt, so sendet diese auch immer wieder Pakete).

Und nun noch was ganz anderes - Bilder von Prototypen aus alten Tagen, bei denen ich Chips im QFN Package verwenden wollte:
IMG136.jpg

IMG137.jpg


Zur Info: Der Lochabstand bei beiden Platinen beträgt 2,5mm - aber es hat funktioniert :D

Mit Grüßen aus dem verschneiten Tirol verabschiede ich mich vorerst,
max00

Zurück zum Inhaltsverzeichnis
 
Zuletzt bearbeitet:
Das sieht ja schon wieder ziemlich cool aus mit dem Farbmanagement und den Buttons für dein Handy :) Und einen netten Käfer haste au zusammengelötet ;)
 
Hallo Leute,

erst einmal eine kleine Entschuldigung für die langen Pause, aber ich hatte einfach mal keinen Lust zu Hause auch noch an der Elektronik zu arbeiten :ugly:

Diejenigen die jetzt mit dem Gehäuse für meine erste Variante gerechnet haben muss ich leider enttäuschen - ich hatte noch nichtmal Zeit dieses zu zeichnen...

Dafür hab ich heute mit meiner kabellosen Variante begonnen.

Dafür verwende ich das RFM22B Funkmodul der Firma HopeRF, welches auf dem Si443x (ich glaube es war genauer der Si4432) basiert.
Das Modul ist genial, da es einem die Möglichkeit gibt, den Chip problemlos auch für kleinere Basteleien zu verwenden. Zusätzlich ist es auch noch extrem günstig (wir haben in der Firma mal ein Angebot für 1000 Stk. angefragt und da war der Preis bei etwa 2€ :daumen:)

Das Modul muss nur mit Spannung (~3,3V) versorgt werden und mittels SPI mit einem Host-Controller verbunden werden.
Ich habe außerdem noch eine zusätzliche Verbindung zu meinem Host Controller gemacht - der Interrupt Pin (somit muss ich den Status des Moduls nicht immer über SPI abfragen).
Als Host Controller verwende ich diesesmal einen PIC18F26J50 und als Platine kommt eine kleine USB-Platine aus der Firma zum Einsatz (noch im Prototypenstadium, aber eigentlich voll-funktionsfähig).

Jetzt hab ich nur kurz mein Programm darauf angepasst, dass ich einen HID-Befehl anstatt von seriellen Daten an den PC sende - und es funktioniert schon (hab noch eine meiner ersten Test-Sender hier, leider kann ich da keine verschiedenen Pakete senden...).

Somit werde ich mich (vllt sogar schon Morgen) daran machen, das andere Ende der Funkverbindung zu bauen - und wenn ich ganz lustig bin verwende ich sogar kapazitive "Tasten".

Hier noch ein paar Bilder meiner Empfangsplatine (diese wird auch nicht mehr verändert werden und wahrscheinlich nie ein Gehäuse sehen ;-)

IMG_20120301_203705.jpg



IMG_20120301_203721.jpg


IMG_20120301_203747.jpg



mfg
Marco



Zurück zum Inhaltsverzeichnis
 
Zuletzt bearbeitet:
Boah schaut sehr geil aus :) Evtl. habe ich es überlesen, meldet sich der Empfänger als normales HID Gerät am Computer oder wie läuft das ? Wie schaut es mit der Reichweite aus ? Und was schätzt du, wie klein könnte man den Empfänger auf einer doppelseitigen Platine bekommen?
 
Wow, was für ein Projekt.

Kann da leider Elektroniktechnisch zu wenig mit Fachsimpel, aber auf jedenfall sehr Spannend was du da bisher Zeigst!

Bleib auf jeden Fall dabei!

:daumen:
 
@Hendi: Also der Empfänger meldet sich als normales HID Geräte an - ist ja mein Hintergedanke dass man am PC keine Software braucht (zurzeit meldet sich der Empfänger zusätzlich auch noch als seriellse Schnittstelle - Hilfe zum Debuggen ;-)

Reichweitenmäßig kann man mit diesen 868 MHz Modulen extremes erreichen - im Freien haben wir mal ca. 150m erreicht - bei extrem dicken (teilweise Stahbeton) Wänden sind wir immer noch auf geschätzte 30m gekommen (war aber auch maximale Sendeleistung!).

Größenmäßig dürfte sich der Empfänger auf etwa 20x30 mm machen lassen -> Tendenz eher zu kleineren Maßen (die Platine die ich zurzeit verwende hat noch eine Batterie für die Real-Time-Clock und externen EEPROM vorgesehen - einfach eine großzügig gestaletete Versuchsplatine!

Wahrscheinlich werd ich aber sowieso versuchen, eine kleinere Platine zu zeichnen - USB-Stick Größe ist dann mein Ziel ;-)

Zum Projekt:
Ich hab mir jetzt mal eine kleine "Tastatur" gebastelt, um das ganze System auf Stabilität zu prüfen - sieht grauenhaft aus (es basiert auf einer fertigen Platine aus der Firma - ist aber für versuche ausreichend):

Die Verbindung zum Mikrocontroller (in dem Fall ein PIC16F1938):
Unbenannt.png


Und die "Tastatur" :P
Unbenannt2.png


Die Funktionen von links nach rechts:

  • STOP
  • VOL_DOWN
  • PLAY/PAUSE
  • Zurück
  • Vorwärts
  • VOL_UP
Das wichtigste halt - es funktioniert!
Derzeit bin ich am Überlegen, ob ich mal eine Funkvariante mit mechanischen Tasten machen soll - vom Stromverbrauch her wäre das natürlich das Optimale.
Beim Kapazitiven habe ich derzeit noch ein paar bedenken, wenn ich die Bauteile direkt hinter den Sensorflächen platziere - ich fürchte da werden extreme Störungen auf mich zukommen (muss ich aber erstmal testen) und vom Stromverbrauch her wird es auch deutlich schwerer zu optimieren sein!


greetz
max00


Zurück zum Inhaltsverzeichnis
 
Hehe geil :) Das mit der USB Stick Größe ist dann echt gut :) Und reichweite würde mir persönlich völlig reichen :D Also zu den Kapatitiven Tastenfelder und Layout kann ich sagen:
Habe damals die Ee102p und Ee301p (standalone) verwendet und da durfte nichmal ne Masseleitung über 2 Sensorflächen laufen. War also sehr kritisch vom Layout. Ich habe es dann bei aufwendigeren Sachen mit mehr Tastern immer so gelöst, dass ich eine Extraplatine nur für die Sensorflächen gemacht habe, deren Anschlüsse für die Felder an einer Stiftleiste gesammelt habe, damit ich das ganze auf meine eigentliche Sensor IC Platine aufstecken kann. Hat immer gut funktioniert. Anschauen kannst du dir das ganze mal hier Video
 
Ja, ich rechne auch schon mit extremen Problemen bei meinen Sensoren - mein derzeitiger Plan ist, auf der Rückseite der Sensorflächen einen (weitestgehend) durchgehende Massefläche zu machen und dann eine zweite Platine mit dem Mikrocontroller und Funkmodul etc. zu haben - diese dann auf die Sensorplatine auflöten und hoffen dass es funktioniert :ugly:

Aber wirklich schön wie du es gelöst hast - werd ich vielleicht auch noch in betracht ziehen :daumen:
 
Na da bin ich gespannt :) Also ich weiß nicht wie es bei deinen Sensoren ist, aber bei den Edisen ICs war es so, wenn eine Massebahn/fäche ganz egal über 2 Sensorfächen gelaufen ist und man berührt eine, so ist dann die andere auch ungewollt aktiviert worden. Es war dann so als wären die realen 2 Flächen eigentlich nur eine. Aber wie gesagt, am besten du probiert es bei dir einfach aus :D Würde mich nämlich auch mal interessieren, ob das generell so ist oder ob das nur bei den Edisen Dingern so war :D
 
Schönes Projekt ;)

Hatte mal etwas ähnliches vor...auf Basis eines Arduino Uno's der als HID fungiert. Leider hab ich aus Zeitmangel das Projekt beendet, aber ich denke bald findet sich wieder Zeit sich dran zu setzen...

Nur eine Sache ist mir unklar:

Was willst du steuern? bzw. Wie wird das gesteuert? Macht das alles der PIC?
 
Naja, ich simuliere mit dem PIC nur eine Tastatur - und da es bei den HID-Codes auch welche für Multimediasteuerung gibt (Play, Stop, Lauter, Leiser, usw.) schicke ich auf Tastendruck (oder dann irgendwann bei Berührung einer kapazitiven Fläche)die HID-Codes für den jeweiligen Befehl an den PC (bzw. ich lade die Befehle in einen Buffer, den sich der PC abholt - USB ist ja immer noch Master gesteuert). Bei meiner direkten Lösung (also mit USB-Stromversorgung) "steuere" ich auch noch die RGB-LED.

Wirklich weit gedacht habe ich die Geschichte aber noch nicht - jetzt warte ich erstmal ab wann ich endlich meinen Raspberry Pi bekomme (und das kann noch dauern...) denn dann habe ich einen kleinen, stromsparenden "PC" mit dem ich irrsinnig viel Blödsinn anstellen kann :ugly:
 
Rasperry Pi? Hammer Gerät sag ich da nur ;) Steht ganz oben auf meiner Wunschliste...damit kannst dann bald auch Emulatoren auf der Glotze mit USB-Gamepad zocken...schnell und einfach ;)

EDIT: Natürlich auch um HD-Movies auf der Glotze anzuschauen...oder zum surfen im Web. Geht alles ;D
 
Zuletzt bearbeitet:
Ohhhh ja, gibt ja auch schon den XBMC Port dafür - ich bin nur gespannt wie sich das Teil bei nicht-h264 Videos schlägt (soweit ich weiß ist ja nur ein h264 Decoder hardwareseitig vorhanden).

EDIT: Zum Projektstatus - ich hab heute in der Mittagspause mal meinen Funk-USB-Stick geroutet und bin dabei auf eine Platinengröße von 20*33 mm gekommen (mit einem SMA-Stecker für eine "richtige" Funkantenne). Ein Angebot für die Platine hab ich mal angefragt - kommt aber erst morgen... die Daten hab ich auch leider in der Firma vergessen - kann ich euch demnach auch erst morgen zeigen :ugly:
 
Sooo, heute hab ich mir mene USB-Stick Funkplatine bestellt (bzw. konnte/durfte ich sie an eine Platine für die Firma dranhängen). Demnach hab ich ab Mitte nächster Woche eine kleine, neue Bastelei am Laufen!

Hier noch ein paar kurze Screenshots zum Schaltplan und Layout:

Die Schaltung:
usb_rfm22_receiver_sch.png


Das gesamte Layout:
usb_rfm22_receiver_brd.png


Nur der Top-Layer:
usb_rfm22_receiver_brd_top.png


Und nur der Bottom-Layer:
usb_rfm22_receiver_brd_bottom.png


Normalerweise sollte es funktionieren.
Eine schöne Sache am Rande beim Verwendeten Chip: einiges an Peripherie lässt sich auf verschiedene Pins legen - und genau das habe ich hier für dei 2. SPI Schnittstelle verwendet - somit kann ich am oberen Rand die Verbindungen zum Funkmodul ohne gröbere Überkreuzungen realisieren!

lg
max00

PS: Die original Eagle Files werde ich nachdem ich die Platine getestet habe noch Uploaden!

Zurück zum Inhaltsverzeichnis
 
Zurück