Πίνακας περιεχομένων:

Raspberry Pi + Xbee RC Transmitter: 5 Βήματα
Raspberry Pi + Xbee RC Transmitter: 5 Βήματα

Βίντεο: Raspberry Pi + Xbee RC Transmitter: 5 Βήματα

Βίντεο: Raspberry Pi + Xbee RC Transmitter: 5 Βήματα
Βίντεο: B4X: Android + Raspberry Pi + XBee (ZigBee) communication 2024, Νοέμβριος
Anonim
Raspberry Pi + Xbee RC Transmitter
Raspberry Pi + Xbee RC Transmitter

Αυτό το διδακτικό θα σας δείξει τι έκανα για να δημιουργήσω τον δικό μου πομπό Raspberry Pi Zero + Xbee RC

Βήμα 1: Raspberry PI και Xbee RC Transmitter

Βήμα 2: Διαμορφώστε το Raspberry Pi UART

Γεια σου!

Το Raspberry Pi (όλες οι παραλλαγές) είναι εξαιρετικά ευπροσάρμοστο και αποτελούν πλέον τον ακρογωνιαίο λίθο ενός οικοσυστήματος πολλών εύκολων για συγκόλληση πρόσθετων που κάνουν αυτές τις συσκευές ΠΡΑΓΜΑΤΙΚΑ εύχρηστες. Δυστυχώς, το μόνο πράγμα που λείπει από το Raspberry Pi (επί του παρόντος) είναι ένας πίνακας διακοπών ή το κλειδί στο χέρι GPIO για ραδιόφωνα XBee (ZigBee). Οι συσκευές XBee είναι ένας πολύ καλός τρόπος επικοινωνίας μεταξύ όλων των ειδών συσκευών χωρίς πολλά πρωτόκολλα ή μορφές δεδομένων και καθιστούν πολύ εύκολη την ενσωμάτωση συσκευών USB και την αποστολή των δεδομένων τους σε άλλες απομακρυσμένες συσκευές. Για να ξεκινήσετε, ξεκινήστε με οποιαδήποτε έκδοση του Raspberry Pi. Σε αυτό το Instructable χρησιμοποίησα ένα Raspberry Pi zero και διαμόρφωσα τη σειριακή κονσόλα για να ελευθερώσω το UART χρησιμοποιώντας αυτό το Instructable.

Βήμα 3: Γράψτε ένα σενάριο Python για ανάγνωση τιμών ελεγκτή παιχνιδιών

Αυτό το κομμάτι κώδικα Python αντιδρά στα γεγονότα που ανέκυψαν από τον ελεγκτή παιχνιδιού και μεταδίδει την τιμή της εισόδου στο στοιχείο ελέγχου που ανέβασε το συμβάν. Αυτός ο κωδικός θα στείλει δεδομένα τόσο γρήγορα όσο ο ρυθμός baud που έχει οριστεί στα ραδιόφωνα XBee. Σε αυτό το παράδειγμα τα ραδιόφωνα έχουν οριστεί σε 57600 αλλά θα μπορούσαν να ρυθμιστούν στο υψηλότερο ρυθμό baud. Ο ελεγκτής παιχνιδιών είναι ένας ελεγκτής παιχνιδιών USB της Logitech. Ο κωδικός που χρησιμοποιείται είναι ο παρακάτω:

εισαγωγή pygame

σειρά εισαγωγής

sOut = ""

ser = serial. Serial {

θύρα = '/dev/ttyAMA0', baudrate = 57600, ισοτιμία = σειριακή. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = σειριακό. EIGHTBITS, χρονικό όριο = 1

}

pygame.init ()

έγινε = Λάθος

ενώ τελείωσε == false:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#ΕΚΤΕΛΕΣΤΙΚΗ ΕΠΕΞΕΡΓΑΣΙΑ

για εκδήλωση στο pygame.event.get ():

εάν event.type == pygame. JOYAXISMOTION:

sOut = "Άξονας:" + str (event.axis) + "; Τιμή:" + str (event.value)

εκτύπωση (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYHATMOTION:

sOut = "Καπέλο: + str (event.hat) +"; Τιμή: " + str (event.value)

εκτύπωση (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYBUTTONDOWN:

sOut = "Πλήκτρο προς τα κάτω:" + str (event.button)

εκτύπωση (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.button == 8:

εκτύπωση ("Διακοπή")

έγινε = Αλήθεια

if event.type == pygame. JOYBUTTONUP:

sOut = "Πλήκτρο επάνω:" + str (event.button)

εκτύπωση (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Βήμα 4: Συμπέρασμα

Η τελική έκδοση αυτού χρησιμοποιεί μια βοηθητική μπαταρία τηλεφώνου για να τροφοδοτήσει το Raspberry Pi, το οποίο τροφοδοτεί το χειριστήριο παιχνιδιών XBee και Logitech. Σε ένα μελλοντικό έργο θα προσθέσω ένα πλαστικό κάλυμμα με κενό που θα περικλείει τα Raspberry PI Zero, XBee Radio και τροφοδοτικό, όλα προσαρτημένα στο χειριστήριο του παιχνιδιού σε ένα ωραίο, προσεγμένο πακέτο. Αυτή η κατασκευή πομπού RC καθιστά πολύ εύκολη την αποστολή δεδομένων ελέγχου σε σχεδόν οτιδήποτε. Στην επόμενη κατασκευή μου θα στείλω τα δεδομένα σε ένα εξάποδο ρομπότ που διέσωσα από την καλή θέληση. Ελπίζω να βρείτε αυτό το διδακτικό χρήσιμο. Καλό κτίριο!

Βήμα 5: Συνδέστε το Raspberry Pi Zero στο XBee Radio

Συνδέστε το Raspberry Pi Zero στο XBee Radio
Συνδέστε το Raspberry Pi Zero στο XBee Radio

Όπως φαίνεται στο διάγραμμα, συνδέστε τον ακροδέκτη Pi GPIO 1 (3.3v) στον ακροδέκτη XBee 1. Συνδέστε τον ακροδέκτη Pi GPIO 6 (Gnd) στον ακροδέκτη XBee 10 και τον Pi GPIO Pin 8 (TX) στον ακροδέκτη XBee 3 (Din) Το Μπορείτε επίσης να χρησιμοποιήσετε έναν πίνακα διαρροής XBee ο οποίος θα απαιτήσει από εσάς να συνδέσετε τον ακροδέκτη Pi GPIO 2 (5v) με τον πείρο 5v στον πίνακα διαρροής

Συνιστάται: