Adafruit Feather RP2040 İncelemesi
Raspberry Pi Pico, Raspberry Pi’nin RP2040 entegresine sahip ilk mikro denetleyiciydi, ancak bazı satıcılar ek özelliklere sahip kendi üçüncü taraf kartlarını piyasaya sürüyor. En yeni ve şimdiye kadarki en iyisi, popüler Feather ekosistemini ve form faktörünü Raspberry Pi entegresi ile birleştiren Adafruit’in Feather RP2040’ı inceliyoruz.
Atmel ve Espressif gibi çeşitli SoC’ler tarafından desteklenen Adafruit’in Feather mikrodenetleyici serisi yıllardır piyasada olduğundan, FeatherWings adı verilen ve kartın üstüne veya altına monte edilebilen çok sayıda aksesuar ve eklenti kartı bulunmaktadır.
Feather ekosistemine yatırım yapmamış olsanız bile, güçlü pil desteği, STEMMA QT uyumluluğu, 8MB Flash depolama ve dört ADC bağlantı noktası dahil Adafruit’in mikro denetleyicisi hakkında sevilecek çok şey var. Normal bir Pico’nun üç katı fiyatına sahip olmasına rağmen bir çok yönden fiyat konusunu makul kılabiliyor.
Donanım Özellikleri
- 21 × çok fonksiyonlu 3.3V GPIO pin
- 2 × SPI, 2 × I2C, 2 × UART, 4 × 12-bit ADC
- 16 × kontrol edilebilir PWM kanalı, 8 × programlanabilir I/O
- Castellated modül, doğrudan taşıyıcı kartlara lehimlemeye izin verir
- Yerleşik WS2812 Neopiksel RGB Led
- STEMMA QT konnektör
- Çalışırken değiştirilebilir LiPo ve Lilon piller için destek
- USB Tip C
- Çift çekirdekli Arm Cortex M0+ işlemci
- 133 MHz’e kadar çalışan esnek saat hızı
- 264 KB SRAM ve 8 MB yerleşik Flash bellek
Adafruit Feather RP2040, Feather tasarım ilkelerini takip eder ve bu nedenle FeatherWings olarak bilinen Feather eklenti yelpazesi ile uyumludur. 2 x 0,9 inç (50.8 x 22,8 mm) ölçülerinde olan Feather RP2040, 2 x 0,8 inç (51 x 21 mm) olan Raspberry Pi Pico’dan biraz daha büyüktür.
Daha büyük boyutuna rağmen, Feather RP2040, Feather pin çıkışına uyacak şekilde düzenlenmiş, PIco’nun 40’ına karşı, 21 azaltılmış sayıda GPIO piniyle birlikte gelir.
21 pinden biri Pico’dan bir tane olmak üzere dört adet 12-bit ADC pini var ve pil güç seviyelerini izlemeyerek ekstra ADC elde ediyoruz. İki set I2C pini, iki SPI ve iki UART vardır. 21 pinden 16’sı servo kontrol, LED’ler ve temel ses çıkışı gibi PWM (Darbe Genişliği Modülasyonu) için kullanılabilir.
CircuitPython kullanarak kontrol edebileceğimiz tek bir Neopiksel RGB LED görüyoruz. Yerleşik flash depolama, Raspberry Pi Pico’da bulunan miktarın dört katıdır, 8MB’a karşı 2MB’dir. Tipik bir CircuitPython kurulumuyla, kodumuz ve destekleyici kitaplıklar için hala yaklaşık 7 MB’lık bir yedeğimiz var.
Feather kartları ekstra özelliklerle gelir ve Feather RP2040 da farklı değildir. Kartın sol üst kısmında uyumlu Lityum İyon ve Lityum Polimer piller için bir JST konektörü görüyoruz. USB’ye takıldığında, pil 200mA’da şarj olur, bu da bunu gömülü projeler için kullanışlı hale getirir.
Piller çalışırken değiştirilebilir ve kritik projeler için bir UPS biçimi olarak kullanılabilir. Yedek bir LiPo pil taktık ve yerleşik Neopixel’i kontrol etmek için bir test projesi yazdık. USB gücünü çıkardıktan sonra kart kodu çalıştırmaya devam etti. JST konektörünün dahil edilmesi, birkaç GPIO pinini kaybetmemizin nedenidir, ancak pil gücünün dahil edilmesi için kayıplarını memnuniyetle karşılayacağız.
Feather kartlarda bulunan diğer bir özellik, uyumlu bileşenlere hızlı bağlantı sağlayan anahtarlı bir konektör olan STEMMA QT konektörüdür. STEMMA QT konektörü, iki I2C kanalından biri için gerçekten bir kırılma noktasıdır ve uyumlu bileşenler gerçekte I2C kartlarıdır.
Son olarak, yeni aygıt yazılımının flashlanması için kullanılan BOOTSEL düğmesi ve Feather RP2040’ı sıfırlayan ve USB C bağlantı noktasındaki aşınma ve yıpranmayı önleyen bir RESET düğmesi görüyoruz.
Adafruit Feather RP2040 ile Programlama
Feather RP2040 bir Adafruit kartı olduğundan, Adafruit’in MicroPython’un versiyonu olan CircuitPython’u tercih edilen programlama dili olarak savunacağı açıktır.
CircuitPython, MicroPython’dan biraz daha kullanıcı dostudur, MicroPython ile çalışmak zor değildir ve USB HID desteği gibi bazı ekstra özellikler içerir. Feather RP2040’ımız bir USB flash sürücü olarak karşımıza çıkıyor ve kodumuzu yazmak için code.py dosyasını düzenleyebiliyoruz. Eklentiler ve aksesuarlar için önceden yazılmış Python kodu kitaplıkları Adafruit’ten indirilebilir ve özellikle STEMMA QT bileşenleriyle kullanıldığında projeleri büyük ölçüde basitleştirir.
Visual Studio Code’u kullanmayı seçtik ve kısa süre sonra kodumuzun kartla çalıştığını doğrulamak için yerleşik LED’i yakıp söndürebilecek bir komut dosyası yazdık. Bu başarı ile daha maceralı testlere geçtik. Neopixel kitaplığını kurduktan sonra Neopixel LED’in rengini değiştirmek için bir test senaryosu yazdık ve kodumuzu kaydettikten sonra Adafruit Feather RP2040 yeniden başlattı ve çalıştırdı.
Adafruit Feather RP2040 üzerinde STEMMA QT ve I2C Bağlantıları
Yerleşik STEMMA QT konektörü ilgimizi çekti, bu yüzden Feather RP2040’a bir MPR121 kapasitif dokunmatik kart bağladık, CircuitPython kitaplığını kurduk ve bir pime dokunulduğunda algılamak için birkaç satır kod yazdık.
Daha sonra, 16 x 2 karakter ekrana sahip bir I2C HD44780 LCD ekranı bağlamayı denedik. Ekranı Feather RP2040’a bağladık, uyumlu bir kütüphane bulduk ve ardından metni görüntülemek için kısa bir test yazdık. Bu kısmı bu karta olan güvenimizin darbe aldığı yer olarak söyleyebilriz, Python Kabuğunda, her iki I2C pininde de direnç çekme ihtiyacını belirten hatalar gördük. Feather RP2040, yerleşik dirençleri olan bir STEMMA QT kartı kullanmıyorsanız, I2C pinleri için pull-up dirençlerine sahip değildir.
İki adet 4.7K Ohm direnç ile test ettikten sonra bu sorunun ortadan kalktığını belirtebiliriz.
Feather RP2040’ı Adafruit’in FeatherWing eklenti kartlarından oluşan ekosisteminin hiçbiriyle test edemedik, ancak kullanıma hazır bir düzineden fazla var. Bunlara bir OLED ekran, bir Wi-Fi yardımcı işlemcisi, bir RGB LED matrisi, bir joystick ve LCD’li bir QWERTY klavye dahildir.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.