ATtiny Kolay Kullanım Klavuzu
Bu yazımızda ATtiny85 kullanımı, temel kod yapıları ve donanımsal özelliklerini kısa notlarla sizlere açıklamaya çalışacağız.
28.03.2015 tarihli yazı 13536 kez okunmuştur.
Yapısal Model
Her Arduino skecinin bulundurması gerek iki ana yapı mevcut; void setup() { // Bu kodlar kod düzenlenmeden önce // bir kere yürütülecek } void loop() { // Devre kartınız çalıştığı sürece // bu bölümdeki kodlar tekrar tekrar // çalıştırılacak }
Yorum Satırları
Kod içerisinde, kod işleyişini değiştirmeyen fakat kodu inceleyen kişiye yardımcı olacak yorum satırları eklenebilir.
Kod içerisinde, kod işleyişini değiştirmeyen fakat kodu inceleyen kişiye yardımcı olacak yorum satırları eklenebilir.
// Tek satırlık yorum işareti
/* çok satırlar için
kullanılabilen yorum
satırı işareti */
Setup
Arduino üzerinde kullanacağınız input ve output pinlerini setup() kısmında belirtmeniz gerekiyor.
pinMode(pinNum, INPUT/OUTPUT/INPUT_PULLUP);
/* Kullanacağınız pin türünü setup()
kısmında belirlemeniz gerekiyor*/
Kontrol Yapıları
Kontrol yapıları, hazırladığını kodların oluşma, meydana gelme şartları doğrultusunda belirli sıralarla ilerlemesini sağlar. Bu şekilde farklı koşullara uyumlu kodlar oluşturabilir.
Kontrol yapıları, hazırladığını kodların oluşma, meydana gelme şartları doğrultusunda belirli sıralarla ilerlemesini sağlar. Bu şekilde farklı koşullara uyumlu kodlar oluşturabilir.
if(şart)
{ // Eğer şartınız doğru ise, kodu çalıştır
}
else
{ // veya aksini gerçekleştir
}
for(başlangıç; şart; artış)
{
// Durumu gerçekleştir, değeri artır
// doğru olduğu sürece işlemi devam ettir
}
Dijital Input ve Output
Dijital pinler lojik olarak çalışır ve sadece 1(HIGH) ve 0(LOW) değerlerini alabilirler.
digitalWrite(pin, deger);
/* deger = HIGH veya LOW ise dijital pin
değerine HIGH veya LOW yaz */
buttonDeger = digitalRead(pin);
/* Belirtilen dijital pin değerinin HIGH veya
LOW olduğunu okur */
Analog Input ve Output
Analog pinler gerilim, direnç gibi değerlerinizi el ile ayarlamınızı sağlar. 0-255 arası değerleri alabilirler.
analogWrite(pin, deger);
/* 0-255 arasında bir analog voltaj değeri yaz */
sensorVal = analogRead(pin);
/* Belirtilen analog pinden gelen değeri oku
0V=0; Vcc=1023 */
Zaman Birimleri
Kodlarınızın işleyiş sırasının yanı sıra işleyiş zaman aralıklarını da ayarlamanız gerekebilir. Bunun için kodunuza gecikmeler ekleyebilirsiniz.
delay(time_ms);
/* Milisaniye cinsinden gecikme süresi ekler */
millis();
/*Devre çalışmaya başladığından itibaren süreyi geri iletir. */
Serial Bağlantı
Attiny bağlantısı kurabilmek için FTDI gibi bir USB kullanmanız gerekir. Ayrıca Attiny 1 MHz değil 8MHz de çalışmalıdır.
Attiny85 Pinleri
Attiny85 Pinleri
0-4 : Genel amaçlı input ve output. digitalWrite() ve digitalRead() yapıları bu pinlerle çalışabilir.
0&1: analogWrite() kullanarak PWM outputu ayarlanabilir.
A1, A2, A3: analogRead ile sensör inputlarını okumak için kullanılır.
Data Tipleri
void: Dönecek bir değer yok.
boolean: 0, 1, Doğru, Yanlış
char: 8 bitlik değer, -128 ve 127 arasında ki değerler.
byte: 8 bitlik değer, 0 ve 255 arasındaki değerler
int: 16 bitlik değer, -32,768 ve 32,768 arasındaki değerler
unsigned int: 16 bitlik değer(İşaretsiz)
long: 32 bitlik değer, -2,147,483,648 ve 2,147,483,647 arasındaki değerler
unsigned long: 32 Bitlik değer (İşaretsiz)
float: 32 bitlik değer, desimal işaretli
Kaynak0&1: analogWrite() kullanarak PWM outputu ayarlanabilir.
A1, A2, A3: analogRead ile sensör inputlarını okumak için kullanılır.
Data Tipleri
void: Dönecek bir değer yok.
boolean: 0, 1, Doğru, Yanlış
char: 8 bitlik değer, -128 ve 127 arasında ki değerler.
byte: 8 bitlik değer, 0 ve 255 arasındaki değerler
int: 16 bitlik değer, -32,768 ve 32,768 arasındaki değerler
unsigned int: 16 bitlik değer(İşaretsiz)
long: 32 bitlik değer, -2,147,483,648 ve 2,147,483,647 arasındaki değerler
unsigned long: 32 Bitlik değer (İşaretsiz)
float: 32 bitlik değer, desimal işaretli
►SparkFun
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET