Κατηγορίες
Projects

Ένα απλό remote presence bot

Άλλο ένα πρόγραμμα για το Robot της DeA (αυτό με τον Basic Stamp II). Είναι της εποχής που είχα καεί με τους micro (και ας είχα μόνο έναν 😛 )! Στην ουσία, το robot αυτό μπορείς να το χειρίζεσαι από κάπου απομακρυσμένα και μέσω κάποιας κάμερας, μικροφώνου και ηχείων, είναι σαν να βρίσκεσαι ο ίδιος εκεί.

Τι είχα κάνει.. 😛 Πατέντες. Είχα πάρει το μισό “κουτί” του robot της DeA, από την σειρά “Κατασκεύασε και προγραμμάτισε το δικό σου Ρομπότ”. Έτσι είναι συναρμολογημένο πλήρως..
DeA Robot

Είχα βγάλει δηλαδή το πάνω-πάνω πλαστικό. Πάνω εκεί είχα βάλει ένα βιβλίο, ήταν σαν “τραπεζάκι” ένα πράμα. Πάνω σε αυτό έβαζα το πιστό και πολύ αγαπημένο μου EEE PC 1000H, το οποίο έτρεχε Skype και ένα serial to tcp προγραμματάκι (θα εξηγήσω στη συνέχεια). Έτσι λοιπόν μπορούσα να χειριστώ το robot μέσω Internet και να βλέπω που πάει μέσω της κάμερας του netbook! Ε και φυσικά να ακούω και να μιλάω 🙂 Δεν το δοκίμασα ποτέ εκτός σπιτιού, μόνο από διαφορετικά δωμάτια, αλλά τέλος πάντων 😛

Όπως είπα το netbook έτρεχε Skype και ένα πρόγραμμα.. Για να χειριστείς το robot έπρεπε να στείλεις κάποιες “εντολές” σε αυτό μέσω σειριακής θύρας. Αυτό γίνεται μόνο απ’ το ίδιο PC. Εδώ έρχεται το serial to tcp που σου επιτρέπει να χειριστείς (να στείλεις και να λάβεις δεδομένα) απ’ την σειριακή πόρτα ενός υπολογιστή μέσω δικτύου! Κάτι σαν γέφυρα ένα πράμα 😉 😛

Το πρόγραμμα που είχα γράψει για το robot είναι αυτό. Μέσα σε ένα απόγευμα όλα αυτά. Εκτός από μερικά κομμάτια του κώδικα!

[code]
‘ Program: Remote Presence Bot
‘ Author : giannoug
‘ – email: giannoug@gmail.com
‘ – site : www.giannou.net
‘ Version: v18.2.2009
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ {$STAMP BS2}
‘ {$PBASIC 2.5}
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Σταθερές / Μεταβλητές | Constants / Variables
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
turns VAR Nib
cmd VAR Word

SrvLStop CON 765 ‘Σε αυτή την τιμή οι
SrvRStop CON 750 ‘servo είναι νεκροί.
Gear1 CON 25 ‘"Ταχύτητες" για τους servo.
Gear2 CON 50 ‘Για μελλοντική χρήση και αν.
Gear3 CON 75
Gear4 CON 100
Gain CON 50
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Pins
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
ServoL PIN 13
ServoR PIN 12

‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Αρχικοποίηση | Startup
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-

‘Κανά τσέκ αν θες.
DEBUG "D"

‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Κύριο πρόγραμμα | Main program
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-

DO
DEBUGIN cmd

IF cmd = "F" THEN
GOSUB ForwardPulse
ELSEIF cmd = "B" THEN
GOSUB BackwardPulse
ELSEIF cmd = "L" THEN
GOSUB LeftPulse
ELSEIF cmd = "R" THEN
GOSUB RightPulse
ENDIF

LOOP

‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Υπορουτίνες | Subroutines
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-

ForwardPulse:
FOR turns = 0 TO 10
PULSOUT ServoL, SrvLStop + Gear4
PULSOUT ServoR, SrvRStop – Gear4 – Gain
NEXT
RETURN

BackwardPulse:
FOR turns = 0 TO 10
PULSOUT ServoL, SrvLStop – Gear4
PULSOUT ServoR, SrvRStop + Gear4 + Gain – 90
NEXT
RETURN
LeftPulse:
FOR turns = 0 TO 10
PULSOUT ServoL, SrvLStop – Gear4
PULSOUT ServoR, SrvRStop – Gear4 – Gain
NEXT
RETURN

RightPulse:
FOR turns = 0 TO 10
PULSOUT ServoL, SrvLStop + Gear4
PULSOUT ServoR, SrvRStop + Gear4 – Gain
NEXT
RETURN

‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
‘ Τέλος | End
‘=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-
[/code]

Αυτό ήταν.. Άλλη μια καμμενο-πρότζεκτ παρουσίαση έλαβε τέλος 😛

6 απαντησεις στο “Ένα απλό remote presence bot”

Και να φανταστείς το έγραψα 2 φορές. Δεν μπορούσα να σκεφτώ, χαχα. Θα το ξαναπεράσω ένα χεράκι βερνίκι όταν ευκαιρήσω 😉

Thanks for dropping by!

BasicStamp!! to botaki ths deAgostini!! ax… liwnw!!

popo re file afto to botaki einai teleiws testdump 😛
wraios mou eftia3es th mera re c.. 😉

Και να φανταστείς ότι πάνω σε αυτό έγραψα το πρώτο μου πρόγραμμα ever (εποχές 2003-2004)!

Ακόμα το έχω, θα ζει για πάντα 😀

Γεια σας! Πριν από λίγο καιρό βρήκα στο πατάρι ( δεν ξέρω ποιος την αγόρασε μη ρωτάτε ) την σειρά αυτή της DeA με το ρομποτάκι της parallax εντελώς απείραχτη ως και το τεύχος 20.Αυτό σημαίνει ότι έχω φτιαγμένο όλο το σύστημα χωρίς όμως το διαφανές πλαστικό και την breadboard(διάτρητη πλακέτα βάσης).Ξέρω ότι τα arduino είναι πολύ καλύτερα σε κάθε τομέα από τον Basic Stamp αλλά έχω καεί.Με την pbasic δεν έχω πρόβλημα ( μπροστά στην c++ kai javascript είναι εύκολη) και την breadboard την παρήγγειλα από ebay 🙂 .Όμως θέλω βοήθεια να βρω αισθητήρες (φωτοκύτταρο,θερμόμετρο,υπερύθρων και ότι άλλο μπορείτε να μου προτείνετε ) γιατί δεν ξέρω ποιοι είναι συμβατοί με το ρομπότ. Επειδή πάω πρώτη λυκείου και σε λίγο καιρό θα διαβάζω για εξετάσεις 😛 θα το εκτιμούσα ιδιαίτερα αν είχα σύντομα απάντηση.Ευχαριστώ προκαταβολικά.

Καλησπέρα φίλε Παναγιώτη!
Εφόσον πήρες από το eBay την breadboard, κάνε έναν έξτρα κόπο και πάρε ένα Arduino clone με $10! Αξίζει 🙂

Από όσο θυμάμαι (στην ηλικία σου έπαιζα και εγώ με αυτό το πράμα), χρησιμοποιώντας την εντολή RCTIME μπορείς να διαβάσεις αισθητήρες που λειτουργούν σαν αντιστάσεις (π.χ. φωτοκύτταρα, θερμίστορ, κ.α.). Επιμένω όμως να αγοράσεις ένα Arduino, μιας και είναι ευκολότερο και έχει περισσότερο ενδιαφέρον 🙂 Βρες με στο Facebook και στείλε μου ότι απορία θέλεις, θα χαρώ να σου απαντήσω.

Καλή συνέχεια!

Τα σχόλια είναι απενεργοποιημένα.