Baru-baru ini, orang-orang dari Raspberry Foundation mempresentasikan papan baru, elemen utamanya adalah SoC-nya sendiri, RP2040. Papannya sangat bagus, Anda tidak akan mengatakan apa-apa, tetapi, tentu saja, ada beberapa fitur yang kurang.
Pengembang pihak ketiga telah mengatasi masalah ini: - berdasarkan system-on-a-chip yang sama, mereka membuat papan mereka sendiri dengan fungsi baru. Salah satunya adalah Adafruit Feather RP2040. Apa yang baru disana?
Kami mengambil banteng dengan tanduknya
Ya, langsung saja ke spesifikasi teknisnya. Dan mereka seperti ini:
- 21 pin GPIO multi-fungsi pada 3.3V.
- 2 port SPI.
- 2 I2C.
- 2 UART.
- 4 ADC 12-bit.
- 16 saluran PWM terkontrol.
- 8 Mesin status I / O (PIO) yang dapat diprogram untuk mendukung periferal kustom.
- Kemungkinan pematrian di papan operator.
- Konektor WS2812 Neopixel STEMMA QT internal.
- Pengisian baterai internal dan dukungan untuk baterai LiPo dan Lilon, USB Type C.
Sedangkan untuk system-on-a-chip, ini adalah chip dual-core ARM Cortex M0 + dengan frekuensi inti hingga 133 MHz, 264 KB SRAM dan 8 MB flash memory.
Adafruit Feather RP2040: - bagaimana caranya
Jika Anda sudah familiar dengan keluarga Adafruit Feather, maka sekilas pada papan baru Anda akan menemukan fitur-fitur desain yang sama dengan Feather. Menjadi bagian dari ekosistem ini adalah keuntungan lain dari papan, karena kompatibel dengan berbagai sistem dari pengembang ini, termasuk FeatherWings.
Ukuran papannya adalah 50,8x22,8 mm, yang hanya sedikit lebih besar dari "raspberry" asli, yang dimensinya 51x21mm.
Ngomong-ngomong, ada lebih sedikit pin GPIO di sini daripada di Raspberry - 21, bukan 40. Pinout adalah tipikal untuk Feather. Di kedua sisi papan, masing-masing pin terdaftar, jadi seharusnya tidak ada masalah dengan pemahaman.
Pin termasuk 4 ADC 12-bit, satu lebih dari Pico. Lebih banyak - dua set l2C, dua SPI dan dua UART. 16 pin dapat digunakan untuk PWM (Pulse Width Modulation), LED dan keluaran audio.
Ada satu LED merah di papan untuk memantau mode operasi sistem. Memori flash empat kali lipat dari Raspberry Pi Pico - 8 MB, bukan 2 MB. Jika Anda menggunakan CircuitPython, Anda mendapatkan 7 MB ruang file untuk menyimpan kode dan pustaka.
Papan bulu selalu memiliki fitur tambahan, dan papan ini tidak terkecuali. Di sebelah kiri adalah konektor JST untuk menghubungkan baterai Lithium Ion dan Lithium Polymer yang kompatibel. Saat terhubung melalui USB, arus pengisian 200mA.
Baterai dapat diganti tanpa dimatikan, dalam mode "panas", yang penting untuk banyak proyek. Dalam pengujian yang dilakukan oleh Perangkat Keras Tom saat memproses kode, daya USB dimatikan, tetapi papan terus mengeksekusi kode.
Kemungkinan lain adalah adanya konektor STEMMA QT, yang digunakan untuk menyambungkan komponen yang kompatibel dengan cepat. Ini hanyalah opsi yang bagus untuk mempermudah bekerja dengan papan.
Dan kemudian ada dua tombol tambahan. BOOTSEL, yang digunakan untuk mengkonfigurasi papan atau mem-flash perangkat lunak baru. Dan RESET, yang, secara logis, memungkinkan Anda untuk mereboot sistem tanpa harus mematikan daya.
Pemrograman dengan Adafruit Feather RP2040
Karena papan adalah bagian dari ekosistem Adafruit, wajar jika pengembang menyarankan untuk menggunakan CircuitPython, versi MicroPython mereka sendiri, untuk bekerja dengannya. Anda dapat mengunduh dan mem-flash perangkat lunak tanpa banyak kesulitan.
CircuitPython memiliki keunggulan dibandingkan MycroPython, termasuk dukungan USB HID. Karenanya, papan ditampilkan sebagai stik USB saat terhubung. Anda dapat menggunakan code.py untuk menghasilkan kode. Tetapi yang terbaik adalah bekerja dengan editor seperti Visual Studio Code, Thonny, atau Mu. Perpustakaan tersedia untuk diunduh dari situs web perusahaan dan layak digunakan karena membuat segalanya jauh lebih mudah.
Kode Visual Studio digunakan untuk pengujian. Dengan bantuannya, penguji menulis skrip untuk mengontrol LED internal guna memantau mode pengoperasian papan. Proyek yang jauh lebih kompleks juga dapat dilaksanakan. Penguji yang sama menulis skrip untuk mengontrol LED Neopixel yang terhubung.
Koneksi STEMMA QT dan I2C
Konektor STEMMA QT internal board juga diuji. Papan sensor kapasitif MPR121 telah disambungkan ke Feather RP2040. Kemudian pustaka CircuitPython dipasang di papan tulis. Kemudian penguji menulis kode untuk mendeteksi saat kontak disentuh. Semuanya bekerja dengan segera dan tanpa masalah.
Kemudian tahap baru dimulai - menghubungkan layar LCD I2C HD44780 dengan resolusi 16 x 2 karakter. Dan di sini masalah sudah muncul: layar tidak dapat dihubungkan tanpa resistor pull-up pada kedua pin l2C. Papan tersebut tidak memiliki resistornya sendiri, jadi Anda perlu memasangnya sebagai tambahan, atau menggunakan papan STEMMA QT bersama mereka.
Secara umum, semuanya ternyata baik-baik saja. Ada beberapa masalah, tetapi semua ini bisa diselesaikan. Ngomong-ngomong, poin penting - sekarang papan tidak berfungsi dengan C atau MicroPython. Namun, CircuitPython berjalan dengan lancar, jadi fitur tambahan mungkin tidak diperlukan.
Ada banyak hal yang dapat Anda colokkan ke papan: ekosistem Adafruit mencakup layar OLED, koprosesor Wi-Fi, matriks LED RGB, joystick, dan papan ketik QWERTY LCD.
Untuk apa papan dapat digunakan?
Untuk segala hal mulai dari proyek rumah kecil hingga sistem IoT berskala besar, perangkat luar ruangan, dll. Faktor bentuk papan nyaman, sistem dapat dengan mudah disolder ke papan pembawa.
Di residu kering
Jika Anda cukup beruntung melihat papan ini diobral, pastikan untuk membelinya. Ini adalah alternatif yang sangat baik untuk "malinka" resmi, tetapi dengan sejumlah keuntungan.
Satu-satunya kelemahan papan ini adalah ia bekerja dengan elemen ekosistemnya sendiri. Sistem tidak berfungsi dengan sebagian besar aksesori Pico. Ini tidak akan berfungsi, misalnya, untuk menghubungkannya ke Pico Explorer dari Pimoroni dengan 40 pin.
Tapi ada lebih banyak plus dari minusnya. Ini adalah papan serbaguna dengan banyak kasus penggunaan.