SAMD21 M0 Mini Programlama

Arduino Zero ve Arduino M0 ile uyumlu klon bir ürün olan Samd21 M0 Mini nasıl programlanır?

32 bit ARM Cortex M0 mikroişlemciye sahip (ATSAMD21G18) SAMD21 M0 Mini hem küçük boyutlarıyla (53mm x 19mm) hemde uygun fiyatıyla diğer orjinal ürünlere göre avantajlıdır. Aliexpress gibi yurtdışı alışveriş sitelerinde ortalama satış fiyatı 11$ civarında. Orjinal Arduino ürünü olmamasına karşın SAMD21 M0 Mini Arduino IDE ile programlanabilir.

Samd21 M0 pin bağlantıları
Samd21 M0 pin bağlantıları

Bunun için ilk önce Arduino IDE ‘ye bu kart için uygun board yüklemelisiniz. Program menüsünden Araçlar → Kart Kart Yöneticisi ‘ni seçin. Kart Yöneticisi diyalog kutusuna M0 yazın. Çıkan sonuçlar arasından Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino kartını seçerek yükleyin.

Samd21 M0 Mini

Yükleme işlemi tamamlandıktan sonra Araçlar → Kart  adımlarını izleyerek Arduino/Genuino Zero (Native USB Port) kartını seçin.

Samd21 M0 Mini Programlama

Bu işlemden sonra SAMD21 M0 Mini kartınızı artık Arduino IDE ile programlayabilirsiniz. Eğer USB için Arduino driver yüklediyseniz klon ürün için ayrıca driver yüklemeye gerek yoktur. SAMD21 M0 Mini kartını   usb kablo ile bilgisayara bağlayarak programlamaya geçebilirsiniz. 

Bu ürün için programlama yaparken dikkat edilecek bir noktada Serial komutudur. SAMD21 M0 Mini kartında Serial komutu sadece D0 (RX), D1 (TX) uçlarını aktif eder. Kart üzerinde bulunan USB portundan Seri çıkış almak için SerialUSB komutunu kullanmak gerekir.

Aşağıdaki örnek kodu kullanarak SAMD21 M0 Mini ‘nin sağlamlık kontrolünü yapabilirsiniz.

// Serial Ports on the WeMos M0 (Arduino M0 variant)
// https://startinglectronics.org/articles/arduino/wemos-arduino-m0/
// 30 May 2018 | W.A. Smith

void setup() {
  // Virtual USB COM Port (Native USB)
  SerialUSB.begin(9600);
  while (!SerialUSB);
  SerialUSB.println("Test SerialUSB");

  // TXD and RXD pins at end of board
  Serial.begin(9600);
  while (!Serial);
  Serial.println("Test Serial");

  // TX and RX pins on digital pins 0 and 1
  Serial1.begin(9600);
  while (!Serial1);
  Serial1.println("Test Serial1");
}

void loop() {
  // Square wave for oscilloscope testing
  //Serial.write('U');
}

Erdoğan Demirtaş
Erdoğan Demirtaş
Cumhuriyet Üniversitesi, Sivas Meslek Yüksekokulu, Endüstriyel Elektronik bölümü mezunuyum. Özel bir şirkette, endüstriyel alanda kullanılan (medikal, telekomünikasyon, savunma sanayi, tekstil, cnc, rafineri, matbaa vb.) elektronik kartların/cihazların bakım ve onarımını yapmaktayım.
ilgili yazılar

Yorum Bırak

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

son eklenenler