İçindekiler:
- 1. Adım: Başlamadan Önce
- 2. Adım: Genel Bakış
- 3. Adım: Mevcut Panoları İndirme
- Adım 4: Pano Dosyalarını Bulma ve Kopyalama
- Adım 5: Varyant Oluşturma
- 6. Adım: Bir Pano Tanımı Oluşturun
- 7. Adım: Anakart Sürümünü Güncelleyin
- Adım 8: JSON Paket Dosyası Oluşturun
- 9. Adım: Son Adım - Özel Panonuzu Kurun
- Adım 10: Sonuç
Video: Arduino IDE: Özel Panolar Oluşturma: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Son altı ayda, Robotics Masters tarafından geliştirilen Robo HAT MM1 panosuna farklı kitaplıkları taşımak için çok zaman harcadım. Bu, bu kütüphaneler, perde arkasında nasıl çalıştıkları ve en önemlisi - gelecekte yeni panolar eklemek için ne yapılması gerektiği hakkında çok şey keşfetmeye yol açtı.
Bu, panoları için kütüphaneleri taşımak isteyenlere yardım etmek için yapacağım bir dizi yazımın ilki. Bilgi kaynaklarının çoğu belirsiz veya dışarıdan birinin anlaması zor olabilir. Herkes için başarılı bir limana nasıl ulaşılacağını 'gizlemeyi' ve açıklamayı umuyorum.
Bugün Arduino Platformuna bakacağız. Dünya çapında 700.000'den fazla farklı kart çeşidine sahiptir ve eğitim, endüstri ve üreticiler için en popüler elektronik platformlarından biridir.
Birçok Google Aramasından sonra bunun nasıl yapılacağına dair çok sınırlı bilgi kaynağı bulabildim. O yüzden nasıl yaptığımı detaylı bir şekilde yazayım dedim.
İşte başlıyoruz!
1. Adım: Başlamadan Önce
Bir yazılım kitaplığını veya donanım yazılımını panonuza taşımaya başlamadan önce, kullandığınız teknoloji hakkında birkaç önemli noktayı bilmeli ve aşağıdaki soruları yanıtlayabilmelisiniz.
- Hangi işlemciyi kullanıyorsun?
- Hangi mimariyi kullanıyor?
- Bu mikroişlemcinin veri sayfasına erişimim var mı?
- Piyasada aynı mikroişlemciyi kullanan benzer bir anakart var mı?
Bunlar çok önemli. Geliştirme sürecine nasıl yaklaştığınızın birçok yönünü etkileyecektir.
Arduino kartları genellikle sınırlı sayıda işlemci türü ve mimarisi kullanır. En yaygın olanı AVR mimarisini (Arduino Uno) kullanan ATMEGA serisidir. SAMD işlemcileri (ARM) ve diğer daha güçlü işlemcileri kullanarak daha yaygın hale gelen yeni nesil Arduino'lar var. Bu yüzden hangisini kullandığınızı kontrol etmek önemlidir.
Bir mikroişlemcinin veri sayfası, bellenimi derlerken kartın beklendiği gibi yanıt vermesini sağlamak için kesinlikle hayati önem taşır. Onsuz, doğru pin çıkış fonksiyonlarını ayarlayamaz veya seri portları yapılandıramazsınız.
Kullanmakta olduğunuz işlemci hakkında ihtiyacınız olan tüm bilgilere sahip olduğunuzda, yazılıma bakmaya başlayabilir ve özel kartınız için çalışacak şekilde değiştirebilirsiniz.
2. Adım: Genel Bakış
Herhangi bir projenin en zor kısmı iyi bir başlangıç noktası bulmaktır. Bu farklı değil. Arduino için özel panoların nasıl oluşturulacağına dair yeterli ayrıntıya sahip iyi öğreticiler bulmakta zorlandım. Çoğu öğretici size nasıl 'özel bir pano ekleyeceğinizi' gösterir, ancak nasıl 'özel bir pano oluşturacağınızı' göstermez. İşte nelerin dahil olduğunun kısa bir özeti.
- Mevcut Pano Tanımlarını İndirin ve Kopyalayın
- Tanım Dosyalarını Güncelleme (variant.h, varient.cpp)
- Pano Girişi Oluştur (board.txt)
- Pano Sürümünü Güncelle (platform.txt)
- Yüklemeye Hazırlanıyor (json)
- Arduino IDE'de Board Kurulumu
Her adım aşağıda ayrıntılı olarak açıklanacaktır. Arduino IDE'nin arkasında her şeyin nasıl çalıştığını netleştirmeye yardımcı olmak için her dosyanın birbiriyle nasıl etkileşime girdiğine dair kapsamlı bir tartışma da olacak.
Bu eğitimde size SAMD işlemciler için özel bir anakartın nasıl oluşturulacağını göstereceğim. Daha spesifik olarak, taşıdığım Robo HAT MM1 kartında kullanılan mikroişlemci olan SAMD21G18A.
Ayrıca Arduino IDE 1.8 veya sonraki sürümünün zaten indirildiğini varsayıyorum. Yazarken Arduino 1.8.9 kullandım.
3. Adım: Mevcut Panoları İndirme
İlk adım, kartınıza uyan en yakın varyant Arduino kartını indirmektir. SAMD kartları için bu Arduino Zero'dur.
Arduino IDE 1.6'dan bu yana, yeni panoları ortama indirme yöntemi, yazılım geliştiricilerin sağladığı özel JSON dosyalarını eklemek ve ardından özel panoları “Boards Manager” kullanarak kurmaktır. Arduino IDE'nin önceki sürümleri, bugün tartışmayacağımız farklı bir yöntem kullandı. Bu öğreticide daha sonra kendi JSON dosyamızı oluşturacağız, ancak önce bu yöntemi kullanarak Arduino Zero kartını eklememiz gerekiyor.
Şansımıza, indirmek istediğimiz panonun bir JSON dosyasına ihtiyacı yok çünkü JSON dosyası Arduino IDE ile önceden paketlenmiş durumda - bu yüzden panoyu “Boards Manager”dan kurmamız yeterli.
Bunu yapmak için “Araçlar” a gidin ve ardından “Pano” menüsünü genişletin. “Kurul” menüsünün en üstünde “Kurullar Yöneticisi” olacaktır. Boards Manager'ı getirmek için bu menü seçeneğine tıklayın.
(Resimlere Bakın)
Boards Manager açıldığında Arduino IDE'de sakladığı tüm JSON dosyalarına bakacak ve ardından dosyadan ayarları indirecektir. Yükleyebileceğiniz mevcut Arduino kartlarının uzun bir listesini görmelisiniz.
(Resimlere Bakın)
Bu eğitim için yalnızca “Arduino SAMD Boards (32-bits ARM Cortex-M0+)” kartıyla ilgileniyoruz, ancak bu noktada ihtiyacınız olan kartı saptırabilir ve kurabilirsiniz. Lütfen “Arduino SAMD Boards (32-bit ARM Cortex-M0+)” kartını arayın ve kurun. Bu, listedeki metne ve ardından sağ taraftaki metne tıkladıktan sonra görünecek olan “Yükle” düğmesine tıklayarak yapılabilir. Kurulumu birkaç dakika sürecektir.
Yeni panoların kurulumuyla ilgili daha fazla ayrıntı için: Adafruit, Feature M0 panolarının nasıl kurulacağını açıklayan harika bir öğreticiye sahiptir.
Artık pano dosyaları yüklendiğine göre, bunları özel panonuz için değiştirilebilmeleri için kopyalayabiliriz.
Adım 4: Pano Dosyalarını Bulma ve Kopyalama
Windows için Pano Dosyaları şurada bulunur (kullanıcı adını kullanıcı adınızla değiştirmeyi unutmayın):
C:\Kullanıcılar\kullanıcı adı\AppData\Local\Arduino15\paketler
Bu klasörde, değiştirmek için kopyalamanız gereken dosyalara ulaşmak için biraz daha derine inmeniz gerekiyor. Bu eğitim için, kurulacak olan Arduino Zero board dosyalarını alacağız (kullanıcı adınızı kullanıcı adınızla değiştirmeyi unutmayın):
C:\Kullanıcılar\kullanıcı adı\AppData\Local\Arduino15\packages\arduino\donanım\samd
Bu dizinde bulunan sürüm numaralı klasörü, Belgeler klasörünüzdeki veya seçtiğiniz klasördeki yeni bir klasöre kopyalayın. Bu eğitimin amaçları doğrultusunda, bunları Documents içinde 'özel panolar' adlı yeni bir klasöre koyacağım.
Klasör bir dizi klasör ve dizin içerir. Kullanacaklarımız ekran görüntüsündeki tabloda belirtilmiştir.
Adım 5: Varyant Oluşturma
Artık özel bir pano girişi oluşturmaya başlamaya hazırız. Bu eğitim için örnek olarak Robo HAT MM1'i kullanacağım. Daha önce belirtildiği gibi, Arduino Zero yapısına en yakın olan SAMD tabanlı bir karttır.
Varyans klasörüne girip orada bulunan arduino_zero klasörünü kopyalayarak başlayacağız. Yeni tahta varyantını 'robohatmm1' olarak yeniden adlandıracağız. Sizinkini istediğiniz gibi arayabilirsiniz.
(Resme bakın)
robohatmm1 klasörünün içinde düzenlemeye başlamamız gereken iki pin olacak: varyant.cpp ve varyant.h. İkisini de açın.
Bu benim çalışmam biraz zaman aldı, bu yüzden size biraz zaman kazandırmak için burada açıklayacağım. varyant.cpp dosyası, varyant.h'de referans verilen çok geniş bir pin dizisi içerir. varyant.h içindeki tüm pin referansları, varyant.cpp dizisindeki belirli bir konumdaki pin konfigürasyonuna referanstır.
(Bkz. İki Dosyalı Ekran Görüntüsü)
Bu nedenle, düzenlemelerinizin çoğu bu iki dosyada da olacak, ancak varyants.cpp'deki pinlerin sırasını değiştirirseniz, başlık dosyasındaki (variants.h) referansları değiştirmeniz gerektiğinden emin olmanız gerekir. Robo HAT MM1 için sadece bazı pinleri ve fonksiyonları değiştirmem gerekiyordu. Bu, varyantlarda yapıldı.h. SAMD21 12 PWM kanalını işleyebildiği için bazı yeni PWM pinleri ekledim. Ayrıca Servolar, Sinyaller (ADC/Dijital yerine) ve doğru işlevlere özel eşleme için bazı adlar ekledim - SPI, UART ve I2C gibi.
Unutulmaması gereken önemli şey, varyants.h'de belirtilen işlevler için kullandığınız dizi referanslarının varaints.cpp'deki piminkiyle eşleşip eşleşmediğini iki kez kontrol etmektir - buna şimdi bakacağız.
Variants.cpp çok güçlü ve önemli bir dosyadır. Pinleri donanım ayarlarına uyacak şekilde ayarlamanın tüm zor işini yapar. Bunu açıklamanın en kolay yolu, her parçanın bir örneği ve açıklamasıdır.
(Ekran Görüntüsünde Tabloya Bakınız)
Örnek (varyans.cpp'den alıntı)
{ PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SDA
Bu, Robo HAT MM1 için varyants.cpp dizisindeki ilk pimdir. Veri sayfasındaki tablo bir resim olarak sağlanmıştır (gri tablo).
(Resimlere Bakın)
Bu özel pin, I2C Veri Pin Fonksiyonu için kullanılır. Tabloya baktığımızda bu pinin I2C SDA pini olarak kullanılabildiğini görebiliyoruz (iyi bir başlangıç!). Pin 22'deki PORTA'nın kısaltması olan “PA22” olarak adlandırılmıştır. Bu pin için PORT ve pin numarasını hemen ayarlayabiliriz.
Bundan sonra yapmamız gereken pini seri haberleşme portu olarak ayarlamak. Pin, SERCOM 3 (PIO_SERCOM_ALT) kullanılarak SERCOM 3 ve D kullanılarak fonksiyon C (PIO_SERCOM) üzerinden seri iletişime sahiptir. Robo HAT MM1'in amaçları doğrultusunda I2C iletişimi için SERCOM3 kullanıyoruz. Bu, C İşlevindedir; diğer adıyla. Varyantlar.cpp için PIO_SERCOM.
Bu pini sadece I2C SDA olarak kullanmayı planladığımız için diğer fonksiyonların hiçbirini ayarlamaya gerek yoktur. Hepsi bir önceki tablodan “Hayır” veya “Değil” seçenekleri olarak ayarlanabilir. Bununla birlikte, diğer işlevleri kullanmak isteseydik - veri sayfasını gözden geçirebilir ve hepsini doğru alanlara koyabiliriz. Hepsi veri sayfasında var.
Varyant dosyalarının değiştirilmesi biraz zaman alabilir. Dikkatli olun ve her zaman üç kez kontrol edin.
6. Adım: Bir Pano Tanımı Oluşturun
Varyant dosyalarınızı hazır hale getirdikten sonra, buradan itibaren doğrudan olmalıdır. İşin çoğu, dosyaları kopyalayıp yapıştırmak veya değiştirmek ve güncellemek olacaktır.
boards.txt ile başlayarak.
(Resme bakın)
Zaten orada olan bir pano tanımını kopyalayıp yapıştırmak isteyeceksiniz. Arduino Zero'yu tekrar tavsiye ederim.
Kolaylık sağlamak için yalnızca pano adını (ilk satır), usb_product, usb_manufacturer ve varyantı (robohat) değiştirin. Diğer argümanları daha sonra ihtiyaçlarınıza göre özelleştirebilirsiniz - örneğin özel bir önyükleyici veya kartınızı tanımlamak için farklı USB VID/PID'ler gibi.
Pano varyantı, başlangıçta oluşturulan klasöre verilen adla eşleşmelidir. Bu eğitim için ona 'robohatmm1' adını verdim.
Ayrıca her satırın ilk bölümünü pano adınızla eşleşecek şekilde değiştirmeniz önerilir. Ekran görüntüsünde 'robo_hat_mm1' olarak değiştirilmiştir. Panonuz için aynı formatta bir isim seçmelisiniz.
Yukarıda bahsedilen değişiklikleri daha sonra yapmak istemiyorsanız, bu tamamen boards.txt içindir.
7. Adım: Anakart Sürümünü Güncelleyin
Platformlar.txt dosyasında, adı özel panonuzun adıyla değiştirin. Ayrıca sürüm numarasını da değiştirin. Bunu neye ayarladığını hatırla, daha sonra ihtiyacımız olacak.
Adım 8: JSON Paket Dosyası Oluşturun
Kartınızı Arduino IDE'ye kurmak için içe aktaracağınız bir JSON dosyası oluşturmanız gerekecektir. JSON dosyası, Arduino IDE'ye panoyu kurmak için dosyaların nereden alınacağını, hangi ekstra paketlerin gerekli olduğunu ve diğer birkaç meta veri bitini söyler.
Bu dosyayı az önce çalıştığımız klasörün dışına kaydetmeniz çok önemlidir.
Dosyanın çoğu kopyalanabilir ve dosyanıza yapıştırılabilir. Yalnızca "panolar" bölümünü ve dosyanın üstündeki diğer meta verileri değiştirmeniz gerekecektir. Güncellenmesi gerekenler için ekran görüntüsüne bakın.
(Resme bakın)
- Kırmızı Bölüm: Bu, kullanıcıların yardım bulmak için kullanabileceği meta verilerdir. Çok az teknik önemi vardır.
- Mavi Bölüm: Bunların hepsi önemlidir. Arduino IDE'de gösterirler. Paketi yüklemeye çalışan herkese Ad, Mimari ve Sürüm gösterilecektir. Burası, platformlar.txt'den sürüm numarasını girmeniz gereken yerdir. İkinci mavi bölüm, pakete dahil olan panoların listesidir. Birden fazla panonuz olabilir.
- Yeşil Bölüm: Bu bölümün daha fazla açıklamaya ihtiyacı var.
(Görsellerdeki Tabloya Bakınız)
Zip dosyasını oluşturduktan, zip dosyası sağlama toplamını ve dosya boyutunu aldıktan sonra, artık zip dosyasını bir konuma yükleyebilirsiniz. Bu URL'yi 'url' alanına koymanız gerekecek. Ad veya yukarıdaki ayrıntılardan herhangi biri yanlışsa, özel panonuz yüklenemeyecektir.
Ayrıca package_boardname_index.json dosyanızı internette herkese açık bir konuma yüklediğinizden emin olun. GitHub iyi bir seçenektir.
Robo HAT MM1 özel pano dosyası burada bulunabilir.
9. Adım: Son Adım - Özel Panonuzu Kurun
Her şey yolunda gidiyor, artık JSON dosyanızı Arduino IDE'ye ekleyebilmeli ve özel kartınızı kurabilmelisiniz.
JSON dosyasını dahil etmek kolaydır! Arduino IDE'de - "Dosya" > "Tercihler"e gidin ve package_boardname_index.json dosyanızın konumunu (URL) kopyalayıp Tercihler menüsünün altındaki "Ek Pano Yöneticisi URL'leri" bölümüne yapıştırın.
(Resme bakın)
Ardından Tamam'a basın.
Unuttuysanız, yeni panoları kurmak için yukarıdaki talimatları uygulayın. Bu sefer özel panonuzu aramayı unutmayın!
(Resme bakın)
Yeni panoların kurulumuyla ilgili daha fazla ayrıntı için: Adafruit, Feature M0 panolarının nasıl kurulacağını açıklayan harika bir öğreticiye sahiptir.
Adım 10: Sonuç
Bu, özel Arduino panoları oluşturmak eğlenceliydi. Gelecekte deneyebileceğim çok şey var (ek seri bağlantı noktaları ekleyerek), ancak bu harika bir öğrenme deneyimi oldu!
Crowd Supply kampanyasını da kontrol ettiğinizden emin olun. 11 Haziran 2019'da sona eriyor.
www.crowdsupply.com/robotics-masters/robo-…
Umarım bu size yardımcı olmuştur veya okurken eğlenmişsinizdir!
Teşekkürler!
Önerilen:
STM32f767zi Cube IDE'ye Başlarken ve Size Özel Eskiz Yükleme: 3 Adım
STM32f767zi Cube IDE'ye Başlarken ve Size Özel Çizim Yükleyin: SATIN AL (satın almak/web sayfasını ziyaret etmek için testi tıklayın)STM32F767ZIS DESTEKLENEN YAZILIM· STM32CUBE IDE· KEIL MDK ARM µVISION· EWARM IAR Gömülü WORKBENCH· ARDUINO olabilecek çeşitli yazılımlar STM mikrodenetleyicilerini programlamak için kullanılır
Arduino MIDI Denetleyici Oluşturma: 9 Adım (Resimlerle)
Arduino MIDI Denetleyicisi Oluşturma: Bu talimat ilk olarak 28 Haziran 2020'de blogumda yayınlandı.Elektronik içeren şeyler yapmaktan zevk alıyorum ve her zaman Arduino kullanarak bir şeyler inşa etmek istemişimdir.Yeni başlayanlar için bulduğum en yaygın yapılardan biri, MIDI denetleyicisi.
Adım Adım PC Oluşturma: 9 Adım
Adım Adım Bilgisayar Oluşturma: Sarf Malzemeleri: Donanım: AnakartCPU & CPU soğutucusuPSU (Güç kaynağı ünitesi)Depolama (HDD/SSD)RAMGPU (gerekli değil)CaseTools: TornavidaESD bilezik/aplikatörlü matstermal macun
Arduino Nano V2 ile Otomatik Solar Tracker Oluşturma: 17 Adım (Resimlerle)
Arduino Nano V2 ile Otomatik Solar Tracker Oluşturma: Merhaba! Bu Eğitilebilir Yazının, Solar Tracker projemin ikinci bölümü olması amaçlanmıştır. Güneş izleyicilerinin nasıl çalıştığına ve ilk izleyicimi nasıl tasarladığıma ilişkin bir açıklama için aşağıdaki bağlantıyı kullanın. Bu, bu proje için bağlam sunacaktır.https://www.instructables.co
Arduino IDE'ye Özel Kart Ekleme: 3 Adım
Arduino IDE'ye Özel Panolar Ekleme: Arduino IDE'nin 1.6.4 sürümü, Arduino Board Manager'a üçüncü taraf arduino uyumlu panolar eklemek için resmi desteği getirdi. Bu ekleme desteği harika bir haber, çünkü kullanıcıların tek bir tıklamayla hızlı bir şekilde özel panolar eklemesine izin veriyor