Digital etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Digital etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
15 Mart 2014 Cumartesi
Arduino- Çıkışları 9Volt veya 12 Volt Yapmak
Bildiğiniz üzere Arduino çıkışları 5V olmak üzere tasarlanmış. Fakat bazı devrelerde yönetmek istediğimiz elemanların çalışma voltları 12V,9V olabilmekte. Arduino ile bu elemanları yönetebilmek için mikrodenetleyicimizin ilgili pin çıkışına yandaki devreyi kurduğumuzda çıkışı 12V olarak yani transistörleri kaç volt ile besliyorsak o gerilimde alabileceğiz. Bunu bir nevi DC-DC Inverter olarak da düşünebiliriz .
***Q1 transistörünün NPN,Q2 transistörünün PNP olduğunu gözden kaçırmamakta fayda var.***
Fritzingde 9V batarya bağlayarak bu devreyi çizdim. Gerilim değerini değiştirerek istediğiniz gerilimi çıkıştan alabilirsiniz...
Bu devreyi öğrenmemde yardımcı olan arkadaşım Ebru YAVUZ'a teşekkür ederim :)...
Etiketler:
12V,
12V Output,
Antalya,
Arduino,
Arduino Tutorial,
Arduino UNO,
DC-DC ınverter,
Digital,
Dijital,
Inverter Arduino,
Karadeniz Teknik Üniversitesi,
Microchip,
microprocessor
7 Mart 2014 Cuma
Arduino - Buton ile Çıkışları Değiştirme
Butonların öneminden daha önceki yazımda bahsetmiştim. Burada da yine bir öncekine benzer bir uygulama yapacağız. Bu uygulamanın yapılış amacını aslında 7 segment display uygulamalarına giriş için yaptığımızı düşünebiliriz.
Kısaca uygulamadan söz etmek gerekirse amacımız burda 1 sayısal giriş ile 2 sayısal çıkışı yönetmek olacak. Butona her bastığımızda çıkışın yeri değişecek. Yani çıkış olarak kullandığımız yeşil ve turuncu ledleri sırayla butona basarak yanmasını sağlayacağız.
Bu uygulamaya geçmeden önce size aritmetik bir operatör olan " mod " almayı anlatacağım.
Arduino'da ve bir çok C tabanlı dilde mod " % " ifadesi ile alınmakta. Yani biz herhangi bir integer değerin herhangi bir sayı modunda almak istersek şu şekilde kullanmamız gerekiyor.
Integer değeri= sayi , mod=5 olsun;
" sayi%5 "
Uygulamamızda bu kavramın daha iyi anlaşılacağını düşünüyorum.
int led1=8; //yeşil led
int led2=7; //turuncu led
int buton=4;
int ledsirasi=0; //modunu alacağımız sayi
void setup () {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(buton,INPUT_PULLUP);}
void loop () {
int butondurumu=digitalRead(buton);
if (butondurumu==0)
{ledsirasi=ledsirasi+1;}
if (ledsirasi%2==0)
{digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);}
else
{digitalWrite(led2,HIGH);
digitalWrite(led1,LOW);}
delay(100);
}
Programda çıkışları seçmeyi (aslında 1 olanı seçmeyi) mod2ye bağlı olarak ledsirasi integer değerine göre seçtim. ledsirasi 0'dan başlamak üzere her butona basıldığında 1 artacak ve mod2ye göre de ya "1" ya da "0" olacak. Buna göre de ya yeşil led ya da kırmızı led in yanması sağlanmış olacak.
Bir sonraki uygulamamızda 7 segmentli gösterge ile 0-9 arası sayıcı yapacağız. Daha önce CMOS 4026 entegresi ile hazır olarak bunu yapmıştım bu sefer arduinoyu kendimiz programlayarak bunu yapacağız.
17 Temmuz 2013 Çarşamba
Arduino - Dijital Çıkışlara Hükmetmek (Led Yakma)
Elektronik dünyasına giriş için bir mikroişlemci seçmemiz gerektiğinden bahsetmiştim . Tercihimi Arduino UNO'dan yana kullandım. Elimde PIC programlayıcım var fakat hazır bir launchpadi olan Arduino ile bu dünyaya giriş yapmak bana daha cazip geldi.
}
void loop()
{
// devamlı tekrarlanarak sırasıyla çalışacak kodları burada yazıyoruz }
Ardunio, kodların yazıldığı sayfaya sketch adını veriyor yani karalama.Setup() ve Loop() bölümeri bu karalamalarda mutlaka olmak zorunda.
{ ilk değerler ve ilk başta bir kere çalışacak kodlarvoid setup ()
}
void loop()
{
// devamlı tekrarlanarak sırasıyla çalışacak kodları burada yazıyoruz }
Bu yazımda Arduino'nun çıkışlarına led bağlayarak, bir kaç örnekle çıkışlara hükmedeceğiz.Yazımda yapacağımız uygulamalardaki malzemeler ise şunlar:
- 4 adet Led (Farklı renklerde olursa güzel olur.)
- Jumper Kablolar
- Direnç (İsteğe bağlı ben şahsen kullanmadım.)
Öncelikle her mikroişlemciye girişte olduğu gibi klasik bir giriş ile yani led flaşör ile giriş yapalım.
Launchpad 10.pinini çıkış olarak aldım ve oraya bir led bağladım. Dileyen ledin önüne direnç de koyabilir.
İsteğimiz şu olacak, led 1 saniye yanacak ve 1 saniye sönecek. Kodlar ve şeması;
void setup() {
// Pinler Çıkış olarak belirleniyor
pinMode(10, OUTPUT); // MAVI LED
}
void loop() {
digitalWrite(10, HIGH); // LED yanik
delay(500); // 500mS bekle
digitalWrite(10, LOW); // LED sonuk
delay(500); // 500ms bekle
}
Biraz daha görsel tabiri caizse cix birşey yapalım :) . 4 adet ledi yanyana sırayla yakalım ve 4'ü aynı anda yanmadan hiçbiri sönmesin. Kodlar ve Şema :
int led1=7;
int led2=8;
int led3=9;
int led4=10;
void setup()
{
pinMode(led1, OUTPUT); //7.pin led1
pinMode(led2,OUTPUT); //8.pin led2
pinMode(led3,OUTPUT); //9.pin led3
pinMode(led4,OUTPUT); //10.pin led4
}
int i;
void loop() {
for(i=0;i<=1;i++)
{
digitalWrite(led1,HIGH); //1.ledi yak
delay(250); // 0.25 saniye bekle
digitalWrite(led2,HIGH); //2.ledi de yak
delay(250); // 0.25 saniye bekle
digitalWrite(led3,HIGH); // 3.ledi de yak
delay(250); // 0.25 saniye bekle
digitalWrite(led4,HIGH); // 4.ledi de yak
}
for(i=0;i<=1;i++)
{
digitalWrite(led1,LOW); //1.ledi söndür
delay(250); //0.25 saniye bekle
digitalWrite(led2,LOW); //2.ledi de söndür
delay(250); //0.25 saniye bekle
digitalWrite(led3,LOW); //3.ledi de söndür
delay(250); //0.25 saniye bekle
digitalWrite(led4,LOW); //4.ledi de söndür
}}
- 4 adet Led (Farklı renklerde olursa güzel olur.)
- Jumper Kablolar
- Direnç (İsteğe bağlı ben şahsen kullanmadım.)
Öncelikle her mikroişlemciye girişte olduğu gibi klasik bir giriş ile yani led flaşör ile giriş yapalım.
Launchpad 10.pinini çıkış olarak aldım ve oraya bir led bağladım. Dileyen ledin önüne direnç de koyabilir.
İsteğimiz şu olacak, led 1 saniye yanacak ve 1 saniye sönecek. Kodlar ve şeması;
void setup() {
// Pinler Çıkış olarak belirleniyor
pinMode(10, OUTPUT); // MAVI LED
}
void loop() {
digitalWrite(10, HIGH); // LED yanik
delay(500); // 500mS bekle
digitalWrite(10, LOW); // LED sonuk
delay(500); // 500ms bekle
}
Biraz daha görsel tabiri caizse cix birşey yapalım :) . 4 adet ledi yanyana sırayla yakalım ve 4'ü aynı anda yanmadan hiçbiri sönmesin. Kodlar ve Şema :
int led1=7;
int led2=8;
int led3=9;
int led4=10;
void setup()
{
pinMode(led1, OUTPUT); //7.pin led1
pinMode(led2,OUTPUT); //8.pin led2
pinMode(led3,OUTPUT); //9.pin led3
pinMode(led4,OUTPUT); //10.pin led4
}
int i;
void loop() {
for(i=0;i<=1;i++)
{
digitalWrite(led1,HIGH); //1.ledi yak
delay(250); // 0.25 saniye bekle
digitalWrite(led2,HIGH); //2.ledi de yak
delay(250); // 0.25 saniye bekle
digitalWrite(led3,HIGH); // 3.ledi de yak
delay(250); // 0.25 saniye bekle
digitalWrite(led4,HIGH); // 4.ledi de yak
}
for(i=0;i<=1;i++)
{
digitalWrite(led1,LOW); //1.ledi söndür
delay(250); //0.25 saniye bekle
digitalWrite(led2,LOW); //2.ledi de söndür
delay(250); //0.25 saniye bekle
digitalWrite(led3,LOW); //3.ledi de söndür
delay(250); //0.25 saniye bekle
digitalWrite(led4,LOW); //4.ledi de söndür
}}
Arduino ile güzel bir giriş yaptığımızı düşünüyorum ve umuyorum ki bu konuda daha hızlı ilerleyeceğiz.
Kaydol:
Kayıtlar (Atom)




