Isi kandungan:
- Langkah 1: Item Diperlukan
- Langkah 2: Android G1 Dengan Output Bersiri Diaktifkan
- Langkah 3: Pasang Persekitaran Skrip Android (ASE) Dengan Python
- Langkah 4: Salin dan Jalankan Skrip Cellbot.py untuk Melancarkan Program Python
- Langkah 5: Telnet Ke G1 dan Uji Menghantarnya
- Langkah 6: Sambungkan 3.3v hingga 5v Level Shifter ke Arduino
- Langkah 7: Muatkan Program Cellbots di Arduino
- Langkah 8: Jalankan Seluruh Proses
Video: Android G1 Serial to Arduino Robot: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:14
Ketahui bagaimana telefon bimbit Android anda dapat mengawal robot menggunakan papan Arduino. Telefon mengambil arahan melalui telnet dari telefon atau PC lain, sehingga anda dapat mengendalikan robot dari jarak jauh. Projek ini tidak akan mengubah G1 sebaliknya anda boleh terus menggunakannya sebagai telefon biasa anda setelah melepaskannya. Mengapa? Dengan menggunakan komponen elektronik yang murah seperti papan Arduino, anda boleh memasangkannya dengan telefon bimbit $ 400 anda untuk membuat robot yang hebat. Akan berharga ratusan dolar untuk menambahkan GPS, LCD, sensor gerakan, wi-fi, sambungan selular, pembesar suara, dan banyak lagi ke bot hobi, tetapi telefon anda sudah mempunyai ini! Bersama-sama, papan Android G1 dan Arduino membolehkan anda menggunakan elektronik yang murah seperti servos dan sensor sederhana, untuk membina peranti hebat seperti robot, jarak jauh jarak jauh, atau mainan yang menyeronokkan untuk anak-anak. Maklumat lebih lanjut di Cellbots.com. Catatan: Projek ini memerlukan Android G1 dengan akses root untuk menggunakan output bersiri dari telefon ke robot Arduino. Anda boleh menambahkan modul BlueTooth $ 20 ke papan Arduino anda untuk meminta telefon bercakap melalui siri BlueTooth jika anda ingin menggunakan perisian Android komersial. Terima kasih khas: Kami mempunyai Hacker Dojo di Mountain View, CA untuk mengucapkan terima kasih kerana menghubungi kami, membantu dengan beberapa masalah yang sukar melalui senarai mel ahli mereka yang hebat, dan kerana stok 74LS04 tersedia. Sebahagian besar perhimpunan dilakukan di Tech Shop di Menlo Park.
Langkah 1: Item Diperlukan
Untuk melengkapkan tutorial ini, anda memerlukan perkara berikut: Perkakasan: - Telefon Android G1 Dev (atau peranti Android lain dengan akses root dan output bersiri) - Arduino (Saya menggunakan Freeduino SB tetapi yang harus dilakukan) - 3.3v hingga 5v penukar jika anda tidak menggunakan Arduino 3.3v (Saya menggunakan cip 74LS04 dengan harga di bawah $ 1 tetapi ada pilihan lain) - Papan pemecah USB HTC untuk G1 - Peralatan pematerian untuk dua sambungan pantas - Badan robot dengan servo mikro (kadbod, akrilik, tapak, roda, apa sahaja yang akan dilakukan) Perisian: - Persekitaran Skrip Android (ASE) - Pelanggan Telnet untuk PC anda (Saya menggunakan PuTTY pada Windows) - Persekitaran pengembangan Arduino - (pilihan) Pelanggan bersiri untuk PC anda (saya juga menggunakan PuTTY pada Windows untuk ini) - (opsional) Android SDK Sekiranya anda dapat mengikuti arahan, anda boleh menyelesaikan tutorial ini dengan sedikit pengetahuan mengenai Python, Arduino, Android, atau elektronik. Anda pasti ingin mengetahui perkara-perkara tersebut sekiranya anda ingin melampaui LED yang berkedip tetapi ini akan memulakan anda.
Langkah 2: Android G1 Dengan Output Bersiri Diaktifkan
G1 tidak menghantar dengan keupayaan untuk menghantar arahan bersiri dari port USB dan tidak ada pilihan asli untuk mengaktifkannya. Sekiranya anda pengguna Android SDK yang maju, anda boleh membuat sendiri, tetapi saya memilih untuk menggunakan Cyanogenmod 4.2.13. Sekiranya anda mengetahui peranti Android lain dengan siri yang berfungsi, tambahkannya ke komen.
Sebagai pilihan, anda boleh mengikuti pautan yang terdapat di sini untuk bercakap dengan G1 melalui USB dari PC anda. Sambungan bersiri ke USB itu tidak diperlukan untuk tutorial ini tetapi saya menggunakannya sebagai pemeriksaan kewajaran untuk mengesahkan bahawa telefon menghantar siri keluar. Sekiranya anda tidak menggunakan yang lain yang dapat ditembus untuk mengesahkan output bersiri berfungsi, anda boleh mencuba cek mudah ini: 1. Buka aplikasi Terminal di G1 (dilengkapi dengan Cyanogen tetapi muat turun satu dari Market jika anda mempunyai gambar yang berbeza) 2 Navigasi ke direktori / dev / dengan mengetik cd / dev / 3. Ketik ls (itu L) dan cari ttyMSM2 dalam senarai yang dikembalikan Skrip Python yang akan kita gunakan kemudian menghantar arahan ke '/ dev / ttyMSM2' di suruh mereka keluar sambungan bersiri. Oleh kerana itu memerlukan akses root, anda perlu menukar izin setiap kali anda menghidupkan semula telefon. Untuk melakukannya: 1. Buka aplikasi terminal di telefon 2. Masukkan 'chmod 777 / dev / ttyMSM2' Kemudian anda boleh menjalankan skrip Python dari suntingan Skrip Android pada langkah berikutnya dan ia akan mempunyai akses untuk mengirim output bersiri.
Langkah 3: Pasang Persekitaran Skrip Android (ASE) Dengan Python
Skrip yang akan kita gunakan untuk membuat sambungan soket terbuka di telefon dan menghantar arahan ditulis dalam Python. Untuk menjalankannya di G1 kita memerlukan Persekitaran Skrip Android. Sekiranya anda tidak melihatnya di Market, anda boleh memuat turunnya dengan mengimbas kod bar di halaman tersebut yang memaut ke fail apk di halaman ini.
Setelah anda memasang dan menjalankan ASE, anda ingin menambah modul Python dari menu: 1. Buka ASE dan pastikan anda mempunyai sambungan internet yang berfungsi (wi-fi atau 3G) 2. Tekan butang menu di telefon dan pilih Jurubahasa 3. Tekan menu sekali lagi dan pilih Tambah 4. Pilih Python (saat ini v2.6.2 semasa menulis ini) dan ia akan memuat turun beberapa fail zip Anda mungkin ingin meneroka membuat, membuka, menyunting, dan menjalankan skrip untuk menjadi biasa dengan Python melalui ASE tetapi tidak diperlukan.
Langkah 4: Salin dan Jalankan Skrip Cellbot.py untuk Melancarkan Program Python
Tutorial ini menggunakan skrip Python untuk menjadi "otak" robot. Dapatkan kod terkini dari projek Kod Google sumber terbuka kami. Anda hanya memerlukan fail cellbot.py tetapi yang lain boleh membantu dengan pelbagai perkara yang ingin anda terokai. Saya hanya menyambungkan telefon ke sambungan USB PC saya dan memasang pemacu sebelum menyalin fail ke / sdcard / ase / script.
Program ini membuat sambungan soket terbuka untuk menerima sesi telnet yang masuk. Ini juga mencetak perintah yang diterima ke layar sambil mengirimkannya ke port serial. Letakkan file ini pada kartu SD telepon di / ase / scripts / direktori. Langkah-langkah terperinci untuk memuat dan menjalankan skrip: 1. Salin skrip cellbot.py ke kartu SD / ase / script / direktori 2. Pastikan turun kad SD dari PC anda jika anda menyalinnya dengan cara itu kerana telefon tidak dapat mengakses fail pada masa yang sama PC anda. 3. Buka aplikasi Lingkungan Skrip Android 4. Klik pada cellbot.py untuk melancarkannya. Anda akan melihat pengesahan bahawa peranti ini sudah siap untuk menerima sesi telnet masuk pada port 9002. Petua: Pastikan anda menjalankan "chmod 777 / dev / ttyMSM2 "arahan dari langkah # 3 terlebih dahulu. Lihat langkah # 5 untuk mencari alamat IP telefon.
Langkah 5: Telnet Ke G1 dan Uji Menghantarnya
Telefon harus siap untuk anda telnet ke dalamnya dan mengirimkannya perintah dari PC anda. Ia akan mencetaknya ke layar telefon untuk mengesahkan apa yang diterimanya. Saya menggunakan PuTTY pada Windows tetapi kami telah mengesahkan bahawa minicom berfungsi dengan baik pada Mac seperti yang dijelaskan dalam arahan ini.
Anda terlebih dahulu perlu mencari alamat IP telefon anda. Ini tersedia dengan pergi ke Menu> Tetapan> Kawalan tanpa wayar> Tetapan Wi-Fi dan kemudian tekan sambungan yang sedang aktif. Mesej toast timbul akan muncul dengan alamat IP semasa di rangkaian tempatan. Tuliskan ini kerana anda akan menggunakannya setiap kali anda ingin membuka sesi telnet dari PC anda. Tugasan IP biasanya tamat selepas beberapa hari, jadi anda mungkin perlu menyemaknya sekali lagi. Catatan: Tutorial ini menganggap PC dan telefon anda berada di rangkaian tempatan yang sama. Laluan ke telefon dari luar rangkaian tempatan boleh dilakukan tetapi tidak dilindungi di sini. Buka klien telnet pilihan anda dan sambungkan ke IP telefon pada port 9002. Dari baris arahan anda melakukan ini sebagai "telnet 192.168.1.1 9002" menggunakan IP sebenar telefon. Ketik beberapa watak dan tekan enter untuk melihatnya muncul di skrin telefon. Anda boleh mengetik q untuk menyebabkan skrip Python berhenti, yang akan menutup sesi terminal anda. Sekiranya atas sebab apa pun anda tidak dapat menyambung melalui telnet dan perlu membunuh program ini, but semula telefon mudah dilakukan. Pengguna lanjutan mungkin ingin mencari ID proses melalui ps dan kemudian menggunakan kill untuk menghentikannya. Lanjutan: Versi masa depan ini dapat menjalankan pelayan web tempatan dari telefon daripada menerima perintah melalui telnet. Kami juga meneroka XMPP untuk berbual dengan robot anda.
Langkah 6: Sambungkan 3.3v hingga 5v Level Shifter ke Arduino
Arduino yang digunakan dalam tutorial ini adalah model 5v jadi kita perlu menukar isyarat 3.3v yang keluar dari G1 menggunakan level shifter. Mungkin boleh menyambung terus ke Arduino 3.3v tetapi itu bukan sesuatu yang saya uji.
Terdapat beberapa cara untuk mendekati ini tetapi kami akan menggunakan cip 74LS04 dalam contoh ini. Anda boleh mencarinya di sini dan mereka mungkin di bawah $ 1. Tim dan saya mengambil dari Hacker Dojo di Mountain View, CA tetapi ini sangat biasa dan semestinya banyak di mana sahaja kerepek dijual atau didermakan. Pada tahap tinggi kita hanya akan menghantar isyarat TX dari papan pemecah USB HTS ke pin 1 cip 74LS04. Untuk membuatnya berfungsi, kita pergi melalui cip dua kali dan keluar pin 4 ke pin RX di Freeduino SB (pin bersiri anda mungkin berbeza jika anda mempunyai papan Arduino lain tetapi semua harus menyokong ini). Ikuti langkah-langkah ini untuk memasang pengubah level dan sambungkan papan USB HTC (jangan pasangkannya ke telefon dan cabut kuasa ke Arduino): 1. Masukkan cip 74LS04 ke papan roti anda. Pastikan cip menghalang pemecatan tengah supaya pin tidak terpendek (gerakan bodoh yang saya buat pada mulanya) 2. Askar dua wayar ke papan USB HTC seperti yang dijelaskan dalam arahan ini, tetapi kami hanya akan menggunakan pin 7 (Ground) dan 8 (TX0) kerana kami hanya melakukan penghantaran sehala untuk tutorial ini. 3. Sambungkan wayar hujung tanah (pin 7) yang lain ke tanah di papan roti anda (yang harus dihubungkan ke tanah di Arduino anda) 4. Sambungkan hujung wayar TX0 (pin 8) yang lain ke papan roti di mana ia masuk ke pin 1 cip 74LS04. (lakukan carian gambar untuk gambarajah penuh cip) 5. Gunakan wayar untuk menyambungkan pin 2 dan 3 cip 6. Sambungkan pin 4 cip ke titik Arduino RX (pin 0 pada Freeduino SB dan Arduino Duemilanove) 7. Sambungkan pin 7 (GND) pada cip ke tanah untuk papan roti anda (yang juga menghubungkan ke arduino ground) 8. Sambungkan pin 14 (VCC) ke kuasa 5v pada papan roti anda (yang mendapat kuasa dari Arduino Output 5v) Anda kini sudah bersedia untuk memasang papan pemecah USB HTC ke bahagian bawah telefon dan menghidupkan Arduino. Periksa bunga api dan bau dan sentuh benda untuk memastikannya sejuk. Catatan: Kod cellbot semasa menghidupkan LED # 13 ketika motor servo robot sedang berjalan. Sekiranya anda belum mempunyai robot, anda boleh memeriksa untuk memastikan LED menyala dan mati untuk mengesahkan ia berfungsi.
Langkah 7: Muatkan Program Cellbots di Arduino
Dapatkan kod sumber Arduino dari laman projek Google Code kami. Buka program Cellbots.pde Arduino di editor Arduino. Kemudian tolak ke papan Arduino anda.
Anda boleh menguji bercakap dengan kod Arduino dengan membuka monitor bersiri di editor Arduino. Ini adalah kaedah terbaik untuk menguji robot atau peranti anda dengan bercakap terus dengan Arduino sebelum menghubungkan semuanya ke telefon. Kod tersebut menghantar arahan bersiri kembali ke monitor bersiri untuk mengesahkan apa yang dilakukannya walaupun anda belum membuat robot anda dibina. Catatan: Anda tidak dapat memuatkan program ke Arduino semasa wayar disambungkan ke pin input siri RX. Oleh itu, anda mungkin mahu menukarnya, tetapi saya hanya mencabutnya apabila saya perlu memuatkan program baru.
Langkah 8: Jalankan Seluruh Proses
Anda seharusnya dapat menyambungkan papan USB HTC ke telefon, menghidupkan fail cellbot.py di ASE, dan membuka sesi terminal ke dalam telefon. Ketik "H" agar telefon bertanya khabar atau arahan lain dari fail README.txt.
A "q" akan menutup skrip Python di telefon dan menutup soket terminal. Berikut adalah ringkasan bagaimana semuanya berfungsi: 1. Skrip Python membuka soket untuk menerima sambungan telnet masuk dan menggema perintah keluar dari port bersiri 2 Kami menghubungkan dari PC kami ke telefon melalui telnet pada port 9002 dan mengirimkannya perintah yang kami lihat di layar 3. Papan USB HTS bersambung dengan port USB G1 dan menghantar isyarat 3.3v ke dalam pin 74LS04 1. 4. The isyarat keluar dari cip pada pin 2, masuk kembali pada pin 3, dan keluar lagi pada pin 4 pada 5v 5. Arduino kami menerima isyarat bersiri pada pin RX 0 dan memprosesnya melalui program Cellbot.pde 6. Kami boleh menaip 'q' untuk membunuh skrip Python dan menutup sambungan telnet Sekarang setelah anda menyelesaikan proses yang sangat rumit ini untuk menghantar arahan asas ke robot Arduino, sudah tiba masanya anda menggodamnya menjadi lebih hebat! Kami belum mempunyai siri dua hala yang berfungsi sehingga Arduino tidak dapat menghantar perintah kembali ke telefon tetapi kami sedang mengusahakannya. Ikuti perkembangan terkini dengan melanggan blog kami di Cellbots.com. Mengenai Pengarang: Tim Heath Penyelidik utama yang pertama kali mengumpulkan proses ini di Tech Shop di Menlo Park, di mana dia menjadi ahli. Ryan Hickman Programmer yang mengerjakan kod Python dan Arduino dan mengarang Instructable ini.
Disyorkan:
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Langkah
Conexión Serial Arduino a Processing (acelerómetro En Anillo): Muchos me preguntan de como conectar la informaci ó n que viene por puerto serial de Arduino a Processing. Ac á les muestro la manera en que yo lo resuelvo, no es la ú nica, pero es bastante efectiva, ya que en Processing, la respc
Pengkomputeran Murah: Arduino Dengan TTL Serial: 3 Langkah
Pengkomputeran Murah: Arduino Dengan TTL Serial: Sebilangan besar kos arduino skala penuh seperti UNO adalah kos antara muka USB (perhatikan, Benar ketika ini ditulis, tetapi ini tidak lagi benar, usb kini murah. Anda mungkin masih mahu pergi siri TTL kerana alasan lain.). Menyingkirkan
Monitor Serial Arduino di Tinkercad: 7 Langkah (dengan Gambar)
Arduino Serial Monitor di Tinkercad: Menjejaki semua yang berlaku dalam program anda boleh menjadi pertempuran yang sukar. Monitor bersiri adalah cara untuk mendengar apa yang berlaku dalam kod anda dengan melaporkan kembali ke komputer melalui kabel USB. Dalam simulator Tinkercad Circuits, Serial
[Arduino Robot] Cara Membuat Robot Tangkap Gerak - Robot Jempol - Motor Servo - Kod Sumber: 26 Langkah (dengan Gambar)
[Arduino Robot] Cara Membuat Robot Tangkap Gerak | Robot Jempol | Motor Servo | Kod Sumber: Robot Thumbs. Digunakan potensiometer motor servo MG90S. Ia sangat menyeronokkan dan mudah! Kodnya sangat mudah. Ia hanya sekitar 30 baris. Ia kelihatan seperti tangkapan gerakan. Sila tinggalkan sebarang pertanyaan atau maklum balas! [Arahan] Kod Sumber https: //github.c
Kabel Serial ke USB Android G1: 8 Langkah
Kabel Serial ke USB Android G1: Pelajari cara membuat penyesuai peranti bersiri Android G1 2.8v ke USB Serial (menggunakan penyesuai bersiri 3.3v ttl ke usb). Ini boleh digunakan untuk debugging kernel / dll dengan komputer anda. Projek ini tidak boleh menelan belanja lebih dari 40 dolar jika anda sudah memiliki