Jump to content

FabianB

Members
  • Gesamte Inhalte

    288
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von FabianB

  1. Meinst du solche Achskupplungen (Kupplungsmuffen)? http://www.conrad.de/ce/de/product/183731/KUPPLUNGSMUFFEN-66/SHOP_AREA_17440&promotionareaSearchDetail=005 Die haben die bei C aber nur von 6 auf 6 mm und von 4 auf 6 mm, zumindest soweit ich das gerade sehe. Oder meinst du was ganz anderes?
  2. Es wiederspricht dem Prinzip der Modularität in meinen Augen, weil du die einzelnen Module bei einem Kombi-Bricklet nicht auseinanderbauen kannst. Die Module wäre dann fest verbunden. Du kannst uwar Module hinzufügen, aber für mich funktioniert Modularität in beide Richtungen. Ich bin trotz eurer guten Argumente dagegen, weil ich finde, dass da Arbeitsaufwand für die Entwicklung betrieben wird, der dann nicht in die Realisierung völlig neuer Funktionen gesteckt werden kann. Zumindest zum jetztigen Zeitpunkt halte ich das für nicht sinnvoll.
  3. Hier bekommst du einen groben, unverbindlichen Überblick: http://www.tinkerforge.com/doc/Timeline.html Finde ich nicht so gut. dann braucht man x verschiedene, damit für jeden das Multibricklet in der richtigen Kombi da ist. AUßerdem bringt das keine FUnktionserweiterung, und dafür ist der Aufwand zu groß. Es wiederspricht auch dem Prinzip der Modularität.
  4. @ Loetkolben: Wie es M4ST3R schon sagt, das ist ja nur eine Frage dessen, wie man es umsetzt. Natürlich sollte es schon sinnvoll umgesetzt werden. Ne Info auf die man dann per Klick mit dem Start des Updates beginnen kann oder so. Und dass in einem Release ein Fehler drin ist, kann bei dem manuellen Update genauso passieren.
  5. Hallo, wollte mal fragen, inwiefern eine integrierte Update-Funktion für die TF-Software geplant ist. Ich fänd das ganz praktisch, weil ich dann nicht bei jedem Bugfix etc. manuell die Pakete neu runterladen und installieren muss. Oder steht eine solche Funktionalität von Arbeitsaufwand her nicht in Relation zum Nutzen? Gruß, Fabian
  6. Danke für die Info. Deine Lösung kommt für mich leider nicht in Frage. Naja, erstmal passts auch noch so.
  7. Tolle Sachen. Mal etwas Offtopic zwischendurch: Diese Bodenplatte, die du auf dem letzten Bild hast: Gibts irgendwo was in die Richtung zu kaufen, wo man die TF-Sachen drauf schrauben kann? Anfang des Jahres hatten wir da schonmal ne Diskussion, ob TF sowas nicht anbieten sollte. KAm auch ein ungefähres Ja beim rum, aber erst auf lange Sicht.
  8. Klappt, vielen Dank. Fragt mich jetzt nicht, wieso ich trotz dieser Fehlermeldung nicht auf die Idee gekommen bin... Peinlich
  9. Gerne, ist aus den Beispielen der TF-Doku übernommen: import com.tinkerforge.BrickMaster; import com.tinkerforge.BrickletPiezoBuzzer; import com.tinkerforge.BrickletLCD20x4; import com.tinkerforge.BrickletTemperature; import com.tinkerforge.BrickletLinearPoti; import com.tinkerforge.IPConnection; public class Einstieg_Musterloesung { //Define connection parameters private static final String host = "localhost"; private static final int port = 4223; //Define UIDs of the devices private static final String masterUID = "9TZyNmaVeqn"; // Change to your UID private static final String buzzerUID = "6tS"; // Change to your UID private static final String lcdUID = "6n9"; private static final String tempUID = "6Kd"; private static final String potiUID = "6Td"; // Note: To make the example code cleaner we do not handle exceptions. Exceptions you // might normally want to catch are described in the commnents below public static void main(String args[]) throws Exception { // Create connection to brickd IPConnection ipcon = new IPConnection(host, port); // Can throw IOException // Create device objects BrickMaster master = new BrickMaster(masterUID); // Create device object BrickletPiezoBuzzer buzzer = new BrickletPiezoBuzzer(buzzerUID); BrickletLCD20x4 lcd = new BrickletLCD20x4(lcdUID); BrickletTemperature temp = new BrickletTemperature(tempUID); BrickletLinearPoti poti = new BrickletLinearPoti(potiUID); // Add device to IP connection ipcon.addDevice(master); // Can throw IPConnection.TimeoutException ipcon.addDevice(buzzer); ipcon.addDevice(lcd); ipcon.addDevice(temp); ipcon.addDevice(poti); // Don't use device before it is added to a connection /* * Ab hier laeuft das eigentliche Programm * */ /* * Gruppe A: Bei Knopfdruck aktuelle Temperatur auf LCD ausgeben und Beleuchtung über Button steuern: */ //LCD Licht an lcd.backlightOn(); // Add and implement listener for pressed and released events lcd.addListener(new BrickletLCD20x4.ButtonPressedListener() { public void test(){ System.out.println("test"); } public void buttonPressed(short button) { System.out.println("Pressed: " + button); // Button 0 (erster Button) wird gedrueckt -> Licht an/aus schalten if ( button == 0 ) { lcd.writeLine((short)0, (short)0, "Hello World"); } // Button 1 (zweiter Button) wird gedrueckt -> Aktuelle Temperatur auf LCD ausgeben if ( button == 1 ) { //TODO } } }); //Temperatur bestimmen //TODO // Write "Hello World" lcd.writeLine((short)0, (short)0, "Hello World"); /* * Gruppe B: Buzzer-Rhytmus durch Potentionmeter regeln: */ //Poti int position = poti.getPosition(); // Can throw IPConnection.TimeoutException System.out.println("Position: " + position); //Buzzer Morsen buzzer.morseCode("... --- ..."); //TODO lcd.backlightOff(); /* * Bis hier laeuft das eigentliche Programm * */ System.out.println("Press ctrl+c to exit"); ipcon.joinThread(); } } Sobald ich die fett markierte Zeile auskommentiere, läuft es auch ohne Probleme. Außerhalb des Listeners kann ich das Display normal beschrieben etc. EDIT: Wird leider nicht fett angezeigt. Ich meine diese Zeile im Listener: lcd.writeLine((short)0, (short)0, "Hello World"); Sobald die weg ist, läufts
  10. hatte ich heute morgen neu runtergeladen. Daran sollte es nicht liegen. Ich poste mal hier meinen Codeabschnitt: // Add and implement listener for pressed and released events lcd.addListener(new BrickletLCD20x4.ButtonPressedListener() { public void buttonPressed(short button) { System.out.println("Pressed: " + button); // Button 0 (erster Button) wird gedrueckt -> Licht an/aus schalten if ( button == 0 ) { lcd.writeLine((short)0, (short)0, "Hello World"); } // Button 1 (zweiter Button) wird gedrueckt -> Aktuelle Temperatur auf LCD ausgeben if ( button == 1 ) { //TODO } } }); Die Fehlermeldung dazu sieht so aus: Einstieg_Musterloesung.java:79: local variable lcd is accessed from within inner class; needs to be declared final lcd.writeLine((short)0, (short)0, "Hello World"); ^ 1 error Ich hoffe, dass ich das jetzt nicht falsch kopiert habe. Habe auf di schnelle evrsucht, auf meine Ausgangslage zu kommen. Jedenfalls geht es so nicht.
  11. Danke schonmal für die schnellen Antworten. Das hatte ich so am Anfang. Geht aber nicht. Nic hat Recht, ich kann innerhalb der buttonPressed-Methode nicht auf das lcd zugreifen. @Nic: Hab mir das mal angesehen. Aber wenn ich das richtig verstehe, klappt das bei ihm ja auch nicht. Und das, was ihm dann als Lösung angeboten wird, habe ich nicht verstanden. Also nochmal das Kernproblem: Wie kann ich innerhalb der buttonPressed-Methode vom lcd auf das lcd selber zugreifen. Dürfte ja eigentlich kein Problem sein.... Eigentlich :-D
  12. Hallo, ich gehe offensichtlich falsch mit den Listenern in Java um. Ich habe mit denen noch nie wirklich gearbeitet und Nachschlagen und googlen hat gerade nicht so gut geholfen. Ich will beim Drücken des ersten Buttons des LCDs das Backlight ausschalten. Wie geht das? In der Doku steht das hier: // Add and implement listener for pressed and released events lcd.addListener(new BrickletLCD20x4.ButtonPressedListener() { public void buttonPressed(short button) { System.out.println("Pressed: " + button); } }); Statt des System.out...... will ich da haben lcd.backlightOff(); Kann mir jemand ein korrektes Beispiel geben oder die Verwendung der Listener kurz erklären? Mit der Erklärung aus "Java ist auch eine Insel" bin ich nicht weitergekommen. Danke schonmal. EDIT: Sorry, Kern der Frage ist, wie ich im Listener auf das LCD zugreifen kann. Nicht, wie ich den gedrückten Button rausfinde oder so. Es geht darum, wie ich aus dem Listener eine andere Funktion des Displays aufrufe.
  13. Ich denke mal, dass das mit dem MEssen von außen nicht so gut ist. Da wirkt sich dann die Raumtemperatur zu stark drauf aus und du hast wahrscheinlich einiges an Abweichung zur Wassertemperatur im Inneren des Aquariums.
  14. Coole Sache. Ich würde das im Wiki aber verschieben (verlinken) in die Projekte-Ecke. Willst du das vielleicht noch machen? Dann findet man es auch, wenn man nicht von diesem Thread aus kommt. EDIT: Sorry, habs gerade in der Codeschnipsel-Ecke gefunden. Hatte ich übersehen.
  15. @Jan: Hast du sie schon mal ausprobiert? Hast du noch Anmerkungen?
  16. Ich würde den zuschweißen. Mit ner Zange zusammendrücken und kurz heiß machen. Es reicht, wenn man da kurz ein Feuerzeug dranhält, das wird auch das Bricklet aushalten, denke ich. Die Dinger, die ich bisher immer verwendet habe, waren auch wasserdicht. (Allerdings habe ich die nie dauerhaft in Wasser getaucht.) Wie wäre es denn mit Epoxidharz? Ich auch nicht sooo teuer. Hat aber auch den Nachteil "einmal dran, immer dran".
  17. Ja, Grün überwiegt :-) Ich verfolge deine Wetterstation schon, seit du angefangen hast, hier davon zu berichten. Muss jetzt auch endlich mal sagen: Echt tolles Projekt. Hättest du nicht Interesse, den einen oder anderen Teil deiner Anleitung etc. in die Wiki zu stellen? Oder hast du das schon und ich habs nur nicht gefunden?
  18. Ich vermute mal, dass die Silikonschicht deutlich stärker isoliert als beispielsweise ein Schrumpfschlauch. Alleine schon, weil die Schicht viel dicker sein dürfte. Und Silikon wirst du, wenn du es einmal auf dem Bricklet hast, auch eher nie mehr abbekommen. Einen Schrumpfschlauch kann man bei Bedarf, welbst, wenn er "geschrumpft" ist, noch aufschneiden. Ich muss ja hier nochmal Werbung machen für meinen Vorschlag :-D
  19. Es wurde jetzt 65 Mal runtergeladen, der eine oder andere wirds bestimmt noch probiert haben. Ich vermute, dass es keine weiteren Anmerkungen gibt. Ich würd die "verbesserte" Version einfach schonmal in die Wiki stellen.
  20. Das ist natürlich blöd für dich. Aber die Timeline ist auch nur eine Prognose. Vielleicht kann deine Erinnerung hier aber das Encorder-Bricklet nochmal ein bisschen pushen. @M4ST3R: Wenn ich diese Diskussion richtig in Erinnerung habe, dann ist das mit Chibi jetzt erstmal auf Eis gelegt, u.a. wegen der Frequenz-Probleme. Stattdessen soll es bald erstmal das W-Lan-Modul geben. Anschließend wird nochmal geschaut, ob sich eine Neuauflage/Weiterentwicklung oder wie auch immer von Chibi lohnt.
  21. Ich habe den Verdacht, dass sich das geändert haben könnte: http://www.tinkerforge.com/doc/Timeline.html Hier kannst du sehen, was dir in nächster Zeit so "blüht" ;-) Wenn ich es nicht übersehen habe, dann scheint es in der TODO-Liste nach hinten gescheduled worden zu sein...
  22. So, ich habe die FAQ gerade auch noch ins englische übertragen. Mein Englisch ist nicht das allerbeste, ich denke, dass man alles versteht. Aber wer es besser weiß: Bitte direkt verbessern :-) Fallen euch noch weitere Fragen für die FAQs ein? Ich fänd es toll, wenn sich auch noch andere in der Wiki engagieren. Bei Gelegenheit einfach mal ne Kleinigkeit hinzufügen. In den FAQs sind z.B. noch die Bauvorschläge für die KITs offen.
  23. Die Idee mit der Tüte drum hatte ich auch erst. Allerdings wird die auf Dauer doch bestimmt abgenutzt und undicht. Im Zweifel rupfen die Fische mal dran... Ich denke, dass deshalb dein Vorschlag mit dem IR-Temperature-Bricklet sehr interessant ist. Allerdings befürchte ich, dass auch das auf Dauer Schaden nehmen könnte. In einem Aquarium ist es ja auch unter dem Deckel recht feucht, das tut dem Teil bestimmt nicht nur gut. Und wenn man nur die Glastemperatur von außen misst, dann ists mit Sicherheit schon deutlich zu viel verfälscht. (Würde ich mal vermuten.) Wie wäre es denn damit, das (normale) Temperature-Bricklet in entsprechend große Schrumpfschläuche zu packen und auf diese Weise zu zu schweißen. Das ganze natürlich ein gutes Stück weit auch am Kabel hoch. Die Schrumpfschläuche sind ja für Gewöhnlich deutlich stabilder als Plastiktütchen. Wäre das gleiche Prinzip, aber mit einem hauteng anliegenden, stabileren Kleidchen :-D
  24. sonst stell doch einfach nur die pdf in die wiki mit 1-2 sätzen vorher, was einen erwartet. sollte doch auch ok sein.
  25. Ok, zurest ist mir aufgefallen, dass im kopierbaren Quellcode noch die Zeilen //ipCon.addDevice(servo); // //ipCon.addDevice(io16); nicht auskommentiert waren. Das ist zwar nicht weiter schlimm, aber ein Hinweise wäre gut. Außerdem: Auf den Seiten 15/16 musste ich nach Einfügen des Codes auch nochmal die Import-Korrektur ausführen. Vorher gabs sonst einen Fehler. Müsste auch noch angemerkt werden. Am Ende startete das Programm dann zwar, aber auf Buttonklick hin passierte erstmal nichts. Ich habs dann nochmal bereinigt und neu ausgeführt, dann gings. War also kein Fehler in deiner Anleitung. Könnte man als Tip für den Fall eines Fehlers noch reinschreiben. Sonst hat alles gepasst. Super Anleitung. Nette Erklärungen zwischendurch zu Netbeans. Die Kommentierung des eigentlichen Programmes ist etwas dünn, aber für Leute mit Erfahrung erklärt sich das von selbst. Danke nochmal für deine Mühe.
×
×
  • Neu erstellen...