Μετά από πολύ καιρό απέκτησα το δικό μου Mindstorm
Το πήρα από Amazon 270 euro με Express delivery (σε 1 μέρα ήρθε από Αγγλία , ενώ μέσω ενός Website της DHL παρακολουθείς την πλήρη του διαδρομή! Έμεινα άφωνος από την ποιότητα των υπηρεσιών τους.. )
Τώρα λοιπόν είμαι σε φάση κατασκευής ή μάλλον κατασκευών , πάντως για οποιονδήποτε άλλο έχει το μικρόβιο αξίζει πάρα πολύ είναι πολύ εύκολο στην κατασκευή , καθότι lego , και μαζί παρέχονται UltraSonic Sensor ακρίβειας ενός μέτρου.. Light Sensor , Sound Sensor , Touch Sensor και 3 Servo Motors..
Εκτός όμως από αυτά υπάρχουν πηγές για Custom Sensors (βλέπε εδώ κ εδώ ) ενώ δίνεται το πλήρες Specification των Ports κάτι που σημαίνει οτι ένας γνώστης των ηλεκτρονικών μπορεί να φτιάξει και τους δικούς του όπως θέλει..
Το πρόγραμμα προγραμματισμού LabView είναι πανεύκολο για την ανάπτυξη ενός προγράμματος (έως και αντιπρακτικά εύκολο ) αλλά μετά από ψάξιμο βρήκα τον κώδικα ενός γερμανού και με 1 ξενύχτι τον έκανα Port και έφτιαξα ένα πιο πρακτικό DLL (και αισθητικά πιο καλό) που επιτρέπει τον έλεγχο του NXT Block από το PC μέσω bluetooth..
BTW η δυνατότητα αυτή για Bluetooth πιστεύω είναι και η μεγαλύτερη δύναμη του καθώς μπορείς να το ελέγχεις από κινητό (με software που δίνεται από εδώ) και είναι τέλειο γιατί επιτρέπει την σύνδεση πολλών mindstorm μεταξύ τους για πιο πολύπλοκα ρομπότ ή από την μικρή υπολογιστική ικανότητα της συσκευής (# 32-bit ARM7 microcontroller # 256 Kbytes FLASH, 64 Kbytes RAM) μπορείς να μεταφέρεις όλο το υπολογιστικό κόστος στο PC σου και απλά να έχεις το Robotάκι σαν εντολοδόχο..
Οποιοσδήποτε θέλει το DLL μπορεί να το κατεβάσει από εδώ
Code: Select all
PM Me αν τα χρησιμοποιήσετε για το τι κάνει το καθένα..
Τα exports είναι τα εξής..
function InitMindstormConnection(theport:byte):boolean;external 'CPPNXTMindstorm.dll' name 'InitMindstormConnection';
function CloseMindstormConnection:boolean;external 'CPPNXTMindstorm.dll' name 'CloseMindstormConnection';
function ActivateSensor(thesensor:byte):boolean; external 'CPPNXTMindstorm.dll' name 'ActivateSensor';
function DisableSensor(thesensor:byte):boolean; external 'CPPNXTMindstorm.dll' name 'DisableSensor';
function SetSensorType(thesensor,thestate:byte):integer; external 'CPPNXTMindstorm.dll' name 'SetSensorType';
function GetSensorState(thesensor:byte):integer; external 'CPPNXTMindstorm.dll' name 'GetSensorState';
function GetSensorStateNorm(thesensor:byte):integer; external 'CPPNXTMindstorm.dll' name 'GetSensorStateNorm';
function SetMotorState(themotor:byte; thestate:integer):integer; external 'CPPNXTMindstorm.dll' name 'SetMotorState';
function ActivateMotor(themotor:byte):boolean; external 'CPPNXTMindstorm.dll' name 'ActivateMotor';
function DisableMotor(themotor:byte):boolean; external 'CPPNXTMindstorm.dll' name 'DisableMotor';
procedure WaitSync(thedelay:byte); external 'CPPNXTMindstorm.dll' name 'WaitSync';