Სარჩევი:

Raspberry Pi + Xbee RC გადამცემი: 5 ნაბიჯი
Raspberry Pi + Xbee RC გადამცემი: 5 ნაბიჯი

ვიდეო: Raspberry Pi + Xbee RC გადამცემი: 5 ნაბიჯი

ვიდეო: Raspberry Pi + Xbee RC გადამცემი: 5 ნაბიჯი
ვიდეო: Custom Xbee remote with Raspberry Pi 2024, ივლისი
Anonim
ჟოლო Pi + Xbee RC გადამცემი
ჟოლო Pi + Xbee RC გადამცემი

ეს ინსტრუქცია გაჩვენებთ რა გავაკეთე ჩემი Raspberry Pi Zero + Xbee RC გადამცემის შესაქმნელად

ნაბიჯი 1: ჟოლოს PI და Xbee RC გადამცემი

ნაბიჯი 2: Raspberry Pi UART- ის კონფიგურაცია

Ჰეი მანდ!

Raspberry Pi (ყველა ვარიაცია) უკიდურესად მრავალმხრივია და ახლა არის ეკოსისტემის ქვაკუთხედი მრავალი ადვილად შესაკრავი დანამატისა, რაც ამ მოწყობილობებს მართლაც მოსახერხებელს ხდის. სამწუხაროდ, ერთი რამ, რაც Raspberry Pi აკლია (ამჟამად) არის ბრეაკოუტ დაფა ან ანაზღაურებადი GPIO ინტერფეისი XBee (ZigBee) რადიოებისთვის. XBee მოწყობილობები შესანიშნავი საშუალებაა ყველა სახის მოწყობილობას შორის კომუნიკაციისთვის, ბევრი პროტოკოლისა და მონაცემების ფორმატის გარეშე და აადვილებს USB მოწყობილობების ინტეგრირებას და მათი მონაცემების სხვა დისტანციურ მოწყობილობებში გაგზავნას. დასაწყისისთვის, დაიწყეთ Raspberry Pi– ს ნებისმიერი ვერსიით. ამ ინსტრუქციებში მე გამოვიყენე Raspberry Pi ნულოვანი და დავაკონფიგურირე სერიული კონსოლი, რომ გათავისუფლდეს UART ამ ინსტრუქციის გამოყენებით.

ნაბიჯი 3: დაწერეთ პითონის სკრიპტი თამაშის კონტროლერის ღირებულებების წასაკითხად

პითონის კოდის ეს ნაწილი რეაგირებს თამაშის კონტროლერის მიერ წამოჭრილ მოვლენებზე და გადასცემს შეყვანის მნიშვნელობას იმ კონტროლზე, რომელმაც გამოიწვია მოვლენა. ეს კოდი აგზავნის მონაცემებს ისევე სწრაფად, როგორც ბოდის სიჩქარე დადგენილია XBee რადიოებში. ამ მაგალითში რადიოები დაყენებულია 57600 -ზე, მაგრამ შესაძლებელია მათი ყველაზე მაღალი ბადის სიჩქარეზე დაყენება. თამაშის კონტროლერი არის Logitech USB თამაშის კონტროლერი. კოდი გამოიყენება ქვემოთ:

პიგამეტის იმპორტი

სერიული იმპორტი

sOut = ""

სერია = სერიული. სერიული {

პორტი = '/dev/ttyAMA0', ბაუტრატი = 57600, პარიტეტი = სერიული. PARITY_NONE, stopbits = სერიული. STOPBITS_ONE, bytesize = სერიული. EIGHTBITS, დროის გასვლა = 1

}

pygame.init ()

შესრულებულია = მცდარი

შესრულებისას == ყალბი:

ჯოისტიკი = pygame.joystick.joystick (0)

joystick.init ()

#EVENT დამუშავება

ღონისძიებისთვის pygame.event.get ():

if event.type == pygame. JOYAXISMOTION:

sOut = "Axis:" + 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)

დაბეჭდვა (გარეთ)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.type == pygame. JOYBUTTONDOWN:

sOut = "ღილაკი ქვემოთ:" + სტრიქონი (event.button)

დაბეჭდვა (sOut)

ser.write (sOut)

ser.flush ()

sOut = ""

if event.button == 8:

ბეჭდვა ("დატოვება")

შესრულებულია = მართალია

if event.type == pygame. JOYBUTTONUP:

sOut = "ღილაკი ზემოთ:" + str (event.button)

დაბეჭდვა (გარეთ)

ser.write (sOut)

ser.flush ()

sOut = ""

ser. დახურვა ()

pygame.quit ()

ნაბიჯი 4: დასკვნა

მისი საბოლოო მშენებლობა იყენებს დამხმარე ტელეფონის ბატარეას Raspberry Pi- ს დასაყენებლად, რომელიც აძლიერებს XBee და Logitech თამაშის კონტროლერს. მომავალ პროექტში მე დავამატებ ვაკუუმში ჩამოყალიბებულ პლასტმასის საფარს, რომელიც მოიცავს Raspberry PI Zero- ს, XBee რადიოს და კვების ბლოკს, ყველაფერი მიმაგრებულია თამაშის კონტროლერზე ერთ ლამაზ, სისუფთავე პაკეტში. ეს RC გადამცემების აგებულება ძალიან აადვილებს საკონტროლო მონაცემების გაგზავნას თითქმის არაფერზე. ჩემს მომავალ აღნაგობაში მე გავაგზავნი მონაცემებს ექვსკუთხა რობოტს, რომელიც მე გადავარჩინე გუდვილიდან. ვიმედოვნებთ, რომ ეს გასაგები დაგეხმარებათ. ბედნიერი შენობა!

ნაბიჯი 5: მიაბით Raspberry Pi Zero XBee რადიოს

დააკავშირეთ Raspberry Pi Zero XBee რადიოში
დააკავშირეთ Raspberry Pi Zero XBee რადიოში

როგორც დიაგრამაზეა ნაჩვენები, დააკავშირეთ Pi GPIO pin 1 (3.3v) XBee pin 1. დააკავშირეთ Pi GPIO pin 6 (Gnd) XBee pin 10 -თან და Pi GPIO Pin 8 (TX) XBee pin 3 (Din) რა თქვენ ასევე შეგიძლიათ გამოიყენოთ XBee გარღვევის დაფა, რომელიც მოითხოვს თქვენ დააკავშიროთ Pi GPIO pin 2 (5v) 5v პინთან გარღვევის დაფაზე

გირჩევთ: