Სარჩევი:
- ნაბიჯი 1: რაც გჭირდებათ
- ნაბიჯი 2: პლანეტარული კოორდინატები
- ნაბიჯი 3: წვდომა პლანეტის მონაცემებზე
- ნაბიჯი 4: კოდი
- ნაბიჯი 5: აპარატურის დაკავშირება
- ნაბიჯი 6: საქმის დიზაინი
- ნაბიჯი 7: ბეჭდვის ტესტირება
- ნაბიჯი 8: სტეპერი ძრავის გაფართოება
- ნაბიჯი 9: დააინსტალირეთ ღილაკები და LCD ეკრანი
- ნაბიჯი 10: ფლანგების დამატება
- ნაბიჯი 11: გაუშვით გაშვებისას
- ნაბიჯი 12: მიამაგრეთ ეს ყველაფერი ერთად
- ნაბიჯი 13: გამოყენება
- ნაბიჯი 14: დასრულდა
ვიდეო: Raspberry Pi Planet Finder: 14 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ჩემს ქალაქში სამეცნიერო ცენტრის გარეთ არის დიდი ლითონის კონსტრუქცია, რომელიც შეიძლება მოტრიალდეს და მიუთითოს პლანეტების ცაზე. მე არასოდეს მინახავს ის მუშაობდა, მაგრამ მე ყოველთვის ვფიქრობდი, რომ ჯადოსნური იქნებოდა იმის ცოდნა, თუ სად იყო ეს მიუწვდომელი სხვა სამყაროები ჩემს პაწაწინა მე -სთან მიმართებაში.
როდესაც ამ დიდი ხნის წინ გარდაცვლილი გამოფენის გვერდით გავიარე, ვფიქრობდი, რომ "მე დავასრულებ ამის გაკეთებას" და ასეც მოვიქეცი!
ეს არის სახელმძღვანელო იმის შესახებ, თუ როგორ უნდა შექმნათ პლანეტების მაძიებელი (მთვარის ჩათვლით), ასე რომ თქვენც შეგიძლიათ იცოდეთ სად უნდა გამოიყურებოდეთ, როდესაც კოსმოსით გატაცებული ხართ.
ნაბიჯი 1: რაც გჭირდებათ
1 x Raspberry Pi (ვერსია 3 ან უფრო მაღალი საბორტო wifi– სთვის)
1 x LCD ეკრანი (16 x 2) (მსგავსი)
2 x სტეპერიანი ძრავა დრაივერებით (28-BYJ48) (მსგავსი)
3 x ღილაკი (მსგავსი)
2 x Flange Couplers (მსგავსი)
1 x ღილაკი კომპასი (ასე)
8 x M3 ჭანჭიკები და თხილი
3D ბეჭდვის ნაწილები საქმისა და ტელესკოპისთვის
ნაბიჯი 2: პლანეტარული კოორდინატები
არსებობს რამდენიმე განსხვავებული გზა იმის აღსაწერად, თუ სად არის ასტრონომიული ობიექტები ცაში.
ჩვენთვის ის, რაც ყველაზე მეტად გონივრულია გამოვიყენოთ არის ჰორიზონტალური საკოორდინაციო სისტემა, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. ეს სურათი არის ვიკიპედიის გვერდიდან, რომელიც აქ არის დაკავშირებული:
en.wikipedia.org/wiki/Horizontal_coordinat…
ჰორიზონტალური საკოორდინატო სისტემა გაძლევთ კუთხეს ჩრდილოეთიდან (აზიმუტი) და ზემოთ ჰორიზონტიდან (სიმაღლე), ასე რომ, ის განსხვავდება იმისდა მიხედვით, თუ საიდან უყურებთ მსოფლიოში. ასე რომ, ჩვენმა პლანეტათა მაძიებელმა უნდა გაითვალისწინოს მდებარეობა და ჰქონდეს რაიმე გზა ჩრდილოეთის საპოვნელად.
იმის ნაცვლად, რომ შევეცადოთ გამოვთვალოთ სიმაღლე და აზიმუტი, რომლებიც იცვლება დროისა და ადგილმდებარეობის მიხედვით, ჩვენ ვიყენებთ wifi კავშირს Raspberry Pi– ს ბორტზე, რომ ნახოთ NASA– ს ეს მონაცემები. ისინი თვალყურს ადევნებენ ამ სახის ნივთებს, ასე რომ ჩვენ არ გვჭირდება;)
ნაბიჯი 3: წვდომა პლანეტის მონაცემებზე
ჩვენ ვიღებთ ჩვენს მონაცემებს ნასას რეაქტიული ძრავის ლაბორატორიიდან (JPL) -
ამ მონაცემებზე წვდომისთვის ჩვენ ვიყენებთ ბიბლიოთეკას სახელწოდებით AstroQuery, რომელიც არის ასტრონომიული ვებ ფორმებისა და მონაცემთა ბაზების გამოკითხვის ინსტრუმენტების ნაკრები. ამ ბიბლიოთეკის დოკუმენტაცია მოცემულია აქ:
თუ ეს თქვენი პირველი Raspberry Pi პროექტია, დაიწყეთ ამ სახელმძღვანელოს მითითებით:
თუ თქვენ იყენებთ Raspbian– ს თქვენს Raspberry Pi– ზე (თქვენ იქნებით თუ მიჰყვებით ზემოთ მოცემულ სახელმძღვანელოს), მაშინ თქვენ უკვე გაქვთ python3 დაინსტალირებული, დარწმუნდით, რომ დაინსტალირებული გაქვთ უახლესი ვერსია (მე ვიყენებ ვერსიას 3.7.3). ჩვენ უნდა გამოვიყენოთ ეს პიპის მისაღებად. გახსენით ტერმინალი და ჩაწერეთ შემდეგი:
sudo apt დააინსტალირეთ python3-pip
ჩვენ შეგვიძლია გამოვიყენოთ პიპი ასტროქერიის განახლებული ვერსიის დასაყენებლად.
pip3 install -prep -განაახლეთ astroquery
სანამ ამ პროექტის დანარჩენ ნაწილს გააგრძელებ, სცადე ამ მონაცემებზე წვდომა პითონის მარტივი სკრიპტით, რათა დარწმუნდე, რომ ყველა სწორი დამოკიდებულება სწორად არის დაინსტალირებული.
საწყისი astroquery.jplhorizons იმპორტი ჰორიზონტები
mars = Horizons (id = 499, მდებარეობა = '000', ეპოქები = არცერთი, id_type = 'majorbody') eph = mars.ephemerides () print (eph)
ეს უნდა გაჩვენოთ მარსის ადგილმდებარეობის დეტალები!
თქვენ შეგიძლიათ შეამოწმოთ რამდენად სწორია ეს მონაცემები ამ საიტის გამოყენებით პლანეტის ცოცხალი პოზიციების მოსაძებნად:
ამ კითხვის ოდნავ შესამცირებლად, id არის რიცხვი, რომელიც დაკავშირებულია მარსთან JPL– ის მონაცემებში, ეპოქები არის დრო, როდესაც ჩვენ გვინდა მონაცემები (არცერთი არ ნიშნავს ახლა) და id_type ითხოვს მზის სისტემის ძირითად ორგანოებს. ადგილმდებარეობა ამჟამად გაერთიანებულ სამეფოში არის მითითებული, როგორც '000' არის გრინვიჩის ობსერვატორიის ადგილმდებარეობის კოდი. სხვა ადგილები შეგიძლიათ იხილოთ აქ:
Დიაგნოსტიკა:
თუ თქვენ მიიღებთ შეცდომას: არ არსებობს მოდული სახელწოდებით 'keyring.util.escape'
სცადეთ შემდეგი ბრძანება ტერმინალში:
pip3 install -განაახლეთ keyrings.alt
ნაბიჯი 4: კოდი
ამ ნაბიჯს ერთვის ამ პროექტში გამოყენებული პითონის სრული სკრიპტი.
თქვენი მდებარეობის სწორი მონაცემების საპოვნელად, გადადით ფუნქცია getPlanetInfo და შეცვალეთ მდებარეობა წინა ობსერვატორიების სიის გამოყენებით.
def getPlanetInfo (პლანეტა):
obj = Horizons (id = პლანეტა, მდებარეობა = '000', ეპოქები = არცერთი, id_type = 'majorbody') eph = obj.ephemerides () eph
ნაბიჯი 5: აპარატურის დაკავშირება
პურის დაფებისა და ჯუმბერის მავთულის გამოყენებით შეაერთეთ ორი სტეპერიანი ძრავა, LCD ეკრანი და სამი ღილაკი, როგორც ეს ნაჩვენებია სქემის ზემოთ.
იმის გასარკვევად, თუ რა რაოდენობის ქინძისთავებია თქვენს Raspberry Pi– ზე, გადადით ტერმინალში და აკრიფეთ
პინოუტი
ეს უნდა აჩვენებ სურათს ზემოთ, სრული GPIO ნომრებით და დაფის ნომრებით. ჩვენ ვიყენებთ დაფის ნომრებს, რათა განვსაზღვროთ რომელი ქინძისთავები გამოიყენება კოდში, ამიტომ მე მივუთითებ რიცხვებს ფრჩხილებში.
წრიული დიაგრამის დასახმარებლად, აქ არის ქინძისთავები, რომლებიც დაკავშირებულია თითოეულ ნაწილთან:
პირველი სტეპერიანი ძრავა - 7, 11, 13, 15
მე -2 სტეპერიანი ძრავა - 40, 38, 36, 32
ღილაკი 1 - 33
ღილაკი 2 - 37
ღილაკი 3 - 35
LCD ეკრანი - 26, 24, 22, 18, 16, 12
როდესაც ეს ყველაფერი დაკავშირებულია, გაუშვით პითონის სკრიპტი
python3 planetFinder.py
და თქვენ უნდა ნახოთ ეკრანის ჩვენების დაყენების ტექსტი და ღილაკებმა უნდა გადაადგილდეს სტეპერიანი ძრავები.
ნაბიჯი 6: საქმის დიზაინი
კორპუსი შეიქმნა 3D ბეჭდვისთვის მარტივად. ის იშლება ცალკეულ ნაწილებად, რომლებიც შემდეგ გაერთიანებულია მას შემდეგ, რაც ელექტრონიკა უზრუნველყოფილია ადგილზე.
ხვრელები ზომაა ჩემს მიერ გამოსაყენებელ ღილაკებზე და M3 ჭანჭიკებზე.
მე დავბეჭდე ტელესკოპი ნაწილებად და დავაწებე ისინი მოგვიანებით, რათა თავიდან ავიცილოთ ზედმეტი დამხმარე სტრუქტურა.
STL ფაილები თან ერთვის ამ ნაბიჯს.
ნაბიჯი 7: ბეჭდვის ტესტირება
მას შემდეგ, რაც ყველაფერი დაიბეჭდება, დარწმუნდით, რომ ყველაფერი ერთმანეთთან მჭიდროდ ჯდება, სანამ რაიმე წებოს გაკეთდება.
მოათავსეთ ღილაკები ადგილზე და დააფიქსირეთ ეკრანი და სტეპერიანი ძრავები M3 ჭანჭიკებით და მიეცით ყველაფერს კარგი მოძრაობა. ნებისმიერი უხეში კიდეების ამოღება, ყველაფერი კვლავ განადგურებულია მომდევნო ნაბიჯამდე.
ნაბიჯი 8: სტეპერი ძრავის გაფართოება
სტეპერიანი ძრავა, რომელიც გააკონტროლებს ტელესკოპის სიმაღლის კუთხეს, იჯდება მთავარ კორპუსზე და საჭიროებს მავთულხლართებს მობრუნების მიზნით. მავთულები უნდა გაფართოვდეს სტეპერსა და დრაივერის დაფას შორის გაჭრით და მათ შორის ახალი სიგრძის მავთულხლართებით.
მე ახალი მავთული შევიყვანე დამხმარე კოშკში ძაფის გამოყენებით, რათა დამეხმარებინა მისი გამყარება, რადგან მავთული, რომელსაც მე ვიყენებ, საკმაოდ მტკიცეა და ინახება. მისი გავლის შემდეგ შესაძლებელია მისი გადატანა სტეპერ ძრავაზე და დარწმუნდით, რომ თვალყურს ადევნებთ რომელ ფერს უკავშირდება, რათა მეორე ბოლოში შეაერთოთ სწორი. ნუ დაგავიწყდებათ, რომ დაამატოთ სითბოს შემცირება მავთულხლართებს!
მას შემდეგ რაც შედუღდება, გაუშვით პითონის სკრიპტი, რომ შეამოწმოთ ყველაფერი ჯერ კიდევ მუშაობს, შემდეგ მიაბრუნეთ მავთულები ქვემოთ მილში, სანამ სტეპერიანი ძრავა არ დადგება. შემდეგ ის შეიძლება მიმაგრდეს სტეპერიანი ძრავის კორპუსზე M3 ჭანჭიკებითა და თხილით, სანამ კორპუსის უკანა ნაწილი წებოვდება.
ნაბიჯი 9: დააინსტალირეთ ღილაკები და LCD ეკრანი
ჩადეთ ღილაკები და გამკაცრეთ თხილი, რომ შედუღებამდე დაიჭიროთ. მე მიყვარს საერთო მიწის მავთულის გამოყენება, რომელიც მათ შორის სისუფთავეა.
დაიცავით LCD ეკრანი M3 ჭანჭიკებითა და თხილით. LCD- ს სურს პოტენომეტრი ერთი მის ქინძისთავზე, რომელიც მეც ამ ეტაპზე გავამახვილე.
კიდევ ერთხელ შეამოწმე კოდი! დარწმუნდით, რომ ყველაფერი ჯერ კიდევ მუშაობს, სანამ ყველაფერს ერთმანეთთან შევაერთებთ, რადგან ამ ეტაპზე გამოსწორება გაცილებით ადვილია.
ნაბიჯი 10: ფლანგების დამატება
3D დაბეჭდილი ნაწილების სტეპერ ძრავებთან დასაკავშირებლად, ჩვენ ვიყენებთ 5 მმ ფლანგის შეერთებას, რომელიც მოთავსებულია სტეპერი ძრავის ბოლოში და ინახება პატარა ხრახნებით.
ერთი მილსადენი მიმაგრებულია მბრუნავი კოშკის ფუძეზე, მეორე კი ტელესკოპზე.
მბრუნავი კოშკის თავზე ძრავაზე ტელესკოპის მიმაგრება მარტივია, რადგან ბევრი ადგილია წვრილი ხრახნებისთვის მის შესანახად. მეორე ფლანგის დაცვა უფრო ძნელია, მაგრამ მთავარ კორპუსსა და მბრუნავი კოშკის ფუძეს შორის არის საკმარისი უფსკრული, რომ მოთავსდეს პატარა ალენის გასაღები და გამკაცრდეს ხრახნი.
კიდევ ერთხელ გამოსცადე!
ახლა ყველაფერი უნდა მუშაობდეს ისე, როგორც იქნება თავის საბოლოო მდგომარეობაში. თუ ეს ასე არ არის, ახლა დროა შეცვალოთ შეცდომები და დარწმუნდეთ, რომ ყველა კავშირი უსაფრთხოა. დარწმუნდით, რომ დაუცველი მავთულები არ ეხებიან ერთმანეთს, შემოიარეთ ელექტრო ლენტით და დააფიქსირეთ ნებისმიერი ადგილი, რამაც შეიძლება გამოიწვიოს პრობლემა.
ნაბიჯი 11: გაუშვით გაშვებისას
იმის ნაცვლად, რომ კოდის ხელით გავუშვათ ყოველ ჯერზე, როდესაც ჩვენ გვსურს პლანეტის პოვნა, ჩვენ გვსურს, რომ ის გამოვიდეს როგორც ცალკეული გამოფენა, ამიტომ ჩვენ ვაპირებთ შევქმნათ იგი ჩვენი კოდის გასაშვებად, როდესაც Raspberry Pi ჩართულია.
ტერმინალში, ჩაწერეთ
crontab -e
გახსნილ ფაილში დაამატეთ შემდეგი ფაილის ბოლოს, რასაც მოჰყვება ახალი ხაზი.
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
მე მაქვს ჩემი კოდი შენახული საქაღალდეში სახელწოდებით PlanetFinder, ამიტომ /home/pi/PlanetFinder/planetFinder.py არის ჩემი ფაილის მდებარეობა. თუ თქვენი შენახულია სხვაგან, დარწმუნდით, რომ შეცვალეთ იგი აქ.
& ბოლოს მნიშვნელოვანია, რადგან ის საშუალებას აძლევს კოდს გაუშვას ფონზე, ასე რომ არ აჩერებს სხვა პროცესებს რაც ასევე ხდება ჩატვირთვისას.
ნაბიჯი 12: მიამაგრეთ ეს ყველაფერი ერთად
ყველაფერი, რაც უკვე არ არის დამაგრებული ადგილზე, ახლა უნდა დაფიქსირდეს.
დაბოლოს, დაამატეთ პაწაწინა კომპასი მბრუნავი ფუძის შუაში.
ნაბიჯი 13: გამოყენება
როდესაც Planet Finder ჩართულია, ის მომხმარებელს მოუწოდებს შეცვალოს ვერტიკალური ღერძი. ზევით და ქვემოთ ღილაკების დაჭერით გადაადგილდება ტელესკოპი, შეეცადეთ ის იყოს თანაბარი, მიუთითეთ მარჯვნივ, შემდეგ დააჭირეთ ღილაკს კარგი (ბოლოში).
შემდეგ მომხმარებელს მოეთხოვება შეცვალოს ბრუნვა, გამოიყენოს ღილაკები ტელესკოპის დასატრიალებლად, სანამ ის პატარა კომპასის მიხედვით ჩრდილოეთისკენ არ მიუთითებს, შემდეგ დააჭირეთ OK.
ახლა თქვენ შეგიძლიათ იმოძრაოთ პლანეტებზე ზემოთ/ქვემოთ ღილაკების გამოყენებით და შეარჩიოთ ის, რომლის პოვნა გსურთ ok ღილაკით. ის აჩვენებს პლანეტის სიმაღლესა და აზიმუთს, შემდეგ წავა და მიუთითებს მასზე რამდენიმე წამის განმავლობაში, სანამ ჩრდილოეთისკენ არ დაიხევს.
ნაბიჯი 14: დასრულდა
Ყველაფერი შესრულებულია!
ისიამოვნეთ იმის ცოდნით, თუ სად არის ყველა პლანეტა:)
პირველი პრიზი კოსმოსურ გამოწვევაში
გირჩევთ:
IoT Keychain Finder ESP8266-01 გამოყენებით: 11 ნაბიჯი (სურათებით)
IoT Keychain Finder ESP8266-01– ის გამოყენებით: თქვენ ჩემნაირი ყოველთვის ივიწყებთ სად ინახავთ გასაღებებს? მე ვერასდროს ვიპოვი ჩემს გასაღებებს დროულად! და ჩემი ამ ჩვევის გამო, მე დავაგვიანე ჩემს კოლეჯში, ვარსკვლავური ომების შეზღუდული გამოშვების გაყიდვა (ჯერ კიდევ ვღელავ!), თარიღი (მან არასოდეს აირჩია
Apple TV Siri დისტანციური მყარი ყუთი Bluetooth Tile Finder– ით: 7 ნაბიჯი (სურათებით)
Apple TV Siri დისტანციური მყარი ყუთი Bluetooth Tile Finder: მე ერთხელ წავიკითხე iPhone– ის აღწერა, როგორც ზეთით გაჟღენთილი კარაქის ჯოხი და კარგად შეზეთილი WD40! &Quot; მე ვფიქრობ, რომ ეს მაშინ იყო, როდესაც მოდელი 6 გამოვიდა და ყველამ ჩამოაგდო თავისი ძვირადღირებული ახალი ტელეფონები და დაამსხვრია მინა
Ev3 Lego Gripper/Finder Robot: 7 ნაბიჯი
Ev3 Lego Gripper/Finder Robot: გამარჯობა! GrabBot არის მრავალფუნქციური რობოტი, რომელსაც უყვარს ტრიალი … როდესაც ის პატარა ობიექტს წააწყდება, ის აიყვანს მას და უბრუნებს საწყის მდგომარეობას
Digital Stud Finder: 6 ნაბიჯი (სურათებით)
ციფრული Stud Finder: Stud Finders არის მარტივი კონცეფცია. ორი ტევადობის სენსორი: ერთი აგზავნის პულსის ტალღას მეორე იღებს და ზომავს ძაბვის შემცირებას მასალაზე ორ ფირფიტას შორის. ამ დიზაინის წინსვლის მცდელობისას ეს პროექტი შეიქმნა
Pier 9: Smart Bone Fetch Finder ™: 4 ნაბიჯი (სურათებით)
Pier 9: Smart Bone Fetch Finder ™: The Smart Bone Fetch Finder ™, პირველად შეიქმნა 2027 წელს, აძლევს ძაღლებს უფლებას აიღონ კონტროლი იმაზე, თუ ვისთან არიან საუკეთესო მეგობრები. მომავალში, ძაღლები მიუახლოვდებიან ხალხს პარკებში და შემოგვთავაზებენ თამაშს, როგორც სერვისი. პირველი ჩამოტანა უფასოა