Hallo Tinker-(Comm)unity,
ich hab mein StarterSet diese Woche auch erhalten und war eigentlich ganz guter Dinge. Angeschlossen, brickd und brickv läufen eigentlich wunderbar und erkennen meine 3 angeschlossenen bricklets.
Aber ich wollte natürlich auch gleich mal was programmieren .
Ich bin eigentlich "eingefleischter" PHP entwickler und habe vor vielen Jahren einiges mit VisualBasic (VB6) gemacht, zu Schulzeiten ein bisschen C++ gelernt und dachte mir, ich fang mal mit Java an.
Fluchs Netbeans geladen und installiert sowie die "Bindings und Examples" für Java geladen. Ein bisschen Copy & Paste und schon stand mein aller erstes Java Consolen Programm.
Nur wenn ich das Programm laufen lasse (nach dem ich meine Anfänger-Fehler ausgemerzt habe) bekomm ich keine Werte von keinem der Bricklets. Es wird immer nur "0" angezeig...
Dann hab ich die Umgebung gewechselt und hab mir MSVC#2010 Express geladen und installiert und die Source-Files BrickletAmbientLight.cs, BrickletDistanceIR.cs, BrickletRotaryPoti.cs, BrickMaster.cs und IPConnection.cs in die Projekt-Mappe gezogen.
in der "Form1.cs" hab ich dann oben noch "using Tinkerforge;" hinzugefügt und schon waren die meisten Fehler weg.
Noch ein paar Bespiel-Code-Zeilen nach "Form1_Load" gezogen die mir eigentlich ein paar TextBoxen füllen sollten:
private void Form1_Load(object sender, EventArgs e)
{
IPConnection ipcon = new IPConnection(HOST, PORT); // Create connection to brickd
BrickMaster master = new BrickMaster(UID); // Create device object
BrickletRotaryPoti poti = new BrickletRotaryPoti(UID); // Create device object
BrickletAmbientLight al = new BrickletAmbientLight(UID); // Create device object
ipcon.AddDevice(master); // Add device to IP connection
ipcon.AddDevice(al); // Add device to IP connection
ipcon.AddDevice(poti); // Add device to IP connection
// Don't use device before it is added to a connection
short position;
string str_position;
poti.GetPosition(out position);
str_position = position.ToString();
txt_rotpot.Text = str_position;
ushort illuminance;
al.GetIlluminance(out illuminance);
string str_illuminance;
str_illuminance = illuminance.ToString();
txt_lumi.Text = str_illuminance;
//ipcon.JoinThread();
}
Am Anfang der Class Form1 hab ich noch die Zeilen
private static string HOST = "localhost";
private static int PORT = 4223;
private static string UID = "94ANbPPdB7Z"; // Change to your UID
eingebaut.
Aktuell hat meine Form 2 Textfelder "txt_rotpot" und "txt_lumi". Nur bei rotpot kommt eine nicht korrekte "0" an. Bei Limi garnix .
Irgendwas mach ich scheinbar falsch und ich bin schon etwas frustriert, dass ich nicht dahinter komm .
Hoffe ich finde hier Hilfe .
Viele Grüße aus Franken
Christian