Arduino pro mikro pin çıkışı. Farklı Arduino kartları: pin çıkışı ve bağlantı şeması. Arduino kompakt panoları

  • 04.11.2019

Yazımda Arduino'nun bağlantı şeması ve pin çıkışı hakkında detaylı ve resimlerle anlatmak istiyorum.

Aşağıda çeşitli mikro denetleyici modellerini ele almaya çalışacağız.

Uno kelimesi İtalyancadan "bir" olarak çevrilmiştir. Cihaz, Arduino 1.0'ın piyasaya sürülmesinden sonra adlandırılmıştır. Başka bir deyişle, Uno, tüm Arduino tipi platform için referans modeldir. Etkili olduğunu ve zaman içinde test edildiğini kanıtlamış en son USB kartı serisidir.

Arduino Uno, bir ATmega 328 mikrodenetleyiciye (veri sayfası) dayanmaktadır.

Onun kompozisyon takip etme:

  • dijital giriş ve çıkışların sayısı 14'tür (ve bunlardan altısı PWM çıkışı olarak kullanılabilir);
  • analog girişlerin sayısı altıdır;
  • 16 MHz - kuvars rezonatörü;
  • bir güç konektörü var;
  • devrenin içinde ICSP programlaması için bir konektör vardır;
  • bir sıfırlama düğmesi var.

Tüm yeni arduino kartlarının ayırt edici bir özelliğinin, modası geçmiş FTDI mikro devresi yerine USB-UART arayüzleri için bir ATmega 16U2 mikro denetleyicisinin (veya R1, R2 sürümlerinde ATmega 8U2) kullanılması olduğunu unutmamak son derece önemlidir.

R2 sürümündeki Uno kartı, kullanılan mikro denetleyicinin HWB hattında ek bir kaldırma direnci ile donatılmıştır.

Pin yapısı aşağıdaki gibi:

  1. Seri arayüz veri yolları # 0 (RX - veri alma), # 1 (TX - veri gönderme) kullanır.
  2. Harici kesinti için 2, 3 numaralı pinler kullanılır.
  3. PWM için 3,5, 6, 9, 10, 11 numaralı pinler kullanılır. Analog yazma işlevi 8 bitlik bir çözünürlük sağlar.
  4. SPI iletişimi: pinler # 10 (SS), # 11 (MOSI), # 12 (MISO), # 13 (SCK).
  5. Pin No. 13, yüksek potansiyelde yanan LED'e güç sağlar.
  6. Uno, 10 bit çözünürlüğe sahip 6 analog giriş (A0 - A5) ile donatılmıştır.
  7. Üst voltaj sınırını değiştirmek için AREF pini (analog referans işlevi) kullanın.
  8. I2C iletişimi (TWI, Tel kitaplığı) # 4 (SDA), # 5 (SCL) pinleri aracılığıyla yapılır.

Cihaz, ATmega16U2 mikro denetleyicisine dayanmaktadır ve sıfırlama devresi boyunca yüksek düzeyde gürültü bağışıklığına sahiptir.

Cihaz önceki sürümden yalnızca bu durumda USB-UART FTDI arayüzünün bir bilgisayara bağlandığında kullanılmaması bakımından farklılık gösterir. Bu görev, ATmega 16U2 mikro denetleyicisinin kendisi tarafından gerçekleştirilir.

Pano pin çıkışı değişiklikleri aşağıdaki gibidir:

  1. AREF pininin yanına iki pin eklendi: SDA, SCL.
  2. RESET pininin yanına iki pin de eklenir: IOREF, gerekli voltaja göre ayarlanan genişleme kartlarını bağlamanıza izin verir; ikinci pim kullanılmıyor ve yedekte.

2. Arduino Mini kartı

En basit ve en kullanışlı Arduino cihazlarından biridir.

Çalışma voltajı 5 volt ve frekansı 16 MHz olan bir ATmega 168 mikrodenetleyici kullanılır. Modellerdeki maksimum besleme gerilimi 9 volttur. Terminallerdeki maksimum akım 40 mA'dır.

Kurul şunları içerir:

  • 14 dijital pin (6 tanesi PWM çıkışı olarak kullanılabilir) hem giriş hem de çıkış olarak kullanılabilir;
  • 8 analog giriş (4 tanesi çıkışlarla donatılmıştır);
  • 16 MHz - kristal osilatör.

Cihaz pimleri Arduino Mini'nin şu amacı vardır:

  1. "Artı" karta güç sağlayan iki pim: RAW, VCC.
  2. "Eksi" kontağın çıkışı GND pinidir.
  3. Analog yazma işlevi kullanılırken PWM için 3, 5, 6, 9, 10, 11 numaralı pinler kullanılır.
  4. Diğer cihazlar 0, 1 numaralı sonuçlara bağlanabilir.
  5. Analog girişler # 0 - # 3 çıkışlı.
  6. Analog girişler # 4 - # 7 pin içermez ve gerekirse lehimleme gerektirir.
  7. Üst voltajı değiştirmek için tasarlanmış AREF pimi.

Pin çıkışı, arduino mini'nin farklı sürümleri için değişiklik gösterebilir.

3. Kart Arduino Mega 2560

Arduino Mega 2560, Arduino Mega'nın güncellenmiş bir versiyonu olan ATmega 2560 mikrodenetleyiciye (veri sayfası) dayanmaktadır.

USB-UART arayüzlerini dönüştürmek için yeni bir ATmega 16U2 mikro denetleyici (veya R1 veya R2 kart sürümleri için ATmega 8U2) kullanılır.

Kurul kompozisyonu takip etme:

  • dijital giriş / çıkış sayısı 54'tür (15 tanesi PWM çıkışı olarak kullanılabilir);
  • analog giriş sayısı - 16;
  • seri arayüzlerin uygulanması, 4 donanım UART alıcı-vericileri kullanılarak gerçekleştirilir;
  • 16 MHz - kuvars rezonatörü;
  • USB bağlantısı;
  • güç bağlantısı;
  • devre içi programlama, ICSP konektörü aracılığıyla gerçekleştirilir;
  • yeniden başlatma tuşu.

Mega 2560 R2 cihazında, 8U2 HWB hattını toprağa çeken özel bir direnç eklendi, bu da Arduino'yu DFU moduna geçirmeyi ve aygıt yazılımını güncellemeyi çok daha kolay hale getiriyor. R3 versiyonu öncekilerden biraz farklıdır. Cihazdaki değişiklikler şu şekildedir:

  • dört pin eklendi - SCL, SDA, IOREF (çeşitli genişletme kartlarının voltaj uyumluluğunu uygulamak için) ve henüz kullanılmayan bir yedek pin daha;
  • sıfırlama devresi boyunca artan gürültü bağışıklığı;
  • artan bellek boyutu;
  • ATmega8U2, ATmega16U2 mikro denetleyici ile değiştirildi.

Bulgular aşağıdakilere yöneliktir:

  1. Mevcut dijital pinler I / O işlevi görebilir. Aralarındaki voltaj 5 volttur. Her pinin bir yukarı çekme direnci vardır.
  2. Analog girişler kaldırma dirençleri ile donatılmamıştır. İşlem, analog Okuma işlevine dayanmaktadır.
  3. PWM pinlerinin sayısı 15'tir. Bunlar dijital pinler # 2 - # 13, # 44 - # 46'dır. PWM, analog yazma işlevi aracılığıyla kullanılır.
  4. Seri arayüz: Seri pinler: # 0 (rx), # 1 (tx); Seri1 pinleri: # 19 (rx), # 18 (tx); Seri2 pimleri: # 17 (rx), # 16 (tx); Seri3 pimleri: # 15 (rx), # 14 (tx).
  5. SPI arabirimi # 53 (SS), # 51 (MOSI), # 50 (MISO), # 52 (SCK) pinleri ile donatılmıştır.
  6. Sonuç 13 - yerleşik LED.
  7. Bağlı cihazlarla iletişim için pimler: No. 20 (SDA), No. 21 (SCL).
  8. Harici kesintiler için (düşük sinyal seviyesi, diğer sinyal değişiklikleri), # 2, # 3, # 18, # 19, # 20, # 21 pinleri kullanılır.
  9. AREF pini, analog Referans komutu ile etkinleştirilir ve analog giriş pimlerinin referans voltajını ayarlamak için tasarlanmıştır.
  10. Pimi sıfırlayın. Cihazın yeniden başlatılmasına neden olan önemsiz bir seviyenin (DÜŞÜK) oluşturulması için tasarlanmıştır (sıfırlama düğmesi).

4. Arduino Mikro kartı

Arduino Micro, yerleşik bir USB denetleyicisine sahip olan ATmega 32u4 mikrodenetleyicisine dayalı bir cihazdır. Bu çözüm, cihaz sistemde normal bir klavye, fare veya COM bağlantı noktası olarak algılanacağından, kartın bilgisayara bağlantısını basitleştirir. Cihazın bileşimi aşağıdaki gibidir:

  • giriş / çıkış sayısı - 20 (bunlardan 7'sini PWM çıkışı ve 12'sini analog giriş olarak kullanmak mümkündür); 16 MHz'e ayarlanmış kuvars rezonatörü;
  • mikro USB konektörü;
  • Dahili programlama için ICSP konektörü;
  • yeniden başlatma tuşu.

Ürünün tüm dijital pinleri, dijital Okuma, pin Modu, dijital Yazma fonksiyonları sayesinde hem giriş hem de çıkış olarak çalışabilir. Terminaller arasındaki voltaj 5 volttur. Bir çıkıştan tüketilen veya iletilen akımın maksimum değeri 40 mA'dır. Pimler, varsayılan olarak devre dışı bırakılan dahili dirençlerle eşleşir. 20 kΩ ile 50 kΩ arasında derecelendirilmiştir. Arduino micro'nun ayrı pinleri, ana olanlara ek olarak, bir dizi ek işlevi yerine getirebilir:

  1. Seri arayüzde, gerekli verileri yerleşik donanım alıcı vericisi aracılığıyla almak (RX) ve iletmek (TX) için # 0 (RX), # 1 (TX) pinleri kullanılır. İşlev, Seri sınıfının arduino mikro ile ilgilidir. Diğer durumlarda, iletişim bir USB bağlantısı (CDC) üzerinden yapılır.
  2. TWI arabirimi mikro denetleyici pinleri # 2 (SDA) ve # 3 (SCL) içerir. Wire kitaplık verilerinin kullanımına izin verir.
  3. 0, 1, 2, 3 numaralı pinler, ortaya çıkan kesintilerin kaynağı olarak kullanılabilir. Bunlar, düşük sinyal seviyesini içerir; sinyal seviyesi değiştiğinde kenarda, sonbaharda kesintiler.
  4. Analog yazma işlevi kullanılırken 3, 5, 6, 9, 10, 11,13 numaralı pinler, 8 bitlik bir analog PWM sinyali çıkarabilir.
  5. SPI arabirimi, ICSP konektöründeki pimleri içerir. Kart üzerindeki dijital pinlere bağlı değillerdir.
  6. LED'e bağlı ek çıkış RX LED / SS. İkincisi, USB kullanılarak veri aktarımı sürecini gösterir. Bu pin, SS pini için SPI arabirimiyle çalışırken kullanılabilir.
  7. Pin # 13, YÜKSEK veri gönderirken yanan ve değerler DÜŞÜK olduğunda kapanan bir LED'dir.
  8. A0 - A5 (kart üzerinde işaretli) ve A6 - A11 (4, 6, 8, 9, 10,12 numaralı dijital pinlere karşılık gelir) pinleri analogdur.
  9. AREF pini, yukarıdaki pinlerde üst analog voltaj değerini değiştirmenize izin verir. Bu, analog Referans işlevini kullanır.
  10. Sıfırlama pimini kullanarak, bir düşük seviye (DÜŞÜK) oluşturulur ve mikro denetleyici yeniden başlatılır (sıfırlama düğmesi).

"Radyo mühendisliği ev yapımı ürünlerim" üzerindeki çalışmayı kolaylaştırmak için, onların üretiminde, ünlü Arduino serisinin AtMega yongalarına dayanan mikrodenetleyici kartları gibi modaya uygun bir şeyi kullanmaya karar verdim. Bu panolarla çalışmak bir zevk. Sonuç, sadece lehimlenebilen değil, aynı zamanda programlanabilen ve kendi aygıt yazılımı yardımıyla "akla getirilebilen" tamamen kendi kendine yeten bir cihazdır.

Kötü olan bir şey var - orijinal İtalyan Arduino kartları ev yapımı ürünler için oldukça pahalıdır ve fiyatları hazır bir fabrika cihazı satın almakla karşılaştırılabilir, bu da bu cihazı satın almanın kendiniz yapmaktan çok daha kolay olduğu anlamına gelir.

Bulduğum çözüm basitti: eBay aracılığıyla bu kartların ucuz Çin analoglarını satın almak Sonuç olarak, ihtiyaçlarım için aşağıdaki kartı seçtim:


bu Leonardo Pro Micro ATmega32U4'tür. Kart bir mikro denetleyici üzerine inşa edilmiştir ATmega32U4 Bu, bir USB-UART dönüştürücü kullanmadan kartı bir bilgisayarın USB bağlantı noktasına bağlamayı mümkün kıldı. Bu, taslağı tahtaya yazmak için bir programcı kullanma ihtiyacını ortadan kaldırır. Fırsatlar:

  • frekans: 16MHz
  • 4 ADC kanalı (10 bit)
  • 10 genel amaçlı G / Ç bağlantı noktası (5 tanesi PWM ile)
  • rx / Tx pimleri
  • lED'ler: Güç, Rx, Tx
  • Boyutlar: 18x33 mm.

Kartın bir voltaj regülatörü vardır. 12V'a kadar güç kaynağı kullanımına izin verir
(RAW çıkışı, VCC değil!)

  • RAW - kart için harici güç kaynağı. Karta USB bağlantı noktasından güç verildiğinde, bu pin yaklaşık 4.8V'luk bir voltaja sahip olacaktır (USB'de 5V eksi Schottky diyotundaki düşüş). Bu pin üzerinden harici bir güç kaynağı bağlanmalıdır, izin verilen voltaj 12V'a kadar
  • VCC, mikro denetleyiciye verilen voltajdır (kart üzerindeki voltaj regülatöründen sonra çıkış). Kart harici bir kaynaktan besleniyorsa, bu pin diğer cihazları regüle edilmiş bir voltajla beslemek için kullanılabilir.
  • RST - mikrodenetleyici sıfırlama pimi, 10kΩ dirençle + 5V'a çekildi. Mikrodenetleyiciyi sıfırlamak için GND'ye bağlayın
  • GND yaygındır.

Bu kartın ana avantajı, fiyata ek olarak (200 ruble'den az), mikrodenetleyiciye yerleştirilmiş bir USB bağlantı noktasının varlığıdır; bu, yalnızca bir PC ile Arduino için bir iletişim arayüzü olarak değil, aynı zamanda normal USB giriş cihazı (klavye, fare ve hatta bir oyun çubuğu). Bu durumda, bu aygıt işletim sistemi tarafından ek sürücüler olmadan algılanır ve kurulur. Sürücü yalnızca kartın kendisini programlamak için doğrudan gereklidir.

Programda çalışırken, Arduino Leonardo ile çalışmayı seçmeniz gerekir:

Bu cihazı buradan da satın alabilirsiniz.

Genel bilgi

Mikrodenetleyici Arduino Mikro - mikrodenetleyici kartı tabanlı ATmega32u4 (), Adafruit ile birlikte geliştirilmiştir. Anakartta 20 dijital I / O pini (bunlardan 7'si PWM çıkışı ve 12'si analog giriş olarak kullanılabilir), 16 MHz kristal osilatör, mikro USB soketi, ICSP konektörü ve sıfırlama düğmesi bulunur. Bir mikrodenetleyici ile çalışmak için ihtiyacınız olan her şeye sahiptir. Arduino Micro'yu çalıştırmak için mikro USB kablosu kullanarak bilgisayarınıza bağlamanız yeterlidir. Denetleyicinin form faktörü, bir devre tahtasına sığdırmayı kolaylaştırır.

Micro, ATmega32u4'ün yerleşik USB bağlantısına sahip olması bakımından Arduino Leonardo'ya benzer, bu nedenle hiçbir yardımcı işlemci gerekmez. Bu, Micro'nun bağlı bir bilgisayarda sanal (CDC) seri (COM) bağlantı noktasına ek olarak fare veya klavye olarak görünmesini sağlar. Bu, başlangıç \u200b\u200bsayfasında ayrıntılı olarak tartışılan yönetim kurulunun işleyişindeki diğer değişiklikleri tanıtır.

Özellikler

Mikrodenetleyici

Çalışma gerilimi

Giriş voltajı (sınır)

Dijital Girişler / Çıkışlar

PWM kanalları 7

Analog giriş kanalları

12

Giriş / çıkış yoluyla sabit akım

3.3V pin için DC akım

Flash bellek

Bootloader için 4K kullanılan 32 KB (ATmega32u4)

2,5 KB (ATmega32u4)

1 KB (ATmega32u4)

Saat frekansı

Şema ve ilk veriler
Gıda

Arduino Mikro USB veya harici güç kaynağı ile çalıştırılabilir. Güç kaynağı otomatik olarak seçilir.

Harici güç (USB değil) bir DC güç kaynağından veya pilden gelebilir. Pil veya güç kaynağı pimleri Gnd ve Vin pimlerine bağlanmalıdır. Arduino Micro kartı 6-20V harici güç kaynağı ile çalışabilir, ancak 7V altında bir gerilim uygulandığında 5V pinine beş volttan daha az besleme yapılabilir, bu da kartın dengesiz çalışmasına neden olur. 12V'den fazla kullanıldığında, voltaj regülatörü aşırı ısınabilir ve karta zarar verebilir.

Güç pimleri:

  • VIN. Harici bir güç kaynağı kullanırken Arduino'nun giriş voltajı (bir USB bağlantısı veya diğer düzenlenmiş güç kaynağından gelen 5V'nin aksine). Bu pime voltaj uygulayabilirsiniz.
  • 5 V. Karttaki mikro denetleyiciye ve diğer bileşenlere güç sağlamak için düzenlenmiş besleme voltajı. Yerleşik regülatör veya USB veya diğer düzenlenmiş 5V güç kaynağı aracılığıyla VIN'den sağlanabilir.
  • 3 V... Gıda3.3V, yerleşik regülatör tarafından üretilir. Maksimum akım 50 mA.
  • GND. Zemin bulguları.
Hafıza

ATmega32u4, 32KB flash belleğe sahiptir (bootloader tarafından kullanılan 4KB ile birlikte). Denetleyicide ayrıca 2,5 KB RAM ve 1 KB EEPROM vardır (EEPROM kitaplığı kullanılarak okunur ve yazılır).

Girdiler ve çıktılar

Micro'nun 20 dijital pininin her biri pinMode (), digitalWrite () ve digitalRead () fonksiyonları kullanılarak giriş veya çıkış olarak kullanılabilir. 5 V'ta çalışır. Her bir pinin maksimum giriş veya çıkış akımı 40 mA'dır. Her pinin dahili bir 20-50 kΩ çekme direnci vardır (varsayılan olarak devre dışıdır). Ek olarak, bazı pimlerin özel işlevleri vardır:

  • Seri veri yolu: 0 (RX) ve 1 (TX). ATmega32U4 seri veriyolunun donanım özelliklerini kullanarak TTL seri verilerini almak (RX) ve iletmek (TX) için kullanılır. Lütfen Micro sınıfının Seri bir (CDC) bağlantısını belirtir; 0 ve 1 pinlerinde TTL seri bağlantı için sınıfı kullanın Seri1 .
  • TWI: 2 (SDA)ve 3 (SCL).Wire kitaplığını kullanarak TWI bağlantısını destekler.

Harici kesintiler: 0 (RX), 1(TX), 2 ve 3. Bu pinler, alçak bir kenarda, yükselen veya alçalan bir kenarda veya bir değer değişikliğinde bir kesintiyi tetikleyecek şekilde yapılandırılabilir. Ayrıntılar attachInterrupt () işlevinde açıklanmıştır.

  • PWM: 3, 5, 6, 9, 10, 11 ve 13. AnalogWrite () işleviyle 8 bit PWM sağlar.
  • SPI: konektördeICSP. Bu pinler, SPI kitaplığını kullanarak SPI iletişimini destekler. SPI pinlerinin Arduino Uno'daki gibi herhangi bir dijital I / O'ya bağlı olmadığını, yalnızca ICSP konektöründe ve MISO, MOSI ve SCK etiketli en yakın pinlerde bulunduğunu unutmayın.
  • RX_ LED/ SS. Bu, Leonardo ile karşılaştırıldığında ek bir sonuçtur. USB aktarım etkinliğini gösteren RX_LED'e bağlanır, ancak SPI iletişimi için bağımlı seçim (SS) pini olarak da kullanılabilir.
  • LED: 13. Dijital pin 13'e bağlı yerleşik bir LED. Bu pin yüksek olduğunda LED yanar, düşük olduğunda kapalıdır.
  • Analog girişler:Bir0 - Bir5, Bir6 - Bir11 (dijital pimler 4, 6, 8, 9, 10 ve 12'de). Micro, A0 ila A5 girişleri doğrudan pinler üzerinde etiketlenmiş toplam 12 analog girişe sahipken, programda A6 ila A11 sabitleri kullanılarak da erişilebilen diğerleri sırasıyla 4, 6, 8, 9 numaralı dijital pinlere atanmıştır. , 10 ve 12. Hepsi dijital G / Ç olarak da kullanılabilir. Her analog giriş 10 bitlik bir çözünürlük sağlar (yani 1024 farklı değer). Varsayılan olarak, tüm analog girişler topraktan 5V'a ölçülür, ancak bu aralığın üst sınırı AREF pini ve analogReference () kullanılarak değiştirilebilir.

Tahtada iki tane daha pin var:

  • ALAN. Analog girişler için referans voltajı. AnalogReference () ile kullanılır.
  • Sıfırla. Mikrodenetleyiciyi sıfırlamak için bu satırı düşük tutun. Bu kart, denetleyicinin üzerindeki düğmeye erişimi engelliyorsa, genellikle bir genişletme kartına Sıfırla düğmesi eklemek için kullanılır.
Pin yapısı

Arduino Micro pin atamaları, Leonardo'ya benzer kullanım için tüm pinlerin tam işlevselliğini gösterir.

İletişim

Mikrobir bilgisayarla, başka bir Arduino ile veya diğer mikrodenetleyicilerle iletişim kurmanın birkaç yolu vardır. Kontrolör ATmega32U4 seri iletişim için 0 (RX) ve 1 (TX) dijital pinlerinde bulunan bir UART TTL (5V) sağlar. 32U4 ayrıca USB üzerinden seri iletişime (CDC) izin verir ve bilgisayar yazılımına sanal bir COM bağlantı noktası olarak görünür. Ek olarak, kalıp, standart USB COM sürücülerini kullanan bir "tam hızlı" USB aygıtı olarak işlev görür. Windows bir .inf dosyası gerektirir (Arduino Uno için 4. maddeye bakın). Arduino yazılımı, Arduino kartından basit metin verileri göndermenizi ve almanızı sağlayan bir Seri monitör içerir. USB bağlantısı üzerinden bilgisayara veri aktarırken kart üzerindeki RX ve TX LED'leri yanıp sönecektir (ancak 0 ve 1 pinleri aracılığıyla seri iletişimde bulunmaz) SoftwareSerial kitaplığı, Micro'nun dijital pinlerinden herhangi biri aracılığıyla seri iletişim sağlar.

Mikro normal bir klavye veya fare gibi görünebilir ve Klavye ve Fare sınıflarını kullanarak bu giriş cihazlarını kontrol etmek için programlanabilir.

Programlama

Kontrolör ATmega32U4 açık Arduino Mikro harici bir donanım programcısı kullanmadan yeni kod yüklemenize izin veren önceden yazılmış bir önyükleyici (önyükleyici) ile birlikte gelir. İletişim protokolü kullanılarak gerçekleştirilir AVR109.

Ayrıca, önyükleyiciyi atlayabilir ve mikro denetleyiciyi ICSP (Devre İçi Seri Programlama) konektörü aracılığıyla programlayabilirsiniz; daha fazla ayrıntı için talimatlara bakın.

Otomatik (yazılım) sıfırlama ve önyükleyici başlatma

Önyüklemeden önce fiziksel olarak sıfırlama düğmesine basmanızı gerektirmek yerine, Mikrobağlı bir bilgisayarda çalışan kodla programlı olarak sıfırlanabilecek şekilde tasarlanmıştır. Micro'nun Sanal (CDC) Seri / COM bağlantı noktası 1200 baud'da açılıp kapandığında bir sıfırlama tetiklenir. Bu işlemciyi sıfırlayacak ve bilgisayara olan USB bağlantısını kesecek (bu sanal seri COM portu anlamına gelir) kaybolacaktır. İşlemciyi sıfırladıktan sonra, yaklaşık 8 saniye aktif kalan önyükleyici başlar. Bootloader, bir düğmeye basılarak da başlatılabilir Sıfırlaaçık Mikro... Lütfen panonun ilk çalıştırıldığında, varsa, özel kodun çalıştırılmasına ve önyükleyiciyi başlatmayacağına dikkat edin.

Bu kartı sıfırlama yöntemi nedeniyle Mikro, özellikle yüklemeden önce düğmeye basarsanız, yüklemeden önce Arduino programı ile bir sıfırlama başlatmak en iyisidir Sıfırladiğer panolarda. Program kartı sıfırlayamazsa, kart üzerindeki sıfırlama düğmesine basarak her zaman önyükleyiciyi başlatabilirsiniz.

USB'de aşırı akım koruması

İÇİNDE Mikrobilgisayarın USB bağlantı noktalarını kısa devrelerden ve aşırı akım yüklemelerinden korumak için sıfırlanabilir bir sigorta takılmıştır. Çoğu bilgisayarın kendi yerleşik koruması olsa da, bir sigorta ek bir koruma katmanı sağlar. USB bağlantı noktasından 500 mA'dan fazla bir akım geçerse, sigorta kısa devre veya aşırı yük ortadan kalkana kadar bağlantıyı otomatik olarak keser.

fiziksel özellikler

PCB'nin maksimum uzunluğu ve genişliği Arduino Mikro USB konektörü belirtilen boyutların dışına taşan hariç, sırasıyla 4,8 ve 1,77 cm'dir. Düzen, lehimsiz bir devre tahtasına kolay pano yerleştirmeye izin verir.

İyi günler MySKU!
Bugün, Pro Micro modifikasyonunu başka bir çılgın teknede kullanarak Arduino gibi harika bir şeyi keşfetmeye devam edeceğiz! Bir kez daha arduino'nun sadece sıkıcı değil, aynı zamanda eğlenceli olduğundan emin olalım. Ayrıca eski oyun kumandalarını nasıl hayata geçireceğimizi ve bir PC'ye nasıl bağlayacağımızı ve hatta kendi giriş cihazlarımızı nasıl oluşturacağımızı da öğreneceğiz! Eğer ilgileniyorsanız, kedinin altına gidin!

01/09/2015 Küçük güncelleme + yeni video.

Giriş

Yeni Yılı kutladıktan, birkaç gün dinlendikten ve çocuklarla kartopu oynadıktan sonra, hala tatil günleri olduğu ve yapacak hiçbir şey olmadığı sonucuna vardınız ... Ve ne yapar? gerçek adam kanepede yatmaktan yorulduğunda yapar mı? Doğru şekilde! - kanepede yatmaya devam ediyor, ama sorun şu: bu yıl sigarayı bıraktım! Ve çok acele ediyor ... Ve ruh hali tamamen cehenneme döndüğünde ve tek arzu birini öldürme arzusu olduğunda, yeni yıldan kısa bir süre önce aldığım parselleri gözden geçirmeye karar verdim ve paketlerden birinde bu vardı küçük çekicilik

Arduino Pro Mikro


Ona baktığımda, sonunda çok ilginç bir sonuca yol açan bir fikir ilkesi belirdi ...

Bebekleri uzun süre sipariş etmek istedim, ancak nedense sürekli olarak satın almayı erteledim ve şimdi, sonuçta kendime bir çift sipariş ettim.

Sipariş

Satıcı hakkında hiçbir şey söyleyemem - kesinlikle sıradan bir satıcı, binlerce kişi olan Arduin'dir - katı, İskandinav bir karakter. Sipariş zamanında gönderildi, çok hızlı teslim edildi.

Levhalar, küçük bir karton kutu içinde bulunan antistatik torbalarda paketlendi.

Adruino Mega, Nano, Mikro

Arduino'nun bu sürümünün güzelliği, üzerindeki USB arayüzünün ATmega32u4 denetleyicisinin kendisi tarafından uygulanmasıdır; bu, USB arayüzünü yapılandırmamıza izin verir, böylece bağlandığında kart standart bir HID cihazı (klavye, fare ve ... gamepad) ve daha da fazlası, meraklıları bu listeyi genişletmek için aktif olarak çalışıyor.

Bölüm Bir

Beynimle biraz zaman geçirdikten ve hazinelerimle kutudaki küçük eski çöpleri karıştırdıktan sonra, hemen bu işlevi tanımak için bir plan hazırladım.

Ve Sony PlayStation'dan eski bir oyun kumandası buldum

Peki düşünecek ne var? Gamepad'i toplayacağız ...

"Demir" kısmı

Cihazı söküyoruz

Bileşiğin altında isimsiz bir çip bulunan oldukça tipik bir Çin oyun tablası. Şema basittir - bir ortak kontak, düğmelerdeki iletken pedlerle düğmelerdeki sinyal kontaklarına bağlanır.

Kabloyu yırtıyoruz, artık ihtiyacımız yok. Ve düğmelerdeki temas yüzeylerine ve genel temasa lehimliyoruz.

Prosedür basit, asıl önemli olan dikkatli olmak.

Deneyin bütünlüğü için, gelecekteki gamepad'de analog eksenlerin çalışmasını kontrol edeceğim küçük bir potansiyometreyi tahtaya yapıştırmaya karar verdim.

Bir potansiyometreyi bir arduinka'ya bağlamak en basit iştir. Bir aşırı kontağı 5 volta, ikincisini toprağa bağlarız ve merkezi olan analog pinlerden birine, örneğin - A0'a beslenir

Tüm telleri kontaklara lehimledikten sonra düğmeleri ve kartı yerlerine yerleştirdim ve kabloları kartın arkasından çıkardım

Önde potansiyometre için bir delik açtım

Ayrıca Arduino'yu arka tarafa yerleştirip düğmelerden gelen telleri dijital pinlere lehimledim ve ortak teli toprağa lehimledim.

Her şeyi sıcak tutkalla düzeltti

Denetleyicinin Usb girişinin nerede olacağını denedim

Ve ona erişmek için kasada bir delik açın.

Vakayı kapattım ve yazılım bölümünü başlattım

Yazılım bölümü

Ve burada bir aksaklık vardı ve günün yarısını kütüphaneyi aramak için öldürdüm ve en önemlisi - onu kurmaya çalıştım.

NicoHood'dan harika bir kütüphane buldum

Fırsatlar:

Desteklenen HID cihazları:

Led çıkışlı klavye (değiştiriciler + 6 tuşa aynı anda basılır)
Fare (5 düğme, hareket ettir, tekerlek)
Medya Tuşları (müzik çalar, web tarayıcısı ve daha fazlası için 4 tuş)
Sistem Anahtarı (PC bekleme / kapatma için)
1 Oyun Kumandası (32 düğme, 4 16bit eksen, 2 8bit eksen, 2 D-Pad)
Desteklenen Arduino'lar:

Uno
Mega
Leonardo
(Pro) Mikro
Diğer herhangi bir 8u2 / 16u / at90usb162 / 32u2 / 32u4 uyumlu kart

Arduino.exe'yi indirin, paketinden çıkarın ve çalıştırın

Tools \\ Board menüsünde Arduino Micro Hid-Project'i seçin

Araçlar / USB çekirdekler menüsünde, seri + gamepad hid bizim durumumuzda istenen çalışma modunu seçin

Arduino'muzun gamepad olarak tanımlanmasını sağlayan şey nedir?

Hızölçer veya takometre okumaları veya aks aşırı yükleri, yuvarlanma ve daha birçok parametrenin değerleri olsun, oyunlardan çeşitli verileri çeken korkunç bir biçerdöver uygulaması yazdılar. Daha sonra bu uygulama ihtiyaç duyduğunuz dönüşümleri onlarla gerçekleştirir ve donanımınıza gönderir. Demirin rolü, çeşitli göstergeler ve BİR EKSEN YÜKSEKLİĞİ BİLE DIY SİMÜLATÖR BİRİMLERİ tarafından oynanır. Tüm bunlara hayran kaldım - bu harika!

Portaldaki galeriyi araştırırken arduino için bir taslak ve ihtiyacım olana yakın işlevsellik sağlayan x-sim için bir profil buldum

Teşekkürler yoldaş tronicgr profilini ve eskizini paylaştığı için. X-sim'i kendi başıma sıfırdan anlamam uzun zaman alırdı.

Bu yüzden, son taslağı temel alarak yeni bir tane yazmaya başladım. Buradan indirebilirsiniz

İlk kısımda FastLed kütüphanesini bağlayıp bant üzerindeki diyot sayısını ve bağlı olduğu pini belirtiyoruz. Ayrıca düğmeler ve eksenler için pinler belirliyoruz ve değişkenleri açıklıyoruz

Kurulum işlevinde, bilgisayara seri bağlantıyı 115200'de başlatıyoruz, bandın parlaklığını ayarlıyoruz ve dijital girişler için yerleşik pullup'u etkinleştiriyoruz. En sonunda gamepad'i başlatıyoruz.

Ana döngü, önceki örnekten biraz basitleştirilmiş bir oyun kumandası kodu bile içerir.

Daha sonra, arduina'nın seri veriyolundan veri aldığı ve tampona yazdığı x-sim portalından alınan kod gelir ve ardından bunu değişkenlere böler, veriyi devir sayısı üzerinden 8'e (sayıya göre) ölçeklendirir. Banttaki diyot sayısı) ve verilerin alındığını bildirir

Ardından alınan verilere bağlı olarak gerekli sayıda diyotu gerekli renkte yakıp komutu banda gönderiyoruz.

Çizim gönderiliyor.

X-sim programının en son sürümünü indirdikten sonra, kurun (klasörü, kurulu programın bulunduğu klasörden hemen kaldırmak daha iyidir. "Arayüz eklentileri"başlangıçta tüm arayüzlerin gereksiz uzun kontrolünden kaçınmak için), yukarıdaki bağlantıdaki forumdan indirilen profili açın, bu, programı gerekli verileri alacak şekilde otomatik olarak yapılandıracaktır. Programı açmak "X-sim Conveter" ve bölümde Çıkış -\u003e evrensel seri çıkış yukarıdan mikromuzu seçin ve tıklayın "Girişleri listeye ekle" ve altta veri şablonu ile satırı standart profil portundan aynı satıra kopyalıyoruz, ancak arduino'muzun portuna, bundan sonra eski port silinebilir. Sayı "95" şablonda (ekran görüntüsünde 77) - bunlar 100'e bölünen maksimum RPM'dir, ne yazık ki oyununuz için ellerinizle puanlamanız gerekecek, Dirt 2 için 75-80 değerlerini kullandım.

Programın ikinci yarısına başlıyoruz "X-sim Çıkarıcı" otomatik olarak bilgisayarınızı uyumlu oyunlar için tarayacak ve sol tarafta bir liste oluşturacaktır. Bundan sonra, her oyun için, müdahale etmese de, sürücülere veri aktarımını kapatabilirsiniz.

Herşey! Her şey birleştirilmiş ve yapılandırılmışsa, bir oyun seçip düğmeye basabilirsiniz. "Oyun oynamak"ve başlatma sırasında veya sonrasında düğmeye basmanız gerekir başlat "X-sim Converter" içinde.

Burada açıklanan bu kitaplıkları ve örnekleri kullanarak, herhangi bir sensörle PC'niz veya android cihazınız için herhangi bir, hatta en çılgın kontrolcüyü (evet, evet, cihaz standart bir giriş cihazı olarak tanımlanmalıdır) oluşturabilirsiniz: sıcaklık, nabız, basınç, ve bir nem sensörü, örneğin korku oyunları ;-). Eski züppe oyun masalarını bağlayın ve emülatörleri kendi oyun denetleyicilerinizde oynayın. Ve büyük bir arzunuz varsa, harika x-sim programını kullanarak tam teşekküllü bir simülatör bile oluşturabilirsiniz. Hayal gücünüzü gösterin!

Güncelleme

Biraz daha sürdüm ve gerçekten analog gaz ve fren pedallarından yoksun olduğumu fark ettim, direksiyon simidinin bir sonraki versiyonu varsa, kesinlikle pedalları olacak. Ancak düğmeyi "oynayarak" arabayı başarılı bir şekilde kontrol edebilirsiniz, ancak buna alışmanız gerekir.

Dirt 3'te garip ve göze çarpan bir giriş gecikmesi var, nerede ve neden olduğunu bilmiyorum, belki oyun ayarlarıyla veya bir hatayla ilgili bir şey (sonuçta bu bir oyun hatası, Google'da benzer incelemeler buldum).

Aksi takdirde, direksiyon simidinin bu kadar sert bir versiyonunda bile oldukça iyi oynuyor. Sonunda kokpitten manzarayı seviyorum, daha önce hiç kullanmadım.

İşte yeni bir video (belki bir süre youtube tarafından işlenecek)

+170 +325

Kompakt bir tahtada yürütülür. Aradaki fark, harici güç kaynağı için kendi soketinin olmamasıdır, ancak doğrudan Vi kontağına bağlanabilir. Aksi takdirde, doldurma ve etkileşim yöntemleri Arduino Leonardo'nunkilerle aynıdır. Ayrıca hem USB flaş hem de program yürütme için bir ATmega32u4 mikro denetleyicisine sahiptir; ayrıca klavye veya fare görevi görebilir; aynı miktarda bellek, dijital, analog ve PWM bağlantı noktaları sağlar.

Mikrodenetleyici Arduino Mikro - mikrodenetleyici kartı tabanlı ATmega32u4Adafruit ile birlikte geliştirildi. Kartta 20 dijital I / O pini (bunlardan 7'si PWM çıkışı ve 12'si analog giriş olarak kullanılabilir), bir 16 MHz kristal osilatör, bir mikro USB soketi, bir ICSP konektörü ve bir sıfırlama düğmesi bulunur. Bir mikrodenetleyici ile çalışmak için ihtiyacınız olan her şeye sahiptir. Arduino Micro'yu çalıştırmak için, onu bir mikro USB kablosuyla bilgisayarınıza bağlamanız yeterlidir. Denetleyicinin form faktörü, bir devre tahtasına sığdırmayı kolaylaştırır.

Arduino Micro Özellikleri

Mikrodenetleyici

Çalışma gerilimi

Giriş voltajı (sınır)

Dijital Girişler / Çıkışlar

PWM kanalları 7

Analog giriş kanalları

12

Giriş / çıkış yoluyla sabit akım

3.3V pin için DC akım

Flash bellek

Bootloader için 4K kullanılan 32 KB (ATmega32u4)

2,5 KB (ATmega32u4)

1 KB (ATmega32u4)

Saat frekansı

Arduino Mikro Gücü

Arduino Mikro USB veya harici güç kaynağı ile çalıştırılabilir. Güç kaynağı otomatik olarak seçilir.

Harici güç (USB değil) bir DC güç kaynağından veya pilden gelebilir. Pil veya güç kaynağı pimleri Gnd ve Vin pimlerine bağlanmalıdır. Arduino Micro kartı 6-20V harici güç kaynağı ile çalışabilir, ancak 7V altında bir gerilim uygulandığında 5V pinine beş volttan daha az besleme yapılabilir, bu da kartın dengesiz çalışmasına neden olur. 12V'den fazla kullanıldığında, voltaj regülatörü aşırı ısınabilir ve karta zarar verebilir.

Güç pimleri:

  • VIN. Harici bir güç kaynağı kullanırken Arduino'nun giriş voltajı (bir USB bağlantısı veya diğer düzenlenmiş güç kaynağından gelen 5V'nin aksine). Bu pime voltaj uygulayabilirsiniz.
  • 5 V. Karttaki mikro denetleyiciye ve diğer bileşenlere güç sağlamak için düzenlenmiş besleme voltajı. Yerleşik regülatör veya USB veya diğer düzenlenmiş 5V güç kaynağı aracılığıyla VIN'den sağlanabilir.
  • 3 V... Gıda3.3V, yerleşik regülatör tarafından üretilir. Maksimum akım 50 mA.
  • GND. Zemin bulguları.

Arduino Mikro bellek

ATmega32u4, 32KB flash belleğe sahiptir (bootloader tarafından kullanılan 4KB ile birlikte). Denetleyicide ayrıca 2,5 KB RAM ve 1 KB EEPROM vardır (EEPROM kitaplığı kullanılarak okunur ve yazılır).

Arduino Mikro Giriş ve Çıkışları

Micro'nun 20 dijital pininin her biri pinMode (), digitalWrite () ve digitalRead () fonksiyonları kullanılarak bir giriş veya çıkış olarak kullanılabilir. 5 V'ta çalışır. Her bir pinin maksimum giriş veya çıkış akımı 40 mA'dır. Her pinin dahili bir 20-50 kΩ çekme direnci vardır (varsayılan olarak devre dışıdır). Ek olarak, bazı pimlerin özel işlevleri vardır:

  • Seri veri yolu: 0 (RX) ve 1 (TX). ATmega32U4 seri veriyolunun donanım özelliklerini kullanarak TTL seri verilerini almak (RX) ve iletmek (TX) için kullanılır. Lütfen Micro sınıfının Seri bir (CDC) bağlantısını belirtir; 0 ve 1 pinlerinde TTL seri bağlantı için sınıfı kullanın Seri1 .
  • TWI: 2 (SDA)ve 3 (SCL).Wire kitaplığını kullanarak TWI bağlantısını destekler.

Harici kesintiler: 0 (RX), 1(TX), 2 ve 3. Bu pinler, alçak bir kenarda, yükselen veya alçalan bir kenarda veya bir değer değişikliğinde bir kesintiyi tetikleyecek şekilde yapılandırılabilir. Ayrıntılar attachInterrupt () işlevinde açıklanmıştır.

  • PWM: 3, 5, 6, 9, 10, 11 ve 13. AnalogWrite () işleviyle 8 bit PWM sağlar.
  • SPI: konektördeICSP. Bu pinler, SPI kitaplığını kullanarak SPI iletişimini destekler. SPI pinlerinin Arduino Uno'daki gibi herhangi bir dijital I / O'ya bağlı olmadığını, yalnızca ICSP konektöründe ve MISO, MOSI ve SCK etiketli en yakın pinlerde bulunduğunu unutmayın.
  • RX_ LED/ SS. Bu, Leonardo ile karşılaştırıldığında ek bir sonuçtur. USB aktarım etkinliğini gösteren RX_LED'e bağlanır, ancak SPI iletişimi için bağımlı seçim (SS) pini olarak da kullanılabilir.
  • LED: 13. Dijital pin 13'e bağlı yerleşik bir LED. Bu pin yüksek olduğunda LED yanar ve düşük olduğunda kapalıdır.
  • Analog girişler:Bir0 - Bir5, Bir6 - Bir11 (dijital pimler 4, 6, 8, 9, 10 ve 12'de). Micro, A0 ila A5 girişleri doğrudan pinler üzerinde etiketlenmiş toplam 12 analog girişe sahipken, programda A6 ila A11 sabitleri kullanılarak da erişilebilen diğerleri, sırasıyla 4, 6, 8, 9 numaralı dijital pinlere tahsis edilmiştir. , 10 ve 12. Hepsi dijital G / Ç olarak da kullanılabilir. Her analog giriş 10 bitlik bir çözünürlük sağlar (yani 1024 farklı değer). Varsayılan olarak, tüm analog girişler topraktan 5V'a ölçülür, ancak bu aralığın üst sınırı AREF pini ve analogReference () kullanılarak değiştirilebilir.

Tahtada iki tane daha pin var:

  • ALAN. Analog girişler için referans voltajı. AnalogReference () ile kullanılır.
  • Sıfırla. Mikrodenetleyiciyi sıfırlamak için bu satırı düşük tutun. Bu kart, denetleyicinin üzerindeki düğmeye erişimi engelliyorsa, genellikle bir genişletme kartına Sıfırla düğmesi eklemek için kullanılır.

Arduino nereden alınır

Arduino kitleri resmi web sitesinden ve çok sayıda çevrimiçi mağazadan satın alınabilir.