- Keperluan
- Memasang PyFirmata di Arduino menggunakan Raspberry Pi
- Penjelasan Kod
- Pudar LED pada Arduino menggunakan pyFirmata
Walaupun Raspberry Pi dan Arduino adalah dua perkakasan yang berbeza dari segi aplikasi dan strukturnya, tetapi keduanya dianggap sebagai dua platform perkakasan sumber terbuka yang bersaing. Mereka berdua mempunyai komuniti dan sokongan yang sangat kuat. Hari ini kita sedikit akan mengubah keadaan, dan menunjukkan kepada kita bagaimana kita dapat memanfaatkan kedua-duanya. Sekiranya anda mempunyai kedua-dua papan pi Arduino dan Raspberry, artikel ini akan menunjukkan kepada anda cara menggunakan Raspberry pi dan Python untuk mengawal Arduino.
Kami akan menggunakan firmware PyFirmata untuk memberikan arahan kepada Arduino menggunakan skrip Raspberry Pi python. PyFirmata pada dasarnya adalah pakej perpustakaan pryuilt program python yang dapat dipasang di Arduino untuk membolehkan komunikasi bersiri antara skrip python di komputer mana pun dan Arduino. Pakej python ini dapat memberi akses membaca dan menulis pin apa pun di Arduino. Jadi di sini kita akan menjalankan program python di Arduino menggunakan Raspberry pi.
Oleh itu, dalam tutorial ini kita akan memanfaatkan perpustakaan ini dan akan menggunakannya di papan Arduino kami untuk mengawal Arduino menggunakan Raspberry Pi.
Keperluan
- Raspberry Pi dengan OS Raspbian terpasang di dalamnya
- Arduino Uno atau papan Arduino yang lain
- Kabel USB Arduino
- LED
Dalam tutorial ini saya menggunakan Monitor Luar menggunakan kabel HDMI untuk berhubung dengan Raspberry Pi. Sekiranya anda tidak mempunyai monitor, anda boleh menggunakan pelayan SSH (Putty) atau pelayan VNC untuk menyambung ke Raspberry pi menggunakan Laptop atau komputer. Sekiranya anda menghadapi kesukaran, ikuti Panduan Mengenal Raspberry Pi kami.
Memasang PyFirmata di Arduino menggunakan Raspberry Pi
Untuk memuat naik firmware PyFirmata di Arduino, kita harus memasang Arduino IDE di Raspberry Pi. Ikuti langkah-langkah ini untuk memasang:
Langkah 1: - Sambungkan Raspberry Pi ke internet. Buka terminal arahan dan ketik perintah berikut dan tekan enter
sudo apt - get - y install arduino python - mercurial bersiri
Tunggu beberapa minit, akan memakan masa. Perintah ini akan memasang Arduino IDE di Raspberry Pi anda.
Langkah 2: - Sekarang, kita akan memasang fail pyFirmata menggunakan github yang diberikan:
git klon https://github.com/tino/pyFirmata
Kemudian jalankan arahan berikut:
cd pyFirmata sudo python setup.py pasang
Langkah 3: - Kami telah memasang semua fail dan persediaan yang diperlukan.
Sekarang, sambungkan papan Arduino anda dengan Raspberry Pi menggunakan kabel USB dan lancarkan Arduino IDE dengan menaip arduino di tetingkap terminal.
Langkah 4: - Kemudian ketik perintah lsusb untuk memeriksa sama ada Arduino dihubungkan dengan raspberry pi anda.
Di Arduino IDE, Pergi ke alat dan pilih papan dan Serial Port anda.
Langkah 5: - Muat naik firmware PyFirmata di Arduino dengan mengklik Fail -> Contoh -> Firmata -> Firmata Standard dan kemudian klik butang muat naik. Seperti yang ditunjukkan di bawah.
Kami berjaya memasang firmware pyFirmata di papan Arduino. Sekarang, kita dapat mengawal Arduino kita menggunakan Raspberry Pi.
Untuk demonstrasi, kami akan berkedip dan memudar LED di Arduino dengan menulis kod python di Raspberry Pi.
Penjelasan Kod
Untuk bahagian pengekodan, anda harus membaca dokumentasi pyFirmata untuk pemahaman yang lebih baik. Kami akan menggunakan fungsi pyFirmata untuk menulis kod kami. Anda boleh mendapatkan dokumentasi pyFirmata dengan mengikuti pautan.
Oleh itu, mari kita mula menulis kodnya
Buka editor teks kegemaran anda di Raspberry Pi dan import perpustakaan pyFirmata.
import pyfirmata
Tentukan pin pada Arduino untuk menyambungkan LED
led_pin = 9
Sekarang, kita harus menulis nama port bersiri di mana papan Arduino disambungkan menggunakan fungsi pyfirmata.Arduino () dan kemudian membuat contoh dengan menetapkan port dalam pemboleh ubah papan .
board = pyfirmata.Arduino ("/ dev / ttyACM0") cetak "Kod sedang berjalan"
Dalam manakala gelung, membuat diketuai pin HIGH dan rendah menggunakan () board.digital.write fungsi dan memberi kelewatan menggunakan (board.pass_time) fungsi.
sementara Benar: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Kod kami sudah siap, simpan kod ini dengan meletakkan sambungan .py ke nama fail.
Buka terminal arahan dan ketik python blink.py untuk menjalankan kod di papan Arduino. Pastikan papan Arduino anda disambungkan dengan papan Raspberry Pi anda menggunakan kabel USB.
Sekarang, anda dapat melihat LED Berkedip di papan Arduino.
Kod lengkap untuk LED berkedip menggunakan pyFirmata diberikan pada akhir.
Pudar LED pada Arduino menggunakan pyFirmata
Sekarang, kami akan menulis kod untuk memudar LED untuk membuat anda lebih akrab dengan fungsi pyFirmata. Kod ini mudah seperti yang sebelumnya. Anda mesti menggunakan dua untuk gelung, satu untuk meningkatkan kecerahan dan satu lagi untuk penurunan kecerahan.
Dalam kod ini, kami telah menentukan pin dengan cara yang berbeza seperti led = board.get_pin ('d: 9: p') di mana d bermaksud pin digital . Ini adalah fungsi pustaka pyFirmata. Baca dokumentasi untuk maklumat lebih lanjut.
Kod lengkap untuk Fading LED menggunakan pyFirmata diberikan pada akhir.
Sekarang, anda boleh menambahkan lebih banyak sensor ke sistem anda dan menjadikannya lebih keren, periksa projek Arduino kami yang lain dan cuba membuatnya menggunakan skrip Raspberry pi dan python.