- Prasyarat:
- Memasang VPython pada Komputer anda:
- Pengaturcaraan VPython:
- Menyiapkan Arduino anda:
- Bekerja:
Dalam tutorial sebelumnya, kami belajar bagaimana memasang python pada mesin windows kami dan bagaimana menghubungkan Arduino dengan python menggunakan projek kawalan LED sederhana. Sekiranya anda baru, saya sangat mengesyorkan anda untuk kembali ke tutorial sebelumnya kerana tutorial ini adalah kesinambungan yang sama.
Anda mungkin sudah mula bertanya-tanya mengapa kita memerlukan python dengan Arduino jika semua yang dapat dilakukannya hanya berkomunikasi melalui port bersiri. Tetapi, Python adalah platform pengembangan yang sangat kuat di mana banyak aplikasi hebat di mana pembelajaran mesin, penglihatan komputer dan banyak lagi dapat disatukan. Dalam tutorial ini kita akan belajar Bagaimana kita dapat Membuat Antaramuka Grafik Kecil Menggunakan Python. Untuk melakukan ini, kita memerlukan modul yang dipanggil Vpython. Tutorial berikut hanya berlaku untuk pengguna windows kerana untuk pengguna Mac atau Linux, prosedurnya berbeza.
Pada akhir tutorial ini, kita akan belajar bagaimana kita dapat membuat GUI sederhana menggunakan Python. Kami akan membuat animasi kecil yang bertindak balas terhadap nilai sensor Ultrasonik yang dipasang pada Arduino. Aplikasi ini mengesan objek menggunakan sensor Ultrasonik dan memaparkannya dalam bentuk Grafik pada komputer menggunakan VPython. Ketika kami menggerakkan objek, sensor Ultrasonik merasakan jarak dan mengirimkan maklumat ini ke program Python menggunakan Arduino dan ia juga akan memindahkan objek di komputer. Kedengarannya menarik! Oleh itu, mari bermula…
Prasyarat:
- Arduino (Sebarang versi)
- Sensor Ultrasonik HC-SR04
- Wayar Penyambung
- Komputer dengan Python
- Pengetahuan mengenai tutorial sebelumnya
Memasang VPython pada Komputer anda:
Dalam tutorial sebelumnya, kami telah mempelajari cara memasang python pada mesin anda dan cara memindahkannya dan membuat program mudah dengan Arduino. Sekarang kita telah memasang Visual Python (VPython) di atasnya supaya kita dapat membuat Grafik yang sejuk menggunakan Python untuk Arduino. Untuk langkah mudah di bawah untuk memulakan dengan VPython
Langkah 1. Pastikan Python sudah dipasang seperti panduan tutorial sebelumnya.
Langkah 2. Klik pada VPython untuk memuat turun fail exe untuk Visual Python. Jangan memilih untuk memasang versi 64-bit walaupun mesin anda menggunakan 64-bit. Ikuti sahaja pautan yang diberikan.
Langkah 3. Lancarkan fail exe dan ikuti persediaan. Jangan ubah laluan direktori lalai dan pastikan anda telah memilih "pemasangan penuh".
Langkah 4. Setelah dipasang, anda harus mencari aplikasi baru bernama "VIDLE (VPython)" di desktop atau panel aplikasi anda seperti gambar di bawah.
Langkah 5. Lancarkan aplikasi dan anda akan mendapat tetingkap seperti yang ditunjukkan di bawah.
Langkah 6. Ini adalah tetingkap di mana kita akan menaip program untuk VPython. Tetapi, buat masa ini mari kita periksa sama ada Vpython berfungsi dengan membuka program contoh. Untuk melakukan ini pilih File-> Open-> Bounce
Langkah 7. Anda harus membuka program contoh. Cuba lancarkan program menggunakan Run -> Run Module . Sekiranya semuanya berfungsi seperti yang diharapkan anda harus mendapatkan skrin berikut.
Anda akan melihat tetingkap Shell (kiri) dengan dua >>> yang menunjukkan penyusunan berjaya dan tetingkap sebenar (depan) yang menunjukkan bola melantun.
Langkah 8. Anda juga boleh mencuba program contoh lain untuk mengetahui kehebatan VPython, misalnya program contoh yang disebut "elektrik-motor" akan mengejutkan anda dengan layar berikut.
Langkah 9. Ini bermaksud bahawa VPython anda sudah siap digunakan dan anda boleh jatuh ke topik " Memprogramkan Vpython anda ".
Langkah 10. Jika tidak, anda seperti salah satu daripada banyak yang mendapat "Kesalahan numpy" tidak putus asa kerana kami akan menyelesaikan masalah tersebut dalam langkah selanjutnya
Langkah 11. Buka komputer saya -> Pemacu C -> Python 27 -> Skrip -> local.bat . Ini akan melancarkan command prompt seperti yang ditunjukkan di bawah
Langkah 12. Sekarang ketik "pip install --upgrade numpy" dan tekan enter. Versi baru Numpy harus dipasang pada mesin anda. Anda mungkin perlu menunggu beberapa saat sekiranya sambungan internet anda lambat.
Langkah 13. Setelah selesai anda boleh kembali ke langkah nombor 4 dan mencuba program contoh dan anda seharusnya dapat membuatnya berfungsi.
Pengaturcaraan VPython:
Seterusnya kita memulakan pengaturcaraan ke tetingkap VPython kita. Dalam program ini kita akan membuat dua objek segi tiga 3D yang satu akan ditempatkan di tengah-tengah layar merujuk ke sensor Ultrasonik pegun dan yang lain akan berada di lokasi yang dinamis berdasarkan jarak antara sensor AS dan objek (kertas).
The kod Python lengkap boleh didapati pada akhir halaman ini. Di bawah, saya telah menerangkan kod python ini dengan membahagikannya menjadi sampah kecil yang bermakna.
Baris pertama ialah mengimport Perpustakaan visual supaya kita dapat membuat objek 3D. Garis di bawah melakukan perkara yang sama.
dari import visual *
Anda semestinya biasa dengan empat baris berikutnya, kerana kami telah menggunakannya dalam tutorial sebelumnya. Mereka digunakan untuk mengimport perpustakaan Serial dan waktu dan juga menjalin sambungan bersiri dengan Arduino di COM18 dengan 9600 sebagai baudrate
import siri #Serial diimport untuk komunikasi waktu komunikasi Serial #Diperlukan untuk menggunakan fungsi kelewatan ArduinoSerial = serial.Serial ('com18', 9600) #Create Serial port objek yang disebut arduinoSerialData time.sleep (2) #tunggu selama 2 saat untuk komunikasi ke mapan
Sekarang, sudah tiba masanya untuk membuat objek. Saya telah membuat dua segi empat tepat 3d yang dinamakan obj dan dinding. The wallL adalah dinding pegun dalam warna sian yang diletakkan di tengah-tengah skrin dan obj adalah objek yang bergerak dalam warna putih. Saya juga meletakkan teks "sensor AS" di dekat objek dinding.
obj = kotak (pos = (- 5,0,0), ukuran = (0.1,4,4), warna = warna. putih) dindingL = kotak (pos = (- 1,0,0), ukuran = (0.2, 12,12), color = color.cyan) teks (teks = 'sensor AS', paksi = (0,1,0), pos = (- 2, -6,0), kedalaman = -0.3, warna = warna.cyan)
Saya yakin bahawa tiga baris di atas akan muncul sebagai bahasa Yunani dan Latin bagi kebanyakan pembaca kali pertama, tetapi seiring waktu anda akan dapat memahaminya. Semua yang disebut di dalam kurungan adalah (x, y, z) koordinat. Dan koordinat ini sangat serupa dengan yang kita dapati di kelas geometri sekolah menengah seperti yang ditunjukkan di bawah.
Sekarang, port grafik dan siri sudah siap, yang harus kita lakukan hanyalah membaca data dan meletakkan "obj" (segi empat putih) di tempat sesuai dengan data yang berasal dari Arduino. Ini dapat dilakukan dengan garis berikut, di mana obj.pos.x mengawal kedudukan koordinat X objek (segiempat putih).
t = int (ArduinoSerial.readline ()) # baca data bersiri dan cetak sebagai garis t = t * 0.05 obj.pos.x = t
Menyiapkan Arduino anda:
Skrip Python siap mendengar nilai dari port COM dan menghidupkan grafik dengan sewajarnya, tetapi Arduino kami belum siap. Mula-mula kita mesti menyambungkan sensor Ultrasonik ke Arduino mengikut Rajah Litar berikut. Sekiranya anda baru mengenal sensor AS dan Arduino, maka anda harus kembali ke tutorial Pengukuran Jarak Berdasarkan Sensor Arduino & Ultrasonik.
Kemudian muat naik Program Arduino yang diberikan di hujung halaman ini. Program ini dijelaskan sendiri menggunakan baris komen. Kami tahu bahawa sensor ultrasonik berfungsi dengan mengira masa yang diperlukan untuk denyut nadi memukul objek dan kembali. Nilai ini dikira dengan menggunakan fungsi PulseIn di Arduino. Kemudian masa yang diambil ditukar menjadi jarak menggunakan garis bawah.
dist = (timetaken / 2) / 2.91;
Di sini jaraknya dikira dari segi milimeter (mm).
Bekerja:
Kerja projek ini sederhana. Lancarkan program Python dan letakkan objek di hadapan sensor AS seperti yang ditunjukkan di bawah:
Sekarang lancarkan program python dan anda seharusnya dapat melihat pergerakan segi empat putih bersama dengan kertas anda, jarak antara kertas dan sensor anda juga akan ditunjukkan di tingkap shell seperti yang ditunjukkan pada gambar di bawah.
Ini adalah bagaimana kita dapat mengesan pergerakan objek menggunakan sensor Ultrasonik dan Python dengan Arduino.
Harap anda memahami projek ini dan menikmati pembinaannya. Ini hanyalah satu langkah halus menuju python tetapi anda boleh membina lebih banyak perkara kreatif menggunakan ini. Sekiranya anda mempunyai idea tentang apa yang akan dibina dengan hantar ini di bahagian komen dan gunakan forum untuk bantuan teknikal. Jumpa anda dengan projek python lain yang menarik.