Raspberry Pi dan Arduino adalah dua papan sumber terbuka paling popular di Komuniti Elektronik. Mereka bukan sahaja popular di kalangan Jurutera Elektronik tetapi juga di kalangan pelajar sekolah dan penggemar hobi, kerana Kemudahan dan Kesederhanaan mereka. Malah ada yang mula menyukai Electronics kerana Raspberry Pi dan Arduino. Papan ini mempunyai kekuatan besar, dan satu dapat membina projek Hi-fi yang sangat rumit dalam beberapa langkah mudah dan sedikit pengaturcaraan.
Kami telah membuat sebilangan Projek dan Tutorial Arduino, dari yang sangat sederhana hingga yang rumit. Kami juga telah membuat Tutorial Seri Raspberry Pi, dari mana sesiapa sahaja boleh mula belajar dari 'awal'. Ini adalah sumbangan kecil terhadap Komuniti Elektronik dari pihak kami dan portal ini telah membuktikan dirinya sebagai Sumber Pembelajaran Hebat untuk Elektronik. Jadi hari ini kami menyatukan dua papan hebat ini dengan Interfacing Arduino dengan Raspberry Pi.
Dalam tutorial ini, kami akan mewujudkan Komunikasi Bersiri antara Raspberry Pi dan Arduino Uno. PI hanya mempunyai 26 pin GPIO dan saluran ADC sifar, jadi ketika kita melakukan projek seperti pencetak 3D, PI tidak dapat melakukan semua interaksi sendirian. Oleh itu, kita memerlukan lebih banyak pin output dan fungsi tambahan, kerana menambahkan lebih banyak fungsi ke PI, kita menjalin komunikasi antara PI dan UNO. Dengan itu kita dapat menggunakan semua fungsi UNO seperti fungsi PI.
Arduino adalah platform besar untuk pembangunan projek, mempunyai banyak papan seperti Arduino Uno, Arduino Pro mini, Arduino Due dll. Mereka adalah papan berasaskan pengawal ATMEGA yang direka untuk Jurutera Elektronik dan Hobi. Walaupun terdapat banyak papan di platform Arduino, tetapi Arduino Uno mendapat banyak penghargaan, kerana kemudahannya melakukan projek. Persekitaran pengembangan program berasaskan Arduino adalah cara mudah untuk menulis program jika dibandingkan dengan yang lain.
Komponen yang Diperlukan:
Di sini kita menggunakan Raspberry Pi 2 Model B dengan OS Raspbian Jessie dan Arduino Uno. Semua keperluan asas Perkakasan dan Perisian, mengenai Raspberry Pi, telah dibincangkan sebelumnya, anda boleh mencarinya di Pengenalan Raspberry Pi, selain daripada yang kami perlukan:
- Pin penyambung
- Resistor 220Ω atau 1KΩ (2 keping)
- LED
- Butang
Penjelasan Litar:
Seperti yang ditunjukkan dalam Circuit Diagram di atas, kita akan menghubungkan UNO ke port USB PI menggunakan kabel USB. Terdapat empat port USB untuk PI; anda boleh menyambungkannya ke salah satu daripada mereka. Butang dihubungkan untuk menginisialisasi komunikasi bersiri dan LED (berkedip) untuk menunjukkan bahawa data sedang dihantar.
Penjelasan Bekerja dan Pengaturcaraan:
Bahagian Arduino Uno:
Pertama mari kita atur program UNO, Sambungkan UNO ke PC terlebih dahulu dan kemudian tulis program (Periksa bahagian Kod di bawah) dalam perisian Arduino IDE dan muat naik program ke UNO. Kemudian putuskan sambungan UNO dari PC. Pasang UNO ke PI setelah pengaturcaraan dan sambungkan LED dan butang ke UNO, seperti yang ditunjukkan dalam rajah litar.
Sekarang program di sini menginisialisasi Serial Communication UNO. Apabila kita menekan butang yang dilampirkan pada UNO, UNO menghantar beberapa aksara ke PI secara bersiri melalui port USB. LED yang dipasang pada PI berkedip untuk menunjukkan watak yang dihantar.
Bahagian Raspberry Pi:
Selepas itu kita harus menulis program untuk PI (bahagian Code Code di bawah), untuk menerima data ini dihantar oleh UNO. Untuk itu kita perlu memahami beberapa arahan yang dinyatakan di bawah.
Kami akan mengimport fail bersiri dari perpustakaan, fungsi ini membolehkan kami mengirim atau menerima data secara bersiri atau melalui port USB.
siri import
Sekarang, kita perlu menyatakan port peranti dan kadar bit untuk PI untuk menerima data dari UNO tanpa sebarang kesalahan. Perintah di bawah menyatakan bahawa, kami mengaktifkan komunikasi bersiri 9600 bit sesaat pada port ACM0.
ser = bersiri. Siri ('/ dev / ttyACM0', 9600)
Untuk mengetahui pelabuhan yang dilampirkan oleh UNO, pergi ke terminal PI dan masukkan
ls / dev / tty *
Anda akan mempunyai senarai semua peranti terpasang di PI. Sekarang sambungkan Arduino Uno ke Raspberry Pi dengan kabel USB dan masukkan perintah sekali lagi. Anda boleh mengenal pasti port terlampir UNO dari senarai yang dipaparkan.
Perintah di bawah digunakan sebagai loop selamanya, dengan perintah ini pernyataan di dalam gelung ini akan dilaksanakan secara berterusan.
Semasa 1:
Setelah menerima data secara bersiri, kami akan memaparkan watak-watak di layar PI.
cetak (ser.readline ())
Oleh itu, setelah butang, dilampirkan ke UNO, ditekan kita akan melihat watak yang dicetak pada skrin PI. Oleh itu, kami telah mengadakan Handshake Komunikasi Asas antara Raspberry Pi dan Arduino.