Alle erstellten Inhalte von borg
-
IMU 2.0 sensor fusion question
This is really hard to tell if it will work well, you will probably have to try it out. The fusion algorithm is part of the IC that we use (Bosch BNO055), the algorithm is unfortunately propitiatory and we don't exactly know how it works.
-
Unable to save calibration
If you press the save button the Brick Viewer will save the current values of the calibration on the Brick and it will use them as a starting point when it is started the next time. This does not mean that every "led" in Brick Viewer will immediately turn green again on next boot. Since from the perspective of the IMU it does not yet have gathered enough data to be sure if it calibrated correctly or not. The Brick will run the continuous calibration in any way.
-
C-Binding Rotary Poti unter macOS : FAIL
Welcher Wert < 0 wird denn zurück gegeben? http://download.tinkerforge.com/bindings/c/
-
ContinuousAcceleration16BitCallback
Mit setConfiguration
-
ContinuousAcceleration16BitCallback für Accelerometer Bricklet 2.0 in Matlab
Ich hab ein Beispiel im anderen Thread hinzugefügt: https://www.tinkerunity.org/forum/index.php/topic,4890.0.html
-
ContinuousAcceleration16BitCallback
Anbei ein Beispiel: function matlab_example_continuous_callback() import com.tinkerforge.IPConnection; import com.tinkerforge.BrickletAccelerometerV2; HOST = 'localhost'; PORT = 4223; UID = 'XYZ'; % Change XYZ to the UID of your Accelerometer Bricklet 2.0 ipcon = IPConnection(); % Create IP connection a = handle(BrickletAccelerometerV2(UID, ipcon), 'CallbackProperties'); % Create device object ipcon.connect(HOST, PORT); % Connect to brickd % Don't use device before ipcon is connected % Register acceleration callback to function cb_acceleration set(a, 'ContinuousAcceleration16BitCallback', @(h, e) cb_continuous_acceleration(e)); % Get X, Y and Z axis continuous acceleration with 16-bit resolution a.setContinuousAccelerationConfiguration(true, true, true, BrickletAccelerometerV2.RESOLUTION_16BIT); input('Press key to exit\n', 's'); ipcon.disconnect(); end % Callback function for continuous acceleration callback function cb_continuous_acceleration(e) data_all = []; data_axis = []; for i = 1:length(e.acceleration) if mod(i, 3) ~= 0 data_axis = [data_axis double(e.acceleration(i)) / 10000.0]; else data_axis = [data_axis double(e.acceleration(i)) / 10000.0]; data_all = [data_all; data_axis]; data_axis = []; end end for i = 1:length(data_all) data_axis = data_all(i,; for j = 1:length(data_axis) if j == 1 fprintf('Acceleration [X]: %g g\n', data_axis(j)); elseif j == 2 fprintf('Acceleration [Y]: %g g\n', data_axis(j)); else fprintf('Acceleration [Z]: %g g\n\n', data_axis(j)); end end end fprintf('\n'); end
-
Ist Tinker als Joystickerweiterung nutzbar?
Die Bricklets haben eine API die in vielen Programmiersprachen zur Verfügung steht (siehe Doku). Allerdings tauchen die Joystick/Poti Bricklets nicht als Gamecontroller unter Windows auf. Es müsste also eine Art Treiber geschrieben werden der unsere API nutzt und damit ein "Gamecontroller-Device" unter Windows implementiert. Das ist sicherlich möglich, ich vermute allerdings das es recht viel Aufwand ist.
-
Firmware bug? Ethernet funktioniert nicht
So 100%ig ist mir leider immernoch nicht klar wann genau das Problem auftritt. Fangen wir erstmal mit einem Master Brick + Ethernet Extension an (um irgendwelche Funkprobleme auszuschließen). Als erstes schließt du den Master Brick per USB an und konfigurierst die Ethernet Extension (feste IP oder DHCP). Dann ziehst du USB ab und machst dafür eine USB-Stromversorgung (oder Step Down Power Supply) dran. Dann verbindest du dich per Ethernet über die feste IP oder die per DHCP vergebene IP über den Brick Viewer mit der Ethernet Extension. Das funktioniert erst, richtig? Wenn du das jetzt eine Zeitlang laufen lässt (einfach den Master Brick Tab auflassen, da werden Daten übertragen), treten dann schon Verbindungsfehler auf? Wenn das noch geht, was passiert wenn du oben im Brick Viewer mehrfach Connect/Disconnect drückst? Treten dann die Fehler auf? Wenn das noch geht, treten die Fehler irgendwann auf nachdem du dein eigenes Programm startest/neustartest? Falls ja, treten die Fehler auch auf wenn du eines der minimalen Beispiele aus der Dokumentation ausführst?
-
Humidity v2: Python: get_samples_per_second() führt zu Exception
Oh, das ist meine Schuld. Da hat sich ein Bug in die 2.0.4 eingeschlichen, ich hab vergessen die Länge des Pakets zu setzen: https://github.com/Tinkerforge/humidity-v2-bricklet/commit/fb6c809ea06522a4b18446c936b432239c792d1b Bitte auf 2.0.5 aktualisieren!
-
Temperatursensor Humidity 2
Der kann dafür genutzt werden. Es ist durchaus möglich das sich der Sensor selbst ein wenig erhitzt ("self-heating"). Diese Selbsterhitzung beläuft sich aber für gewöhnlich nur auf 1-2°C und ist konstant, kann man also recht einfach kalibrieren.
-
Firmware bug? Ethernet funktioniert nicht
Wenn du dein eigenes Programm beendest, den Stapel neustartest und dich dann per Brick Viewer mit dem Stapel verbindest. Dann passiert was genau? Musst du ein bestimmtes Tab auswählen damit ein Problem auftritt?
-
Firmware bug? Ethernet funktioniert nicht
Die Ethernet Extension unterstützt maximal 7 gleichzeitige Verbindungen. Ein Grund warum der Brick Viewer "could not connect" melden könnte ist, dass kein Socket mehr frei ist in der Ethernet Extension. Läuft vielleicht im Hintergrund ein Programm welches neue Verbindungen öffnet ohne diese wieder zu schließen und damit alle Sockets "aufbraucht"?
-
Getting started
On Windows with GCC you can use the command line to compile one of the examples, see here: https://www.tinkerforge.com/en/doc/Software/API_Bindings_C.html#gcc Don't forget to change the UID placeholder in the example to the UID of your Bricklet.
-
Getting started
You don't have to use a Makefile. Which operating system and which compiler/IDE do you use?
-
Getting started
You need an additional WIFI Extension 2.0 and a USB Power Supply.
-
Getting started
In terms of software you need to download the Brick Daemon, Brick Viewer and C API Bindings. You can get all of them here: https://www.tinkerforge.com/en/doc/Downloads.html To get started with the C Bindings you can take a look here: https://www.tinkerforge.com/en/doc/Software/API_Bindings_C.html In terms of hardware it obviously depends what you want to do. The absolute minimum that does something useful and is easy to understand would probably be a Master Brick together with a Temperature Bricklet 2.0. Hardware wise you need: * Mini USB cable * Master Brick * Bricklet cable (7p-10p) * Temperature Bricklet 2.0 Master Brick: https://www.tinkerforge.com/en/shop/bricks/master-brick.html Temperature Bricklet 2.0: https://www.tinkerforge.com/en/shop/bricklets/sensors/temperature-v2-bricklet.html You can pick the suitable cables as options in the shop. To get started, you connect the Bricklet to the Brick with the Bricklet cable and the Brick to your PC with the USB cable. Now you can view the temperature in Brick Viewer and use the C Bindings to read out the temperature in C++.
-
Getting started
Do you have any idea for a project or specific interest? Something easy to start with is always the weather stations. You can start with calling getters to get the measurements from the sensors and print then to the console. From there you can go anywhere (store data in a database, draw graphs, etc).
-
Air Quality Bricklet zeigt nur noch eine Nulllinie
Das Air Quality Bricklet nutzt die 5V nicht, da kann nichts passieren. Du könntest versuchen die Firmware nochmal neu drauf zu spielen, ich wüsste aber nicht warum das etwas bringen soll. Damit ich das richtig verstanden hab: Wenn du das Bricklet vom Strom trennst und wieder ansteckst liest es immernoch Nullen? Oder hatte es nur einmal kurzfristig nur Nullen gelesen?
-
Accelerometer 2.0 mit RedBrick
Schwer zu sagen, kannst du dein Python-Programm hier posten? Vielleicht lässt sich da ja noch etwas optimieren.
-
Problem mit LCD 128x64 Bricklet (Touch)
Wenn du in diesem Fehlerfall bist, bekommst du dann denn irgendwelche Callbacks? Ich würde erwarten dass das Bricklet dann vielleicht irgendwelche Klicks sieht die gar nicht da sind o.ä.?
-
(Python) Schrittmotor mit Rotary Encoder steuern
Woran scheitert es denn? Hast du vielleicht Code der schon etwas tut aber nicht ganz funktioniert oder etwas ähnliches?
-
Air Quality Bricklet zeigt nur noch eine Nulllinie
Steckt das Kabel richtig drin? Vielleicht auch einmal das Kabel am Brick und Bricklet abmachen und schauen ob alle Pins noch gerade sind oder ob etwas verbogen ist etc.
-
Wie kann ich PIL auf dem Red Brick nutzen?
Ein E-Paper Bricklet ist bereits in der Entwicklung: https://github.com/Tinkerforge/e-paper-296x128-bricklet
-
Skalierung Accelerometer 2.0 Bricklet
Wenn du die Auflösung von 16bit auf 8bit umstellst, bekommst du in der tat die Einheit 256/10000g anstatt 1/10000g zurück (die 8 niedrigsten Bits werden einfach abgeschnitten). Das ist nicht hinreichend gut dokumentiert, kümmere ich mich drum! Die Skalierung und Datenrate solltest du allerdings ändern können ohne das sich die Einheit ändert. Edit: Hier sind die Änderungen die ich an der Doku vorgenommen hab um das klarer zu machen: https://github.com/Tinkerforge/generators/commit/fcd32651d873a40a16322866ef3515a45415f7ab
-
Wie kann ich PIL auf dem Red Brick nutzen?
Wir können ein Beispiel machen welches diese Funktion implementiert. Das kann aber nicht teil der API sein. Die APIs die wir für die ganzen Programmiersprachen anbieten sind komplett auto-generiert. Wir haben ~120 Produkte und ~17 Programmiersprachen mit je ~3 Beispielen. Wenn du da das Kreuzprodukt draus bildest siehst du wie viel Code das ist. Es wäre unmöglich für uns das per Hand zu schreiben. Alle APIs, die Dokumentationen für die APIs und die meisten Beispiele sind auto-generiert. Der Generator nutzt fürs LCD128x64 diese Config: https://github.com/Tinkerforge/generators/blob/master/configs/bricklet_lcd_128x64_config.py Das sind also alle Informationen die zur Verfügung stehen die API, Beispiele und Dokumentation zu generieren.