Jump to content

Malik

Members
  • Gesamte Inhalte

    87
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Malik

  1. Ich möchte - in Python - den Wert von Callbacks außerhalb dieser Callbacks verwenden. Nach einigen Versuchen bin ich bei einer Liste gelandet, in die der Rückgabewert des Callbacks geschrieben wird. Jetzt stolpere ich aber über ein anderes Problem: Ich habe für einen simplen Versuch das Encoder-Bricklet genommen und den Encoder-Wert sowie den Tastendruck ausgewertet. Es wird aber nur der Tastendruck in der Liste abgelegt. Wenn ich aber den Brickviewer starte und auf den Reiter für den Encoder gehe, zeigt die Ausgabe meines Scripts auch den Encoder-Wert an! Hier ist das Script: #!/usr/bin/env python # -*- coding: utf-8 -*- from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_rotary_encoder import RotaryEncoder import time class ExampleEncoder: HOST = "localhost" PORT = 4223 UIDenc = "kL6" valuelist = [0,0] def __init__(self): self.ipcon = IPConnection() self.ipcon.connect(ExampleEncoder.HOST, ExampleEncoder.PORT) self.encoder = RotaryEncoder(ExampleEncoder.UIDenc, self.ipcon) self.encoder.register_callback(self.encoder.CALLBACK_COUNT, self.cb_count) self.encoder.register_callback(self.encoder.CALLBACK_PRESSED, self.cb_pressed) self.i = 0 def cb_count(self, count): ExampleEncoder.valuelist[0] = count def cb_pressed(self): self.i = self.i + 1 ExampleEncoder.valuelist[1] = self.i self.encoder.get_count(True) if __name__ == "__main__": ExampleEncoder() while True: time.sleep(1) print (str(ExampleEncoder.valuelist[0]) + ' ' + str(ExampleEncoder.valuelist [1])) Ich benutze Python 3.4 und arbeite in der IDLE Shell mit Windows 7. Kann sich jemand darauf einen Reim machen? Danke Malik
  2. Hallo Korrelationswert, nach welcher Formel rechnest Du den Luftdruck um?
  3. Antwort von Radio Eriwan: Im Prinzip ja, aber... Zum Beispiel mit Python kannst du mit servo.set_position(servo_number, position) ein "normales" Servo zu einer bestimmten Position fahren, ein Countinous Rotation Servo (CRS) fährt dann endlos lange, weil es die Position nie erreicht. "Position" kann positiv oder negativ sein, damit ändert sich die Drehrichtung. Jetzt das "aber": Das CRS dreht, solange es angesteuert wird. Du bekommst keine Rückmeldung über den zurückgelegten Winkel oder die Anzahl der vollen Drehungen! Dieses Problem könnte vielleicht mit einem "Rotary Encoder Bricklet" gelöst werden, das du an das CRS koppelst, so dass es mitgedreht wird. Das Bricklet gibt 24 Impulse pro Umdrehung aus, die müssen dann halt gezählt werden bis die gewünschte Position erreicht ist.
  4. Hallo TF, gibt es zum RED weitere Informationen seit dem Blog-Eintrag? Läuft der Prototyp schon? Ich habe schon gespart...
  5. Hallo borgelmorgel, ich habe die Idee einer Flugsimulatorplattform, wo 6 Zylinder - jeweils 2 Stück V-förmig angeordnet - die Plattform in jede Richtung bewegen können. Kannst Du vielleicht die Daten der Hydraulikzylinder und der Pumpe dafür online stellen? Danke Malik
  6. Hi borg, Industrial bedeutet für mich "normiert". Für Stromeingänge gibt es das 0-20 mA Bricklet bereits, das auch 4-20 mA kann. Damit blieben Spannungseingänge, und das sind "normiert" 0-10 V oder -10 - +10 V. Natürlich wünscht man sich so viele Kanäle wie möglich per Bricklet, aber das wird dann eine ganz einfache Rechenaufgabe. Gruß Malik
  7. Da im Step-Down ein DC-DC-Wandler sitzt und kein Trafo (weil keine Wechselspannung), wird nicht die Leistung umgewandelt sondern die Spannung herabgesetzt. Oder einfach gesagt: den Strom (A), den du am Ausgang haben möchtest, musst du am Eingang reinschieben.
  8. Jau, es geht so. Danke für die schnelle Antwort und den Link. Named Tuples gibt es also hauptsächlich wegen der "object notation". Schönen Sonntag noch!
  9. Moin, ich habe gerade mal die "get_position()" Funktion in Python (mit IDLE / Python 2.7.3) für das Joystick-Bricklet probiert (FW 2.0.3). Bei "print js.get_position()" bekomme ich als Resultat eine formatierte Ausgabe statt (int, int), z.B.: "Position(x=-60, y=42)". Ist das etwa mit dem Satz "Das zurückgegebene namedtuple enthält die Variablen x und y." so gemeint? Muss ich x und y aus dem String extrahieren? Ratlos, Malik
  10. Malik

    LED_strip_bricklet

    Ok, got it. Wenn der Stromverbrauch nicht so hoch ist (z.B. 4 A ~ 64 LEDs) "könnte" ich die Klemmen also benutzen. Muss nur zusehen dass tatsächlich noch 5V bei den LEDs ankommen. So ab 48 - 64 LEDs würde ich sowieso zusätzlich direkt in den Streifen einspeisen. Danke für die Info. Malik
  11. Malik

    LED_strip_bricklet

    Moin, folgenden Satz in der Dokumentation (http://www.tinkerforge.com/de/doc/Hardware/Bricklets/LED_Strip.html) verstehe ich nicht: -> "+" ist der Versorgungsspannungs-Ausgang. Es ist mit dem "+" Signal der "Input" Klemme verbunden und sollte nicht benutzt werden um LED Streifen oder Pixel zu versorgen. Daher sollte dieses Signal nicht angeschlossen werden. <- Wenn "+" und "-" der Input-Klemme mit "+" und "-" der Output-Klemme verbunden sind -- was gemäß "led-strip-schematic.pdf" wohl auch so ist -- kann doch die 5V-Versorgung des LED-Streifens an die Output-Klemme ("+" und "-") angeschlossen werden, wenn auf der Input-Klemme 5 Volt liegen. Kann mich jemand aufklären?
  12. Moin, vielleicht ist es ja ein alter Hut, aber ich habe gerade gemerkt, dass das Step-Down Power Supply 5V auch "rückwärts" ausgeben kann. Ich speise einen Master über die PoE Ethernet Extension und habe das Step-Down druntergesetzt: Am grünen Stecker liegen 5V an, über die sich mein Raspberry Pi freut! So ein Step-Down ist nicht teurer als ein PoE-Splitter und viel besser zu integrieren. Bin begeistert!
  13. Danke AuronX, dann werde ich schon mal anfangen mit Trockenübungen...
  14. Hallo Nemo, genau das war meine Frage. Da heißt es: Warte auf Callback. Wie sollen die Callbacks gestaffelt werden? Ich bin bei Software auf dünnem Eis, im Gegensatz zu den anderen Postern hier. Gruß Malik
  15. Noch habe ich kein LED Strip Bricklet, aber eine Frage dazu: Mit "set_rgb_values" können maximal 16 LEDs angesprochen werden. Weitere LEDs müssten dann über einen weiteren Aufruf (mit anderem Index) folgen. Soweit richtig? Wie mache ich das aber mit einem Callback? Kann man weitere Aufrufe in den gleichen Callback packen oder müssen mehrere Callbacks gestartet werden? Die genaue Funktionsweise der Callbacks (welche Parameter werden wohin übertragen, woher kommen die Parameter bei der Registrierung) habe ich bisher nicht durchdrungen, aber das nur am Rande. Ich nehme immer den Beispielcode... Gruß Malik
  16. Malik

    LCD-Gehäuse

    Seht euch mal den Preis "ab 10" für das LCD-Gehäuse an. Ich schätze, das sollte ein Euro weniger sein... https://www.tinkerforge.com/de/shop/cases/case-lcd20x4-bricklet.html
  17. OK, Danke Dann muss ich also "position" auch noch abfragen. Das ist zwar nur halb-automatisch, wie Du sagst, aber es würde funktionieren.
  18. Mir ist nicht klar, wie man mehrere gleiche Bricklets (z.B. 3 x Temepratur) unterscheiden kann, wenn man den Callback Enumerate (TCP/IP API) benutzt. Das Vorgehen mit diesem Callback ist ja in 'Dokumentation/Tutorials/Robuster Ansatz' beschrieben. Meine Frage dazu ist: Werden unterschiedliche 'Device_Identifier' für den gleichen Typ Bricklet gemeldet? Wenn ja, wie kann ich feststellen, welches Bricklet welchen Identifier hat? Oder ganz praktisch gefragt: Woher weiß ich, welcher "temp"-Wert die Außentemperatur meldet? ratlos Malik
  19. Das mit den verbogenen Pinnen im Bricklet-Stecker ist ein größeres Problem! Ich habe schon zwei Master "verkrüppeln" müssen (einen der Bricklet-Steckern eliminieren) und meherere Bricklets mit einem Pin zu wenig (weil verbogen und dann abgebrochen). Diese Mistdinger sind sehr empfindlich - Plug and Play wie bei Lego ist nicht! Bei jedem Einstecken muss man GANZ vorsichtig sein. Aber das ist wirklich die einzige Sache, die ich bei TF kritisieren muss, das muss auch mal gesagt werden. Ansonsten sind die Leute extrem gut drauf, vor allem beim Support! Malik
  20. Hallo Loetkolben, Danke für den Link auf die alte Firmware. Ich bin zurückgegangen auf 2.0.1 und "tataaa", das Backlight geht wieder! Sachen gibt's...
  21. Ich habe gerade mit dem Brickviewer 2.0.4 mein LCD 20x4 auf Version 2.0.5 geflasht. Danach geht das Backlight nicht mehr! Beim Flashen war das Backlight an, ich habe mich schon gewundert, dass es beim anschließenden Reset des Masters nicht ausging. Ich habe dann am Master USB abgezogen und wieder eingesteckt, seitdem geht das Backlight nicht mehr an. An einem zweiten Master das gleiche. Das LCD wird im Brickviewer erkannt, die drei Tasten (LCD HW-Version 1.1) auch. Außerdem schimmern die Reihen 0 und 2 des LCD nach Einstecken des USB-Steckers etwas silbrig, die Reihen 1 und 3 nicht. Die letzte FW-Version war (glaube ich) 2.0.1. Gibt es die vielleicht noch, damit ich das LCD "zurückflashen" kann?
  22. Einen guten Überblick kannst Du Dir bei Graupner, robbe oder Conrad verschaffen. Ich bin nicht mehr ganz auf dem Laufenden, aber Fahrtregler in dieser Leistungsklasse müssten erschwinglich sein. Achtung: keinen Fahrtregler für "bürstenlose" Motoren nehmen! Zur Ansteuerung eignet sich am besten ein Servo-Brick. Wenn Du Dir diese Kombination zulegen willst, ist der Anschluss der Fahrtregler an den Servo-Brick zu beachten (evtl. die rote Ader am Stecker ab machen). Das war schon mal Thema im Forum.
  23. Das war ja schon mal Thema im englischen Forum (Tinkerunity / English / General Discussion / Plates and enclosures; October 2012). Ich habe mir im letzten Jahr Lochraster-Platten aus England besorgt (Tamiya), aber für den Preis bekommt man sie auch in der Apotheke. Wer's wissen will: http://proto-pic.co.uk/tamiya-70172-universal-plate-l-210x160mm. Ein paar Winkel und Schrauben sind dann auch noch dabei. Der Kunststoff ist zäher als Plexiglas, d.h. fast "unkaputtbar". Für mich sind sie immer noch das Nonplusultra.
  24. Malik

    USB-Anschluss

    Hallo AuronX, der Hinweis war gut. Hatte ich bei meiner bisherigen Suche nicht gefunden. Werde mal eins bestellen (habe sowieso schon eine Wunschliste dort) und schauen ob die Quali OK ist.
×
×
  • Neu erstellen...