Artino'nun yapabileceği ATtiny ne yapamaz?


12

Bu Make Magazine youtube videosundan esinlenerek , çoğu projem için Arduino yerine ATtiny yongalarını kullanmak istiyorum. Video yazarı bazı Arduino işlevlerinin ATtinys üzerinde çalışmayacağı konusunda uyarıyor. Nelerin desteklendiğinin ve desteklenmediğinin tam bir listesi var mı?


1
Okuduğum kadarıyla (kuşkusuz çok fazla değil), tüm ATtinys'in Arduino önyükleyici için yeterli flaşı yok. Yine de Arduino üzerinden derleyebilir ve AVRdude üzerinden ayrı olarak yükleyebilirsiniz.
Ignacio Vazquez-Abrams

1
Burada bootloader ile ilgili değil (harici bir programcı kullanabilirsiniz), ancak bazı kütüphaneler sadece çalışma kodunu derlemez (hatta hepsinin de hata atmayacağını anladım). Bildiğim kadarıyla hangi işlevlerin işe yarayıp yaramadığına dair bir liste yok, ancak donanımın doğrudan nasıl programlanacağını anlamayı öğrenmek zordur, çünkü çoğu Arduino işlevi biraz ek yük ile gelir. Sen fonksiyonları gibi istemiyor olmalı pinMode();ve digitalWrite();sadece doğru, uygun kayıtlar ile, bir ATTiny üzerine DDRx, PORTxdoğrudan. Birçok benzer fonksiyon bulunabilir.
jippie

1
Gördüğüm Arduino projelerinin büyük çoğunluğu için ATtiny cipsleri çok yetenekli olacaktı. Çoğunlukla, bootloader yerine SPI aracılığıyla programlama yaparsınız ve öğreticilerden tipik Arduino kopyala yapıştır yerine C veya Assembly'de kod yazardınız.
Kurt E. Clothier

@Kurt aslında Arduino çalışma zamanı kitaplıklarının çoğunun bağlantı noktaları ve hatta yazılım USB'si var - ama elbette bunların ek yükü var.
Chris Stratton

1
@ChrisStratton İyi bir nokta. Sadece çıplak bir ATtiny, hatta bir ATmega çipi ve bir Arduino kartı arasındaki farkı bilmeyen birinin, bunun bile ne anlama geldiğini (bağlantı noktaları, çalışma zamanı hata ayıklama, yazılım USB, vb.) Hiçbir fikri olmadığını hayal ediyorum. hiç şüphesiz onları kullanmaları gerekecekti. Eğer öyleyse, gerçekten yaptıklarıyla ilgili biraz daha fazla şey öğrenmeleri gerekir, böylece basit problemleri karşılaştıkça çözebilirler. Sonra tekrar, sanırım bu benim gibi arduino karşıtı insanların zihniyeti.
Kurt E. Clothier

Yanıtlar:


10

Güncelleme: Soruyu daha iyi yanıtlamak için ATTiny's, donanım seri bağlantı noktası, donanım i2c veya birden fazla kesinti içeren ATTiny's eksik olan herhangi bir donanım gerektirmeyen her şeyi yapabilir. Bu, Arduino Kütüphanelerinde gizlendiğinden, gerçek kütüphane dosyalarını nasıl çalıştıklarını veya okuduklarını iyi anlamadığınız sürece, Tel kütüphanesi (donanım i2c) gibi şeyler çalışmaz.

Http://forum.arduino.cc/index.php/topic,5582.0.html adresinden :

Örneğin, ATTINY84'te 1 Kesme, Donanım UART (Seri veya i2c) ve küçük bir avuç GPIO pini, daha az program alanı ve çok daha az koç vardır, ancak 14 pimli bir pakette gelir.

Bir ATMEGA328 2 Kesintiye, 1 Donanım UART'a, daha fazla ram daha fazla program alanına ve daha fazla GPIO'ya sahiptir, bu gerçekten ihtiyacınız varsa harikadır.

Ek olarak, çoğu ATTiny'nin donanım çarpımı yoktur, bu nedenle bir derleyicinin yazılımda taban 2 olmayan çarpımı yapması gerekir.

Son olarak, Arduinos spi programlama yerine bir bootloader'a güveniyor, bu yüzden Arduino bootloader ile çalışması için en az 4 ~ 8kb flaşlı bir ATTiny'ye ihtiyacınız var.

ATTiny44 / 45/84/45/2313, mikro-Arduinos olarak popülerdir. Resmi Arduino Uno'nun kullandığı bir ATMega328'in yaklaşık dörtte biri veya sekizinci ve flaşı var.

Birçok ATTiny var, bu yüzden hepsi hakkında tek bir ifade söylenemez.

Ayrıca buraya bakın: http://hlt.media.mit.edu/?p=1695


5

Çoğu katılımcının bir donanım USART modülü yoktur, bu nedenle onlarla seri olarak iletişim kuramazsınız. Özel I2C ve SPI donanım çevre birimleri yerine bazı katılımcılar için, SPI veya I2C iletişimini uygulamak için biraz tutkal kodu yazmanız gereken basitleştirilmiş bir USI çevre birimi vardır. Bazı katılımcıların ADC'si yoktur.

Genel olarak, projeniz için katılım seçerken daha dikkatli olmalısınız, çünkü bunlar Arduino'nun atmega328'inde tam özellik setine sahip değildir. Örneğin attiny2313'ün bir UART'ı vardır ancak ADC'si yoktur, attiny44'ün ADC'si vardır, ancak bir UART'ı vb. Yoktur.

Atmel mikrodenetleyici seçim tablosunu ve başlangıçta bir veri sayfasını kontrol edin.


1
Donanım eksikliği UART! = Seri yoluyla iletişim kuramayacak.
Chris Stratton

Gerçek @ChrisStratton, sen biraz USI aracılığıyla taklit ait bir yere çarpıp edebilir
miceuz

1

Önemli bir nokta, zaten gönderilmiş olan mükemmel cevapların üstünde ve üstünde:

Pro Mini / Pro Micro ve belki de nadir bulunanları saymayan Arduino kartlarının çoğu, ana mikro denetleyicinin yanı sıra, ikinci bir AVR veya başka bir USB arabirim parçası içerir. Bu, Arduino'nun bir bilgisayardan programlanmasını değil, aynı zamanda çalışma zamanı seri terminal hata ayıklamasını da sağlar. Aynı USB bağlantısı da Arduino'ya güç sağlar.

Açıkçası ATTiny'nin güç gereksinimi tasarımınızda ele alınacak olsa da, terminal yazılımı kullanarak çalışma zamanında kod hata ayıklama oldukça kullanışlı olabilir.


1
Bazı attiny panoları bu sorunu yazılım USB ile çözer.
Chris Stratton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.