Jump to content

The_Real_Black

Members
  • Gesamte Inhalte

    288
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von The_Real_Black

  1. Ich hab jetzt eine Wiki Seite: http://www.tinkerunity.org/wiki/index.php/The_Real_Blacks_Projekte Box 3 ist in Arbeit http://www.therealblack.net/TFUploads/Box3_ServoScanner.jpg der neue Code kommt die Tage ^^ Ich musste erst mal feststellen, dass je kleiner die Servos sind auch die Löcher in den Flügeln keiner sind... 1mm Schrauben hat man halt nicht so einfach im Keller ^^ Jetzt musste der größere Servo ran um das IR Bricklet fest zu halten. 3mm Schrauben passt ^^ klappt im Handbetrieb bereits gut. Meinungen, Anregungen, Hinweise zum Code und zur Kiste sind gerne gesehen.
  2. Das gleiche dachte ich mir auch ^^ @TF: Ich wünsche euch viele neue Kunden und eine weiter wachsende Community ;-)
  3. ok... dann habe ich mit den Degree an der falschen Stelle geschraubt. Ich hab jetzt 500, 2370 eingestellt das bringt zwar nicht unbedingt +-90 Grad, aber es Übersteuert nicht mit diesen Werten. *close enough* Ich kann jetzt auch verstehen wieso es immer wieder Probleme gab als ich die Degree geändert habe... ich habe den Schieber im Brickv nie auf null gesetzt so wurde immer wieder die Position geändert was zu den Spannungseinbrüchen und den "Durchdrehen" geführt hat. Merke: 1. Spannung erhöhen (im Moment bin ich bei 12-13 Volt und das rote Licht binkt immer noch vereinzelt auf -> Ich versuche noch auf 2x9Volt hoch zu gehen) 2. Positions Schieber im Brickv auf null setzen! 3. Pulsweiten einstellen und sich ans Maximum annähern! (Punkt 2 beachten) @AuronX @All: Vielen dank für guten Erklärungen und Hinweise.
  4. bool däääs_däänk_ich_nicht_üöäüßßßß = true; Geht alles! Wenn man mit den richtigen Mitteln arbeitet ;-P Sorry die Aussage konnte ich nicht stehen lassen.
  5. Ich steuer auch von +- 25000 ^^, aber dass braucht noch etwas fein Tuning um die Maximalen Winkel zu finden ohne, dass ich wieder übersteuere. Gibt es da Rechenregeln um die Werte sinvoll umzurechnen? Ich werde aus Impulsweiten Degree und Periode nicht ganz schlau...
  6. Mit "Pfostensteckern" könnte man die Knöpfe per Kabel anstecken und Variabel anbringen. Ambesten wäre es wenn die Stecker parallel zu den bereits vorhandenen Buttons angeschlossen sind. Damit hätte man am Bricklet Buttons und könnte selbst Knöpfe legen wie man will.
  7. Ich bin auf 600 / 2300 Pulsweite gegangen und Degree +- 25000 ich musste aber meinen 9 Volt Block mit 4 x 1.5 Volt erweitern = 15 V - 1 Volt Verlust über den Brick. Jetzt geht es besser ohne die Erweiterung hat die Pulsweiten anpassen zu viel instabileren Verhalten geführt. @M4ST3R: Hat leider nicht geklappt, aber danke für die Antwort. @lecktricker: Wie viel Spannung legst du an?
  8. (Take2 mein FF ist abgeschmiert... Ich schreib jetzt etwas schneller und lasse Links weg) Hallo, da ich jetzt meinen Servo Brick habe bin ich am Experimitieren mit 2 Servos der eine ist der Modelcraft Y-3009 und andere ein RS-2. Im Moment arbeite ich nur mit dem Y-3009er Servo. als Spannungsversorgung habe ich eine 9Volt Block Batterie an geschlossen. Output ist auf 5 V eingestellt der Block liefert noch ca 8Volt. Die Einstellungen für den Y-3009 sind: Puls Width min/max: 1000/2000 Degree min/max: +-9000 Vel. und Acc stehen auf Anschlag: 65535 Periode unveränndert: 19500 Als Test habe ich ein Programm geschrieben um mit einen Joystick den Servo zu steuern. Das Problem ist, dass der Servo ab und zu "durchdreht", die Spannungsversorgung zusammenbricht und ich nur 90° Drehbereich habe. Das "Durchdrehen" zeigt sich, dass die Position plötzlich weit über 180 liegt und der Servo weit übersteuert. Edit: Der Servo spinnt anscheinend bei schnellen Wechseln von Positionen und mit etwas Gewalt gegen die Kraft bewegen führt dazu, dass er wieder auf eine sinnvolle Position wechselt. Wie kann ich sinnvolle Einstellungen für diesen Servo finden?
  9. *Idee* Ein IR Abstandsbricklet in\an einen Handschuh einnähen dann mit einen Langen Kabel zu einen kleinen Rucksack in dem Masterbrick liegt führen. Dort ist dann auch noch eine Batterie und ein Rasbery oder Laptop. Der Rechner liest den IR Sensor aus und gibt dann Signal oder per Stimme aus wie weit eventuelle Objekte entfernt sind. Das Ganze könnte als Erweiterung zu einen Blindenstock verwendet werden. Damit der IR Sensor nicht immer misst könnte auch ein io4 Bricklet verwendet werden um einen Taster abzufragen welcher dann die Messung auslöst... Nur dass was durch meinen Kopf geht als ich das Bild gesehen habe.
  10. Update! Box2 ein LCD Test mit dem neuen Menü. Das Menü kann von der GUI aus gesteuert werden wie auch vom LCD Bricklet aus. Sollten keine Bricks angeschlossen sein ist das Programm immer noch lauffähig. Die Werte können gesammelt ausgelesen werden (Rückgabe in einen Dic<string,object>) aber auch einzeln über die id. Die id muss eindeutig sein! Ein Beispiel XML liegt bei! Viel Spaß mit dem Code! Edit: Ein Bild wie gut es funktioniert ^^ Doku: Left(), Enter(), Right() und die allgemeine Variante Button(MenueButtons klick) Entsprechen den Buttons am LCD Bricklet. string[] GetCurrentLines() und GetCurrentLines(bool cutLines) Geben die 4 anzuzeigenden Zeilen zurück. Mit dem Bool wird gesteuert ob die Zeilen bei 20 Zeichen bereits geschnitten werden sollen. Die Zeilen der Optionen sind festgelegt Editiermodus (siehe Bild) 1. Text Feld der Option (Freitext, nur Id muss eindeutig sein) 2. Value: Der aktuelle Wert der Option 3. ist der Default Wert die letzte Zeile ist dann das Minimum und Maximum der Option. Im Ansichtsmodus bleiben die beiden unteren Zeilen leer. Es lässt sich aber alles leicht anpassen. Ich muss noch die Zeichensätze umbiegen... oder hat da schon in C# eine Implementierung?
  11. Die Idee eines IT Bricklets ist garnicht schlecht. TV und Co per PC Ansteuern... da gäbe es einige Ideen. *Auto Zap*: Schaltet die Lieblingssender im 5 Minuten Takt durch weil überall nur Schrott läuft!
  12. Ich glaub ich brauch einen Eigenen Thread mit meinen Namen als Threadersteller... Link ist immer noch der gleiche: http://www.therealblack.net/TFUploads/TRB_TF_Projekt.7z Nun mit Menüsystem! Ich habe den Bin Ordner hier mal nicht gelöscht damit gleich getetet werden kann. Dieses "MenueSystem" arbeitet mit 3 Methoden: Left Enter Right wleche die 3 Buttonsdarstellen. Im beiliegenden XML wird das Menü aufgebaut. Es gibt im Moment nur eine flache Struktur. Es wird nicht empfohlen gruppe in eine gruppe zu packen ^^. Ansonsten lassen sich die Optionen bereits setzen. <text> dient zur 4 zeiligen Anzeige von Texten (Hilfe und Co) <int> ist ein Int Wert <double> ein double Wert und <bool> true oder false... <menu> ist die root. <gruppe> ist eine Sammlung von weiteren Elementen. Wenn ein Gruppe nach Links oder Rechts bis zum Ende durchlaufen wird wird die Gruppe wieder verlassen. Wenn ein Wert Knoten betreten wird (enter) gelangt man in den Editier Modus hier ist Links und Rechts Wert verringern oder erhöhen! Mit Enter wird der Wert gespeichert (auch im XML). XML Menü: <?xml version="1.0" encoding="utf-8" ?> <menu> <gruppe text="Text Menü"> <text lineA="Zeile1" lineB ="Zeile2" lineC="Zeile3" lineD="Zeile4" /> <text lineA="ZeileA" lineB ="ZeileB" lineC="ZeileC" lineD="ZeileD" /> </gruppe> <gruppe text="Options Menü"> <int text="Integer Test" min="0" max="10" value="3" default="2"/> <int text="Testing2" min="0" max="10" value="3" default="2"/> <bool text="an\aus" value="true" default="false"/> <double text="genau" value="3.1" min="0" max="10" step="0.1" default="2.0"/> </gruppe> <gruppe text="A other Menue"> <int text="IntegerValue" min="0" max="10" value="3" default="2"/> </gruppe> </menu> Für Anregungen oder Kommentare bin ich froh. PS: Dies ist eine TF Unabhängige Klasse! Ihr braucht zum Test keine Bricks anstecken. Einen Test mit einem angeschlossenen LCD Brick folgt noch ^^ Der Zugriff auf die Variablen ist im Moment auch noch nicht Implementiert, dass soll ein Dic werden zum auslesen und setzen ^^. Viel Spaß mit dem Code!
  13. @Wumpus: Die Idee mit einer Datenbank hatte ich auch, aber ich habe mich noch nicht auf ein Verwaltungskonzept mit den Bricks einigen können. Im Grunde müsste ich entweder Vorgeben was gerade angesteckt ist oder erst auf die Enumeration warten. Da ich auf ein "Brick ist nicht da, Komponente Offline" hinaus will ich es nicht Vorgeben. Andererseits könnte man Kombinationen in der DB Vorgeben welche angesteckt sein müssen und auf diese wird dann geprüft... Bis ich da ein Konzept habe arbeite ich an einen 3 Button Menü System ^^
  14. Ideensammlung: Die beiden LCDs haben je 3 Taster hier lohnt sich die Entwicklung eines generisches Menüsystems. In einen XML wird die Struktur vorgegeben, dann kann man durch Navigieren und Werte setzen. <menu> ___<Gruppe text="Hallo"> ___</gruppe> ___<Gruppe text="Welt"> ______<IntWert text="Integer Test" min="0" max="10" value="3" default="2"/> ______<IntWert text="Testing2" min="0" max="10" value="3" default="2"/> ______<BoolWert text="an\aus" value="true" default="false"/> ______<DoubleWert text="genau:" value="3.1" min="0" max="10" step="0.1" default="2.0"/> ___</gruppe> </menu> Ansichten: - Hallo - - - Tasten: <-left (in Gruppe gehen) right-> *l oder r und "enter" drücken* - Integer Test - Value=3 - <-Zurück ok nächste Option-> - Tasten: <-left(gruppe verlassen) (Wert Ändern) right-> *enter* - Integer Test - Value = 3 - Wert Setzen - <- verringern (Wert setzen) werterhöhen-> *hin her und enter* siehe eins Oben. Um aus den Menübaum wieder zurück zu kommen würde dauern da immer bis zur ersten oder letzten Option Scrollen muss um nach oben zu kommen. Sicherheit würde es auch nicht geben, da so kein "nicht Speichern" Button gibt. Wie kommt man überhaupt auf 3 Buttons... 5 ist eine schöne Zahl ;-P ne bei einer Uhr hat man auch ein Paar Knöpfe und man muss ja nicht gigantische Menü Strukturen aufbauen ^^ Ansonsten gehe ich dieser Idee mal nach ^^
  15. Ich habe TF auch über Golem entdeckt. Viele Reaktionen nach dem Typ "Hardware einfach mittels Hochsprache (C#) anzusteuern habe ich schon immer gesucht!" sprechen mir auch aus dem Herzen!
  16. Wenn das SO ist, dann wird mir nicht viel anderes übrigbleiben dazwischen eine Wartezeit einzulegen... Oder gibt es eine Option vor der Enumeration beim brickd die Anzahl der Bricks zu erfahren? So könnte man vergleichen bis alle Bricks geantwortet haben. Wie arbeitet der Daemon? Wann weis er wieviele Bricks angesteckt sind?
  17. Schade, dass die Enumerate Methode keine weiteren Events auslöst zum Beispiel wenn die Enumeration fertig ist. Problem im Moment ist, dass im Debugmodus und auf Klick Events aufgeteilt meine Methoden funktionieren. Ich lade mir zuerst per IPConnection.Enumerate alle Daten der angeschlossenen Bricks und speicher diese in verschiedene Listen, dann will ich aus diesen Informationen alle Device Objekte erstellen. Sobald ich dies aber in einer Konsolenanwendung automatisch hintereinander ausführe ist die Enumeration noch nicht fertig... ...Ich arbeite ungerne mit Thread.Sleep oder irgendwelchen Dummy Schleifen, da es Debug\Relese Probleme nach sich ziehen kann. Gibt es eine Methode das Ende Enumerate der zu ermitteln? Oder könnt ihr ein Event\Callback definieren was nach der Enumerate Methode ausgelöst wird? Ich denke an etwas wie IPConnection.Enumerated (int AnzahlDevices). Übergeben wird dann die Anzahl aller Bricks und Bricklets. Hat sonst noch jemand versucht die Bricks Dynamisch mittels Enumerate anzulegen? Hat jemand eine Idee das Ende der Enumerate Aufrufe abzuwarten ohne x ms zu warten?
  18. @lecktricker: Array ist eine Option ich will ein Dictionary<float,float> oder float,int verwenden. Key ist der Winkel der Messung und Value die ermittelte Entfernung. Dann kommt das erstellte Dictionary in eine Liste oder Dictionary<Vector2D, Dictionary<float,float> damit ich alle Messpunkte zum Zeichnen auf ein Gui Element verwenden kann. Mit den Dictionarys muss ich nicht festlegen welcher Array Platz welcher Winkel bedeutet und man kann es dynamisch erweitern. Beispiel die Messwerte haben eine starke Streuung dann könnte in dem Fall die Messdichte erhöht werden.
  19. http://www.therealblack.net/TFUploads/TRB_TF_Projekt.7z Viel neues gibt es nicht. Die letzte Zeit habe ich mit dem Verwalten der Bricks verbracht. Mit der Enumaration Methode packe ich alle empfangenen Daten in eine Liste welche ich dann einfacher durchgehen kann. Als Test gibt es eine Form welche alle angeschlossenen Bricks in einen DataGridView auflistet.
  20. Der Roboter sieht gut aus. Ich hoffe, dass ich mal soweit komme ^^ meine Bricks für einen IR Sensorkopf lassen auf sich warten. Gibt es schon Werte wie schnell man die Servos drehen kann damit der IR Sensor vernünftige Daten liefert? Bei einen händischen Test gab es immer wieder Ausreißer wenn ich den Sensor gedreht habe.
  21. Ein Servus aus dem Herzen Oberpfalz. Nürnberg ist da nicht so weit weg, da muss ich nur meinen Reisepass und das Auslandsvisum mitnehmen ;-P Bis nach Bielefeld oä wäre es mir aber für ein Treffen zuweit. Happy Coding.
  22. Nach täglich 8 bis 9 Stunden Software entwickeln fällt es mir etwas schwer irgendwo anders was zu entwicklen aber mal sehen wie es aussieht.
×
×
  • Neu erstellen...