Isi kandungan:

Pencari Planet Raspberry Pi: 14 Langkah (dengan Gambar)
Pencari Planet Raspberry Pi: 14 Langkah (dengan Gambar)

Video: Pencari Planet Raspberry Pi: 14 Langkah (dengan Gambar)

Video: Pencari Planet Raspberry Pi: 14 Langkah (dengan Gambar)
Video: Raspberry Pi High Quality Camera Getting Started Guide - First Pictures and Videos 2024, Julai
Anonim
Image
Image
Apa yang kamu perlu
Apa yang kamu perlu

Di luar Pusat Sains di bandar saya ada struktur logam besar yang dapat berpusing dan menunjuk ke mana planet berada di langit. Saya tidak pernah melihatnya berfungsi, tetapi saya selalu berfikir bahawa akan ajaib untuk mengetahui di mana dunia-dunia lain yang tidak terjangkau ini sebenarnya berkaitan dengan diri kecil saya.

Semasa saya berjalan melewati pameran yang sudah lama mati ini, saya berfikir "Saya yakin saya boleh membuatnya" dan begitu juga!

Ini adalah panduan bagaimana membuat Planet Finder (menampilkan Bulan) sehingga anda juga dapat mengetahui di mana mencarinya ketika anda merasa kagum dengan ruang.

Langkah 1: Apa yang Anda Perlu

Apa yang kamu perlu
Apa yang kamu perlu

1 x Raspberry Pi (versi 3 atau lebih tinggi untuk wifi onboard)

1 x skrin LCD (16 x 2) (seperti ini)

2 x motor Stepper dengan pemandu (28-BYJ48) (seperti ini)

3 x Tombol Tekan (seperti ini)

2 x Flange Coupler (seperti ini)

1 x Kompas butang (seperti ini)

8 x M3 bolt dan mur

Bahagian bercetak 3D untuk casing dan teleskop

Langkah 2: Koordinat Planet

Koordinat Planet
Koordinat Planet

Terdapat beberapa cara yang berbeza untuk menggambarkan di mana objek astronomi berada di langit.

Bagi kami, yang paling masuk akal untuk digunakan adalah Sistem Koordinat Mendatar seperti yang ditunjukkan dalam gambar di atas. Gambar ini berasal dari laman Wikipedia yang dihubungkan di sini:

en.wikipedia.org/wiki/Horizontal_coordinat…

Sistem Koordinat Mendatar memberi anda sudut dari Utara (Azimuth) dan ke atas dari cakrawala (Ketinggian), jadi ia berbeza bergantung dari tempat anda mencari di dunia. Oleh itu, pencari planet kita perlu mengambil kira lokasi dan mempunyai beberapa cara untuk mencari Utara sebagai rujukan.

Daripada cuba mengira Ketinggian dan Azimuth yang berubah dengan masa dan lokasi, kami akan menggunakan sambungan wifi di Raspberry Pi untuk mencari data ini dari NASA. Mereka menjejaki perkara seperti ini sehingga kita tidak perlu;)

Langkah 3: Mengakses Data Planet

Kami mendapatkan data kami dari Makmal Penggerak Jet NASA (JPL) -

Untuk mengakses data ini, kami menggunakan perpustakaan yang disebut AstroQuery yang merupakan sekumpulan alat untuk menanyakan bentuk dan pangkalan data astronomi. Dokumentasi untuk perpustakaan ini terdapat di sini:

Sekiranya ini adalah projek Raspberry Pi pertama anda, mulakan dengan mengikuti panduan penyediaan ini:

Sekiranya anda menggunakan Raspbian pada Raspberry Pi anda (anda akan mengikuti panduan di atas), maka anda sudah memasang python3, pastikan anda memasang versi terbaru (saya menggunakan versi 3.7.3). Kita perlu menggunakan ini untuk mendapatkan maklumat. Buka terminal dan taipkan yang berikut:

sudo apt pasang python3-pip

Kita kemudian boleh menggunakan pip untuk memasang versi astroquery yang ditingkatkan.

memasang pip3 --pre --tingkatkan astroquery

Sebelum meneruskan keseluruhan projek ini, cubalah mengakses data ini dengan skrip Python sederhana untuk memastikan semua pergantungan yang betul telah dipasang dengan betul.

dari astroquery.jplhorizons import Horizons

mars = Horizons (id = 499, lokasi = '000', zaman = Tiada, id_type = 'majorbody') eph = mars.ephemerides () cetak (eph)

Ini akan menunjukkan kepada anda perincian lokasi Mars!

Anda boleh memeriksa untuk mengetahui apakah data ini betul menggunakan laman web ini untuk mencari kedudukan planet hidup:

Untuk memecahkan pertanyaan ini sedikit, id adalah nombor yang berkaitan dengan Mars dalam data JPL, zaman adalah masa yang kita mahukan dari data (Tiada bermaksud sekarang) dan id_type meminta badan utama sistem suria. Lokasi kini ditetapkan ke UK sebagai '000' adalah kod lokasi untuk balai cerap di Greenwich. Lokasi lain boleh didapati di sini:

Penyelesaian masalah:

Sekiranya anda mendapat ralat: Tidak ada modul bernama 'keyring.util.escape'

cuba arahan berikut di terminal:

pasang pip3 - tingkatkan keyrings.alt

Langkah 4: Kod

Terlampir pada langkah ini adalah skrip python penuh yang digunakan dalam projek ini.

Untuk mencari data yang betul untuk lokasi anda, pergi ke fungsi getPlanetInfo dan ubah lokasi menggunakan senarai pemerhatian pada langkah sebelumnya.

def getPlanetInfo (planet):

obj = Horizons (id = planet, lokasi = '000', zaman = Tiada, id_type = 'majorbody') eph = obj.ephemerides () return eph

Langkah 5: Menyambungkan Perkakasan

Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan
Menyambungkan Perkakasan

Dengan menggunakan papan roti dan kabel jumper, sambungkan dua motor stepper, skrin LCD dan tiga butang seperti yang ditunjukkan dalam rajah litar di atas.

Untuk mengetahui nombor pin pada Raspberry Pi anda, pergi ke terminal dan taip

mencubit

Ini akan menunjukkan kepada anda gambar di atas lengkap dengan nombor GPIO dan nombor papan. Kami menggunakan nombor papan untuk menentukan pin yang digunakan dalam kod, jadi saya akan merujuk nombor dalam tanda kurung.

Sebagai bantuan kepada gambarajah litar, berikut adalah pin yang disambungkan ke setiap bahagian:

Motor Stepper Pertama - 7, 11, 13, 15

Motor Stepper ke-2 - 40, 38, 36, 32

Butang1 - 33

Butang2 - 37

Butang3 - 35

Skrin LCD - 26, 24, 22, 18, 16, 12

Apabila semua ini bersambung, jalankan skrip python

python3 planetFinder.py

dan anda akan melihat teks persediaan tayangan skrin dan butang harus menggerakkan motor stepper.

Langkah 6: Merangka Kes

Merangka Kes
Merangka Kes
Merangka Kes
Merangka Kes
Merangka Kes
Merangka Kes

Sarung ini dirancang untuk dicetak 3D dengan mudah. Ia terpecah menjadi bahagian yang terpisah yang kemudian dilekatkan bersama setelah elektronik terpasang di tempatnya.

Lubang bersaiz untuk butang yang saya gunakan dan selak M3.

Saya mencetak teleskop beberapa bahagian dan melekatkannya kemudian untuk mengelakkan struktur sokongan yang terlalu banyak.

Fail STL dilampirkan pada langkah ini.

Langkah 7: Menguji Cetakan

Menguji Cetakan
Menguji Cetakan
Menguji Cetakan
Menguji Cetakan
Menguji Cetakan
Menguji Cetakan
Menguji Cetakan
Menguji Cetakan

Setelah semuanya dicetak, pastikan semuanya sesuai dengan baik sebelum pelekat selesai.

Pasang butang di tempatnya dan selamatkan motor skrin dan stepper dengan selak M3 dan berikan segalanya yang baik. Failkan bahagian tepi yang kasar sehingga semuanya terpisah sebelum langkah seterusnya.

Langkah 8: Memanjangkan Motor Stepper

Memanjangkan Motor Stepper
Memanjangkan Motor Stepper
Memanjangkan Motor Stepper
Memanjangkan Motor Stepper
Memanjangkan Motor Stepper
Memanjangkan Motor Stepper

Motor stepper yang akan mengawal sudut ketinggian teleskop akan duduk di atas casing utama dan memerlukan sedikit kendur pada wayar untuk berputar. Kawat perlu dipanjangkan dengan memotongnya di antara papan pemacu dan papan pemacu dan memateri wayar panjang baru di antara.

Saya memasukkan wayar baru ke menara penyokong menggunakan sehelai benang untuk membujuknya kerana wayar yang saya gunakan cukup kaku dan terus tersekat. Setelah melalui itu dapat disolder ke motor stepper, pastikan untuk mengetahui warna mana yang disambungkan untuk memasang kembali yang tepat di ujung yang lain. Jangan lupa untuk menambahkan pengecutan haba pada wayar!

Setelah disolder, jalankan skrip python untuk memastikan semuanya masih berfungsi, kemudian tekan wayar kembali ke bawah tiub sehingga motor stepper berada dalam kedudukan. Ia kemudian boleh dipasang pada perumahan motor stepper dengan baut dan mur M3 sebelum bahagian belakang perumahan terpaku di tempatnya.

Langkah 9: Pasang Butang dan Skrin LCD

Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD
Tombol Pemasangan dan Skrin LCD

Masukkan butang dan ketatkan kacang untuk menahannya sebelum terpateri. Saya suka menggunakan wayar tanah biasa yang terpasang di antara mereka untuk kemas.

Amankan skrin LCD dengan baut dan mur M3. LCD mahu potensiometer pada salah satu pinnya yang juga saya solder pada tahap ini.

Uji kod sekali lagi! Pastikan semuanya masih berfungsi sebelum kita merekatkan semuanya kerana jauh lebih mudah untuk diperbaiki pada peringkat ini.

Langkah 10: Menambah bebibir

Menambah bebibir
Menambah bebibir
Menambah bebibir
Menambah bebibir
Menambah bebibir
Menambah bebibir
Menambah bebibir
Menambah bebibir

Untuk menyambungkan bahagian-bahagian yang dicetak 3D ke motor stepper, kami menggunakan gandingan flange 5mm yang sesuai di atas hujung motor stepper dan dipegang di tempatnya oleh skru kecil.

Satu bebibir dilekatkan ke dasar menara berputar dan yang lain ke teleskop.

Memasang teleskop ke motor di atas menara berputar adalah mudah kerana terdapat banyak ruang untuk mengakses skru kecil yang menahannya di tempatnya. Flensa yang lain lebih sukar dilindungi, tetapi terdapat cukup jurang antara casing utama dan pangkal menara berputar untuk memasang kunci allen kecil dan mengetatkan skru.

Uji lagi!

Sekarang semuanya mesti berjalan seperti dalam keadaan akhir. Sekiranya tidak, sekarang adalah masa untuk memperbaiki pepijat dan memastikan sambungan semua selamat. Pastikan wayar yang terkena tidak bersentuhan satu sama lain, putar dengan pita elektrik dan pasangkan mana-mana tempat yang boleh menyebabkan masalah.

Langkah 11: Jalankan pada Permulaan

Daripada menjalankan kod secara manual setiap kali kita ingin mencari planet, kita mahu ini berfungsi sebagai pameran yang berdiri sendiri, jadi kita akan menyiapkannya untuk menjalankan kod kita setiap kali Raspberry Pi dihidupkan.

Di terminal, taip

crontab -e

Dalam fail yang terbuka, tambahkan yang berikut ke akhir fail, diikuti dengan baris baru.

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

Saya menyimpan kod saya dalam folder bernama PlanetFinder, jadi /home/pi/PlanetFinder/planetFinder.py adalah lokasi fail saya. Sekiranya milik anda disimpan di tempat lain, pastikan untuk menukarnya di sini.

& Di hujungnya penting kerana membiarkan kod berjalan di latar belakang, jadi tidak menahan proses lain yang juga berlaku dalam boot.

Langkah 12: Lekatkan Semua Bersama

Lekatkan Semua Bersama!
Lekatkan Semua Bersama!
Lekatkan Semua Bersama!
Lekatkan Semua Bersama!

Segala sesuatu yang belum terpasang di tempat sekarang harus diperbaiki.

Akhirnya, tambahkan kompas kecil ke tengah pangkalan berputar.

Langkah 13: Penggunaan

Penggunaan
Penggunaan

Apabila Planet Finder dihidupkan, ia akan mendorong pengguna untuk menyesuaikan paksi menegak. Menekan butang atas dan bawah akan menggerakkan teleskop, mencuba dan meratakannya, menunjuk ke kanan, kemudian tekan butang ok (di bahagian bawah).

Pengguna kemudian akan diminta untuk mengatur putaran, menggunakan butang untuk memutar teleskop hingga menunjuk Utara mengikut kompas kecil, kemudian tekan ok.

Anda kini boleh menelusuri planet menggunakan butang atas / bawah dan memilih salah satu yang anda ingin cari dengan butang ok. Ia akan memaparkan Ketinggian dan Azimuth planet ini kemudian pergi dan menunjuknya selama beberapa saat sebelum kembali menghadap Utara.

Langkah 14: Selesai

Selesai
Selesai

Semua selesai!

Selamat mengetahui di mana semua planet:)

Cabaran Angkasa
Cabaran Angkasa
Cabaran Angkasa
Cabaran Angkasa

Hadiah Pertama dalam Cabaran Angkasa

Disyorkan: