Değerli dostum Volkan AK'ın hazırladığı video...
20 Haziran 2015 Cumartesi
13 Mart 2015 Cuma
1Hz to 10MHz Sine/Square Function Generator based on the AD9835 and PIC16F628
http://alternatezone.com/electronics/dds.htm
Etiketler:
Dijital Elektronik
,
Hobi Devreleri
,
Sinyal jeneratörü nedir?
1Hz to 2MHz Function Generator Kit with XR2206
Şu ana kadar nette gördüğün en iyi sinyal jeneratörü uygulamalası..Yakın zamanda deneyeceğim ve sonucu sizlerle paylaşacağım.
http://www.electronics-diy.com/function-generator-kit-xr2206.php
http://www.electronics-diy.com/function-generator-kit-xr2206.php
Etiketler:
Dijital Elektronik
,
Hobi Devreleri
,
Sinyal jeneratörü nedir?
Sinyal jeneratörü nedir?

Sinyal jeneratörü genellikle alıcıların testinde, amplifikatörlerin testinde ve bu cihazların onarımında kullanılır. Sinyal kaynağı olarak kullanılır. Dalga dedektörü, radyo
frekans köprüleri gibi yerlerde kullanılır.
Sinyal Jeneratörünüm Yapısı ve Çalışma Prensibi:
Tipik sinyal jeneratörü beş bölümden meydana gelmektedir:
1- Osilatör Katı
2- Birleştirilmiş Modüleli Sinyal Katı
3- Zayıflatma Katı
4- Sabitlenmiş ve Güç Seviye Katı
5- Çıkış Terminalleri ve Zayıflatma Katı

Şekil 1’de sinyal jeneratörünün blok şeması görülmektedir.
Sinyal jeneratörü laboratuar uygulamalarında sinyal kaynağı olarak kullanılmaktadır. Devrede kullanılan osilatör kararlı bir osilatördür. Örnek olarak Hartley veya eşdeğeri akortlu devre osilatörüdür. Bu osilatörler 200 MHz’in altındaki frekanslar içindir.
Üç çeşit modülasyon vardır; kare dalga, sinüs dalga ve
üçgen dalga palsleridir. Kare dalga modülasyonu yerine mikrodalga
sinyal jeneratörlerinde kullanılır. Zayıflatıcı çıkışındaki, genlik
modülasyonudur. Bu katın çıkışında kazancı arttırılmış modüleli sinyal
elde edilir.
Osilatör devresinin yükseltici devresi, iki
bölümlü diferansiyel yükseltecinden ve bir DC yükseltici devresi
kullanan çıkış bölümünden oluşur. İlk bölüm FET’li yüksek giriş
empedans devresi, diğer bölüm ise geniş bandlı yüksek frekansı
sağlayan PNP transistörlü yükseltici tip devredir. Osilatörden gelen
sinyaller şekillendirilerek gerekli yükselme ve düşme karakteristiği
sağlanır. Çıkış zayıflatıcı devre 0 dB’den itibaren 10 dB’lik adımlarla
zayıflatma işlemi yapar. Güç kaynağı devresi AC 110 V / 220 V ile
beslenmiştir.
Sinyal Jeneratörünün Kullanılması:
Sinyal Jeneratöründeki tuşlar ve fonksiyonları:
1. Frekans Displayi: 8
dijitli bir likit kristal ekrandır. Frekans değerlerinin azalıp
artmasını gösterir. Maksimum Megahertz’e kadar gösterebilir. Aynı
zamanda cihazın açık olup olmadığını hata vererek gösterir. Tuşların
test edilmesinde de bu ekrandan yaralanılır.
2. Genlik Displayi:
3 ½ dijitli likit kristal ekrandır. RF çıkış seviyesini veya genlik
değişmelerini göstermektedir. Ardışık sayıcıların akım displayi olarak
kullanılır. Tuşların test işleminde kullanılır. Dedekte edilmiş ters
gücü gösterir.
3. RF Çıkış Soketi: N
kanallı soket AC çıkış sağlamaktadır. Çıkış empedansı 50 W’dur. Çıkış
frekans aralığı 100 KHz – 990 MHz’dir. Çıkış zayıflaması +13 dB’den
–127 dB’ye kadardır.
4. RF OFF / ON Anahtarı:
İki pozisyonlu bu anahtar RF sinyalinin çıkışını kontrol eder. On
konumunda RF sinyali çıkışa iletilir. OFF konumunda ise RF sinyalinin
çıkışını keser.
5. Bilgi Giriş Tuşları: Frekans, genlik değerlerinin seçildiği tuş takımlarıdır (Örnek: 1KHz, 10 KHz,…..)
6. Değer Arttırma Anahtarı: Frekans ve genlik arttırmamızı sağlayan kalibrasyon tuşlarıdır.
7. Modülasyon Tuşları:
İstediğimiz modülasyonu seçmemizi sağlar: kare, sinüsoidal veya üçgen
modülasyon. Ayrıca LEVEL, WIDE gibi tuşlar istediğimiz sinyali elde
etmemizi sağlayan hassas ayarları yapabiliriz.
8. Modülasyon Giriş/Çıkış Soketi:
BNC soketi harici modülasyon sinyali (1 Vpk) veya DC seviye (1 VDC).
İç modülasyon sinyali dahili ses osilatör katından üretilmektedir. 400
Hz veya 1 KHz modülasyon sinyali üretir. Çıkış empedansı 600 W’dur.
Sinyal Jeneratöründe Taşıyıcı Fonksiyon Seçimi:
Bunun için fonksiyon, bilgi ve birim
bölümlerindeki tuşların kullanılması gerekir. Taşıyıcı frekans tuşuna
basılarak fonksiyon seçimi yapılır. Daha sonra istediğimiz modülasyon
değerine sahip tuş kullanılarak taşıyıcı frekansının değeri girilir.
Taşıyıcı frekansın genliği ise LEVEL ve WIDE tuşlarıyla ayarlanır.
Etiketler:
Dijital Elektronik
,
Sinyal jeneratörü nedir?
,
Temel Elektronik
LM1458 kullanarak basit fonksiyon jeneratörü yapımı
Fonksiyon jeneratörleri pahalı ve yapımı zor cihazlardır. Bununla beraber, burada anlatılan; her zamanki gibi sadece iki IC ile basit bir elektronik devredir.
Bu devre, deneyler için uygundur.
Çıktı 3 dalga formunda verilebilir:
2Vp-vp sinüs dalga
2Vp-p 1kHz frekansta kare dalga
7Vp-p üçgen dalgadır.
Biz burada 2 x LM1458 IC 'den ikili bir op-amp kullanıyoruz. Bu devre, 4 op-amp bölümü kullanır.
Basit fonksiyon jeneratörü iki dalga üretir: 1 Hz' den 1MHz'ye kadar üçgen ve kare dalga üretir. Genlik, ofset ve görev döngüsü üretilen sinyallerin yelpazesini sunmak için ayarlanabilir. Devrenin önemli bir parçası da LM566 veya NE566'dır. R2, frekans çıkışını kontrolde kullanılır. Güç kaynağı voltajı 9- 24V'dir.
Yazının orjinal metni için tıklayınız.
Bu devre, deneyler için uygundur.
Çıktı 3 dalga formunda verilebilir:
2Vp-vp sinüs dalga
2Vp-p 1kHz frekansta kare dalga
7Vp-p üçgen dalgadır.
Biz burada 2 x LM1458 IC 'den ikili bir op-amp kullanıyoruz. Bu devre, 4 op-amp bölümü kullanır.
Basit fonksiyon jeneratörü iki dalga üretir: 1 Hz' den 1MHz'ye kadar üçgen ve kare dalga üretir. Genlik, ofset ve görev döngüsü üretilen sinyallerin yelpazesini sunmak için ayarlanabilir. Devrenin önemli bir parçası da LM566 veya NE566'dır. R2, frekans çıkışını kontrolde kullanılır. Güç kaynağı voltajı 9- 24V'dir.
Yazının orjinal metni için tıklayınız.
17 Kasım 2014 Pazartesi
Brenner ve Win 8 driver çözümü
Merhabalar,
Eğer Win 8'e geçtiyseniz ve pic programlamak için brenner programlayıcı kullanıyorsanız mutlaka aşağıdaki gibi bir hata mesajı alacaksınız.
Bu problemi çözmek için aşağıdaki adımları yerine getirmeniz gerek.
Kaynak:picproje.org
Eğer Win 8'e geçtiyseniz ve pic programlamak için brenner programlayıcı kullanıyorsanız mutlaka aşağıdaki gibi bir hata mesajı alacaksınız.
Bu problemi çözmek için aşağıdaki adımları yerine getirmeniz gerek.
- Öncelikle Windows Logosu olan tuş+R yapın.
- Açılan kutuya shutdown.exe /r /o /f /t 00 yazın
- OK butonuna basın.
- Sistem yeniden başlatılacak ve gelen ekrandan Sorun Gideri seçin.
- Gelişmiş seçenekleri seçin
- Başlangıç ayarları seçin.
- Yeniden başlat deyin.
- Gelen ekranda seçenekler olacak ve siz klavyeden 7 tuşuna basarak bilgisayarınızı yeniden başlatın.
Kaynak:picproje.org
Etiketler:
Brenner PIC Programlayıcısı
,
Programlayıcılar
26 Ekim 2014 Pazar
L298 motor sürücü entegresini tanıyalım..
L298 motor sürücü entegresi genellikle L293D ve L293B gibi motor
sürücü entegrelerin maksimum akım sınırlarını aşan motorların kontrolü
için tercih edilen 15 bacaklı bir motor sürücü entegredir.
L298 motor sürücü entegre kullanımında voltaj sınırı 46 V, akım sınırı ise 2 A değerindedir.
L298 motor sürücü entegre de L293 motor sürücü entegreler gibi içerisinde 2 adet H köprüsü bulundurur ve iki motoru bağımsız ve çift yönlü olarak kontrol edebilir.
Yukarıda L298 motor sürücü entegresinin bacak yapısı verilmiştir. Burada 5. ve 7. bacaklar birinci motorun, 10. ve 12. bacaklar ise ikinci motorun çift yönlü kontrolleri için giriş bacakları olup 2. ve 3. bacaklar ve 13. ve 14. bacaklar ise bunlara karşılık gelen çıkış bacaklarıdır. L298 4. bacağına kontrol etmek istenilen motora uygun voltaj verilmeli ve bu voltaj değeri 46 V değerini aşmamalıdır. 9 numaralı bacağa uygulanacak olan voltaj 5 V değerindedir. 8 numaralı bacak ise toprak bağlantısının yapılacağı bacaktır.
Datasheet için tıklayınız..
L298 motor sürücü entegre kullanımında voltaj sınırı 46 V, akım sınırı ise 2 A değerindedir.
L298 motor sürücü entegre de L293 motor sürücü entegreler gibi içerisinde 2 adet H köprüsü bulundurur ve iki motoru bağımsız ve çift yönlü olarak kontrol edebilir.
Yukarıda L298 motor sürücü entegresinin bacak yapısı verilmiştir. Burada 5. ve 7. bacaklar birinci motorun, 10. ve 12. bacaklar ise ikinci motorun çift yönlü kontrolleri için giriş bacakları olup 2. ve 3. bacaklar ve 13. ve 14. bacaklar ise bunlara karşılık gelen çıkış bacaklarıdır. L298 4. bacağına kontrol etmek istenilen motora uygun voltaj verilmeli ve bu voltaj değeri 46 V değerini aşmamalıdır. 9 numaralı bacağa uygulanacak olan voltaj 5 V değerindedir. 8 numaralı bacak ise toprak bağlantısının yapılacağı bacaktır.
Datasheet için tıklayınız..
L293D Entegresini tanıyalım...
L293D ve L293B motor sürücü entegreleri içlerinde iki adet H köprüsü barındıran 16 bacaklı motor sürücü entegrelerdir. Genellikle DC motor kontrolünde tercih edilen motor sürücü entegreler olan L293D ve L293B ile iki motor birbirinden bağımsız olarak çift yönlü kontrol edilebilmektedir. Ayrıca L293 motor sürücü entegrelerin enable bacaklarının kullanılmasıyla PWM kontrolü de yapılabilmektedir.
L293D motor sürücü entegresi 4,5 V ile 36 V aralığında maksimum 600 mA akım sınırına kadar kullanılabilir. L293B motor sürücü entegrenin ise aynı voltaj aralığında, maksimum 1 A akım sınırına kadar kullanılması mümkündür.
2576 ile 5 voltluk regüle devresi
Dosyaları indirmek için link:
30 Mayıs 2014 Cuma
Arduino ile pHmetre Uygulaması
Derslerin yanında internet ortamında gördüğüm güzel uygulamalarında linklerini paylaşmaya karar verdim. İlki arduino ile yapılmış bir pHmetre uygulaması..İngilizce ama olsun. :)
https://code.google.com/p/phduino/
29 Mayıs 2014 Perşembe
Arduino ile Ledin Parlaklığını Ayarlama
3. dersimizde Leonardo kartımıza bağladığımız bir ledin parlaklığını ayarlayacağız.
Hızlı bir biçimde kodumuzu yazıyoruz.
Kodları özellikle resim şeklinde veriyorum ki, kes kopyala yapıştır modu olmasın. Benim tavsiyem elle teker teker yazmanız. Bu size bol tekrar sağlar ki öğrenmenin ana unsuru tekrardır. Gelelim kodu incelemeye..
Eğer dersleri takip etmeye başlamışsanız, kodun ilk kısmı size hiç zor gelmeyecektir.
Ledimizi 9 nolu dijital pine bağlıyoruz. Parlaklik ve adım adında int türünde iki adet değişken tanımlıyoruz. İlk değerlerini de 0 ve 5 olarak atıyoruz.
Setup ta 9 nolu pini çıkış olarak tanımlıyoruz.
Gelelim loop döngüsüne..analogWrite komutu ile led adlı değişkene parlaklik değişkeninin değerini yazıyoruz.
parlaklik=parlaklik+adim; satırı ile parlaklik değişkeninin değerini 5er 5er arttırıyoruz.Böylece ledimizin parlaklığı yavaş yavaş artıyor. Ta ki 255 olana kadar. Peki sonra??? Tabii ki bu seferde parlaklığı azaltmamız gerek. Bunun için de if ile başlayan satırı yazıyoruz.
if(parlaklik==0||parlaklik==255)
{
adim=-adim;
}
|| OR yani veya işlemine tabi tutmak demek. Yani iki şarttan herhangi biri true(doğru) olursa süslü parantez içindeki kod işletilecek anlamındadır.
adim=-adim ; ile de önce 5er 5er arttıtılıyor, 255'e ulaşılınca da 5er 5er azaltılıyor.
delay(30) ile de küçük bir gecikme koyarak ledin parlaklığının gözle daha rahat izlenmesini sağlıyoruz.
Hızlı bir biçimde kodumuzu yazıyoruz.
Kodları özellikle resim şeklinde veriyorum ki, kes kopyala yapıştır modu olmasın. Benim tavsiyem elle teker teker yazmanız. Bu size bol tekrar sağlar ki öğrenmenin ana unsuru tekrardır. Gelelim kodu incelemeye..
Eğer dersleri takip etmeye başlamışsanız, kodun ilk kısmı size hiç zor gelmeyecektir.
Ledimizi 9 nolu dijital pine bağlıyoruz. Parlaklik ve adım adında int türünde iki adet değişken tanımlıyoruz. İlk değerlerini de 0 ve 5 olarak atıyoruz.
Setup ta 9 nolu pini çıkış olarak tanımlıyoruz.
Gelelim loop döngüsüne..analogWrite komutu ile led adlı değişkene parlaklik değişkeninin değerini yazıyoruz.
parlaklik=parlaklik+adim; satırı ile parlaklik değişkeninin değerini 5er 5er arttırıyoruz.Böylece ledimizin parlaklığı yavaş yavaş artıyor. Ta ki 255 olana kadar. Peki sonra??? Tabii ki bu seferde parlaklığı azaltmamız gerek. Bunun için de if ile başlayan satırı yazıyoruz.
if(parlaklik==0||parlaklik==255)
{
adim=-adim;
}
|| OR yani veya işlemine tabi tutmak demek. Yani iki şarttan herhangi biri true(doğru) olursa süslü parantez içindeki kod işletilecek anlamındadır.
adim=-adim ; ile de önce 5er 5er arttıtılıyor, 255'e ulaşılınca da 5er 5er azaltılıyor.
delay(30) ile de küçük bir gecikme koyarak ledin parlaklığının gözle daha rahat izlenmesini sağlıyoruz.
24 Mayıs 2014 Cumartesi
Arduino ile Analog Okuma
Sıra geldi 2. dersimize..
Bu derste Arduino kartımızın Analog girişlerinden 0. pini kullanarak potansiyometremizin orta ucundaki gerilim değerini okuyacağız ve aynı zamanda Serial Monitör'ü kullanmaya başlayacağız.
Potansiyometremizi orta ucunu yukarıda belirttiğimiz gibi A0'a, diğer uçlarını ise GND ve +5V 'a bağlayacağız.
Kodumuz aşağıdaki gibi olmalı. Ancak burada önemli bir nokta var. UNO ya da Mega gibi kartlara sahip arkadaşlar kodu rahatlıkla çalıştırabilirken maalesef Leonardo da kod çalışmıyor. Burada yapılması geken arduinonu resmi sitesinde belirtildiği üzere Serial.begin(9600); satırından sonra while (!Serial); yazmak. Burası önemli dostlar...
- Neredeyse tüm mikrodenetleyicilerde seri haberleşme ünitesi bulunur.
Serial.print() ve Serial.println()
- Arduino’dan karakter içeren verileri göndermek için kullanıyoruz.
-Karakterin yanı sıra verileri 16’lı(hexadecimal), 8’li (octal), veya 2’li (binary) tabanda yazdırabiliriz.
Serial.println(100); // 100 olarak yazdırır.
Serial.println(1.23); // 1.23 olarak yazdırır.
Serial.println(1.2345678); // 1.23 olarak yazdırır.
Serial.println(1.2345678, 0); // 1 olarak yazdırır.
Serial.println(1.2345678, 4); // 1.2345 olarak yazdırır.
Serial.println(1.2345678, 0); // 1 olarak yazdırır.
Serial.println("BILTEK"); // BILTEK olarak yazdırır.
Serial.println(86, BIN); // 1010110 olarak yazdırır.
Serial.println(86, OCT); // 126 olarak yazdırır.
Serial.println(86, HEX); // 56 olarak yazdırır.
Serial.read()
- Seri birimden gelen veriler bytelar halinde alındıktan sonra tampon bellek bölgesine ayrılır.
- Programımızda gelen verileri kullanmak istediğimizde Serial.read() fonksiyonunu kullanarak okuruz.
- Okuma sırası geliş sırasına göredir.
- Eğer seri port tamponu boş ise fonksiyon -1 değerini döndürür.
Serial.available()
- Seri porta gelmiş ve henüz okunmamış verilerin sayısını döndürür.
- Sıfır döndürüse seriport boş demektir.
Buraya kadar seri haberleşme ile ilgili fonksiyonları tanımış olduk. Bu bilgileri Karabük Üniversitesi Bilgi Teknolojileri ve Yazılım Kulübünden Arduino Eğitimleri ni veren Volkan KANAT adlı arkadaşamızın hazırladığı bir slaytı kullanarak yazdım. Kendisini tanımıyorum ama kaynak göstermek lazım değil mi..Emeğe saygı. Neyse bizde bu işler pek böyle yürümüyor ama olsun...Etme bulma dünyası. Yarın belki bu yazdıklarımızı okuyanlar da bizi kaynak gösterirler.. Artık kodu inceleyebiliriz.
Loop içindeki ilk satır:
int sensorValue = analogRead(A0); Burada int tipnde sensorvalue adında bir değişken tanımlıyoruz ve A0 pinini okuyoruz.
Serial.println(sensorValue); Bu değeride Serial monitorde okuyoruz..Serial monitor nerede mi?? Onu da hemen gösterelim.
sağ üst köşedeki büyüteç simgesine tıklayın ve seraial monitor penceresi karşınızda..
ve son olarak delay(1); . Bu da okumalar arasında kararlığı sağlamak için...
Bu derste Arduino kartımızın Analog girişlerinden 0. pini kullanarak potansiyometremizin orta ucundaki gerilim değerini okuyacağız ve aynı zamanda Serial Monitör'ü kullanmaya başlayacağız.
Potansiyometremizi orta ucunu yukarıda belirttiğimiz gibi A0'a, diğer uçlarını ise GND ve +5V 'a bağlayacağız.
Kodumuz aşağıdaki gibi olmalı. Ancak burada önemli bir nokta var. UNO ya da Mega gibi kartlara sahip arkadaşlar kodu rahatlıkla çalıştırabilirken maalesef Leonardo da kod çalışmıyor. Burada yapılması geken arduinonu resmi sitesinde belirtildiği üzere Serial.begin(9600); satırından sonra while (!Serial); yazmak. Burası önemli dostlar...
Gelelim kodu incelemeye..
Setup içerisinde kartı seri haberleşmeyi başlatıyoruz. Peki seri haberleşme nedir? Hadi bunu biraz irdeleyelim.
Dijital haberleşmede temel olarak iki yöntem bulunuyor: seri ve paralel.
- Seri haberleşmede dijital veriler(bitler) tek bir hat üzerinden peşi sıra gönderilirken paralel haberleşmede ise belli gruplar halinde eş zamanlı olarak iletilirler. - Daha az veri hattı gerektiğinden seri haberleşme daha çok kullanılır.
Arduino ile PC arasındaki haberleşme bu birim üzerinden gerçekleşir.
- USB standartına sahiptir. - Arduino üzerinde bir adet seri-USB dönüştürücü çip bulunmaktadır.- Neredeyse tüm mikrodenetleyicilerde seri haberleşme ünitesi bulunur.
- Arduino üzerindeki seri haberleşme ünitesi UART (Universal asynchronous receiver / transmitter)
- Kullanılan Arduino modeline göre farklı adette bulunabilir.
- Seri haberleşme için gönderme-TX ve alma-RX olmak üzere iki pin kullanılıyor.
- Programlama esnasında Arduino ile PC arasındaki iletişim bu pinler üzerinden sağlanır.
SERİ
HABERLEŞME FONKSİYONLARI
Serial.begin() ve Serial.end()
- Seri haberleşmeyi başlatır.
- 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 ve 115200 değerleri parametre olarak verilebilir.
- Bu değerlerin birimi bps(bit per second)’dir.
- Her bir byte için 10 bit gönderildiğinden byte miktarı değerin 10’a bölünmesiyle bulunur. (9600 bps hızında saniyede 960 karakter yollanabilir.)
- 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 ve 115200 değerleri parametre olarak verilebilir.
- Bu değerlerin birimi bps(bit per second)’dir.
- Her bir byte için 10 bit gönderildiğinden byte miktarı değerin 10’a bölünmesiyle bulunur. (9600 bps hızında saniyede 960 karakter yollanabilir.)
!!! Seri iletişim başladıktan sonra 0 ve 1 nolu pinler sırasıyla veri alma ve veri gönderme işlemleri için kullanıldıklarından dijital giriş-çıkış işlemleri için kullanılamazlar.
- Bu pinlerin tekrar giriş-çıkış olarak kullanılabilmeleri için Serial.end() fonksiyonu programa dahil edilmelidir
- Arduino’dan karakter içeren verileri göndermek için kullanıyoruz.
-Karakterin yanı sıra verileri 16’lı(hexadecimal), 8’li (octal), veya 2’li (binary) tabanda yazdırabiliriz.
Serial.println(100); // 100 olarak yazdırır.
Serial.println(1.23); // 1.23 olarak yazdırır.
Serial.println(1.2345678); // 1.23 olarak yazdırır.
Serial.println(1.2345678, 0); // 1 olarak yazdırır.
Serial.println(1.2345678, 4); // 1.2345 olarak yazdırır.
Serial.println(1.2345678, 0); // 1 olarak yazdırır.
Serial.println("BILTEK"); // BILTEK olarak yazdırır.
Serial.println(86, BIN); // 1010110 olarak yazdırır.
Serial.println(86, OCT); // 126 olarak yazdırır.
Serial.println(86, HEX); // 56 olarak yazdırır.
Serial.read()
- Seri birimden gelen veriler bytelar halinde alındıktan sonra tampon bellek bölgesine ayrılır.
- Programımızda gelen verileri kullanmak istediğimizde Serial.read() fonksiyonunu kullanarak okuruz.
- Okuma sırası geliş sırasına göredir.
- Eğer seri port tamponu boş ise fonksiyon -1 değerini döndürür.
Serial.available()
- Seri porta gelmiş ve henüz okunmamış verilerin sayısını döndürür.
- Sıfır döndürüse seriport boş demektir.
Buraya kadar seri haberleşme ile ilgili fonksiyonları tanımış olduk. Bu bilgileri Karabük Üniversitesi Bilgi Teknolojileri ve Yazılım Kulübünden Arduino Eğitimleri ni veren Volkan KANAT adlı arkadaşamızın hazırladığı bir slaytı kullanarak yazdım. Kendisini tanımıyorum ama kaynak göstermek lazım değil mi..Emeğe saygı. Neyse bizde bu işler pek böyle yürümüyor ama olsun...Etme bulma dünyası. Yarın belki bu yazdıklarımızı okuyanlar da bizi kaynak gösterirler.. Artık kodu inceleyebiliriz.
Loop içindeki ilk satır:
int sensorValue = analogRead(A0); Burada int tipnde sensorvalue adında bir değişken tanımlıyoruz ve A0 pinini okuyoruz.
Serial.println(sensorValue); Bu değeride Serial monitorde okuyoruz..Serial monitor nerede mi?? Onu da hemen gösterelim.
sağ üst köşedeki büyüteç simgesine tıklayın ve seraial monitor penceresi karşınızda..
ve son olarak delay(1); . Bu da okumalar arasında kararlığı sağlamak için...
Kalın sağlıcakla..
Saygılar sevgiler...
23 Mayıs 2014 Cuma
Arduino ile Led Yakıp Söndürme
Merhabalar,
Arduino ile programlamaya başlıyoruz. Aslında internet ortamında fazlasıyla kaynak bulmak mümkün. Ancak türkçe kaynak konusunda iyi sayılabilecek site sayısı bir elin parmaklarını geçmiyor. Genellikle yazılı ya da görsel ders hazırlamaya başlayan arduino dostları maalesef ya işlerin yoğunluğundan ya da ders hazırlamanın getirdiği yorucu tempodan dolayı bir kaç ders sonrası bu işi yarıda bırakmışlar.
Benim amacım uzun soluklu olacak şekilde dersler hazırlamak. Aslında yapmak istediğim sadece Arduino çalışmalarımı bir yerde toplamak. O nedenle gerek examples klasörü içindeki örnek programlardan ya da webde gezinirken beğendiğim uygulamalardan faydalanacağız.
Neyse lafı fazla uzatmadan başlayalım..Konu başlığı üzere led yakıp söndüreceğiz. :)
Led yakıp söndürmek çok basit gibi görünse de her şey led yakıp söndürmekle başlıyor değil mi..
Kod aşağıdaki gibi..
Arduino ile programlamaya başlıyoruz. Aslında internet ortamında fazlasıyla kaynak bulmak mümkün. Ancak türkçe kaynak konusunda iyi sayılabilecek site sayısı bir elin parmaklarını geçmiyor. Genellikle yazılı ya da görsel ders hazırlamaya başlayan arduino dostları maalesef ya işlerin yoğunluğundan ya da ders hazırlamanın getirdiği yorucu tempodan dolayı bir kaç ders sonrası bu işi yarıda bırakmışlar.
Benim amacım uzun soluklu olacak şekilde dersler hazırlamak. Aslında yapmak istediğim sadece Arduino çalışmalarımı bir yerde toplamak. O nedenle gerek examples klasörü içindeki örnek programlardan ya da webde gezinirken beğendiğim uygulamalardan faydalanacağız.
Neyse lafı fazla uzatmadan başlayalım..Konu başlığı üzere led yakıp söndüreceğiz. :)
Led yakıp söndürmek çok basit gibi görünse de her şey led yakıp söndürmekle başlıyor değil mi..
Kod aşağıdaki gibi..
Gelelim programın incelenmesine...
13 nolu dijital pinimizi integer tipinde led olarak tanımlıyoruz.
Bilindiği üzere her sketch'te setup ve loop olmak üzere 2 tane fonksiyonumuz bulunuyor.
Setup fonksiyonu içinde ayarlamalarımızı gerçekleştiriyoruz.
pinMode () ile led olarak tanıttığımız 13 nolu pini çıkış olarak tanımlıyoruz.
Loop fonksiyonu içinde de digitalWrite(led,HIGH) komutu ile önce HIGH ile çıkışımızı "1" yaparak ledin yanmasını sağlıyoruz.
delay(1000) ile 1 saniyelik bir gecikme ve arkasından digitalWrite(led,LOW) ile çıkışımızı bu sefer "0" yaparak ledin sönmesini sağlıyoruz. delay(1000) ile 1 saniyelik bir gecikme daha. Ve bu durum sürekli tekrar ederek ledimizi sürekli yakıp söndürüyoruz.
İşte bu kadar basit. :)
21 Mayıs 2014 Çarşamba
FRITZING
Arduino ile ilgili dokuman ya da ders hazırlayacaklar için
http://fritzing.org/home/ biçilmiş kaftan. Çok hoşuma gitti..
Ayrıca
http://www.cadsoftusa.com/?language=en adresinden de EAGLE programını indirebilirsiniz..
http://fritzing.org/home/ biçilmiş kaftan. Çok hoşuma gitti..
Ayrıca
http://www.cadsoftusa.com/?language=en adresinden de EAGLE programını indirebilirsiniz..
20 Mayıs 2014 Salı
AT komutları
Herhangi bir bağlantı kurulmamışken RS232 ile bluetooth ile bağlantı
kurarak bluetooth yapılandırılabilir. Bunun için AT komutları kullanılır
AT komutu doğrulamak için kullanılır. Eğer bağlantı doğru kurulmuşsa OK cevabını alırsınız.
AT+PSWD? komutu bluetoothun eşleşme şifresini öğrenmek için kullanılır.
AT+PSWD=xxxx komutu eşleşme şifresini değiştirmek için kullanılır. (xxxx sisin belirlediğiniz bir şifredir)
AT+NAME? komutu bluetooth’un görünen adınının ne olduğunu öğrenmek için kullanılır.
AT+NAME=xxxx komutu bluetooth’un görünen adını değiştirmek için kullanılır. (xxxx burada sizin belirlediğiniz bir isimdir)
AT+ROLE? komutu modülün slave/master yada loopback modunda olup olmadığını sorgular
AT+ROLE=0 komutu modülün slave, AT+ROLE=1 komutu modülün master, AT+ROLE=2 ise slaveloop moduna girmesini sağlar.
AT+UART? komutu baud rate hızını, paritiy bitini ve stop bitinin olup olmadığını varsa kaç bit olduğunu öğrenmeye yarar.
AT+UART= 9600,1,2 komutunda
ilk parametre hızı (9600,19200…)
ikinci parametre stop bitini (o ise 1 bit stop biti, 1 ise 2 bit stop biti vardır)
3. parametre ise parity bitini belirtir (0 ise yok, 1 ise çift, 2 ise tek)
AT+ORGL komutu bluetooh’u fabrika ayarlarına döndürür.
AT komutu doğrulamak için kullanılır. Eğer bağlantı doğru kurulmuşsa OK cevabını alırsınız.
AT+PSWD? komutu bluetoothun eşleşme şifresini öğrenmek için kullanılır.
AT+PSWD=xxxx komutu eşleşme şifresini değiştirmek için kullanılır. (xxxx sisin belirlediğiniz bir şifredir)
AT+NAME? komutu bluetooth’un görünen adınının ne olduğunu öğrenmek için kullanılır.
AT+NAME=xxxx komutu bluetooth’un görünen adını değiştirmek için kullanılır. (xxxx burada sizin belirlediğiniz bir isimdir)
AT+ROLE? komutu modülün slave/master yada loopback modunda olup olmadığını sorgular
AT+ROLE=0 komutu modülün slave, AT+ROLE=1 komutu modülün master, AT+ROLE=2 ise slaveloop moduna girmesini sağlar.
AT+UART? komutu baud rate hızını, paritiy bitini ve stop bitinin olup olmadığını varsa kaç bit olduğunu öğrenmeye yarar.
AT+UART= 9600,1,2 komutunda
ilk parametre hızı (9600,19200…)
ikinci parametre stop bitini (o ise 1 bit stop biti, 1 ise 2 bit stop biti vardır)
3. parametre ise parity bitini belirtir (0 ise yok, 1 ise çift, 2 ise tek)
AT+ORGL komutu bluetooh’u fabrika ayarlarına döndürür.
lm2576 ile 6-55v girişli 1-4-50v çıkışlı ayarlı dcdc konvertör
LM2576, 3A akıtabilen, anahtarlamalı tip çalışan bir gerilim düşürücüdür. Internet’te tüm dökümantasyonuna ulaşabilirsiniz. 52KHz sabit frekansta çalışır. Frekansı ayarlanamaz. Bizim şemamızda R10 ve R11 olarak görünen dirençlerle sağlanan gerilim bölücüdeki gerilimle entegre içinde üretilen 1,23V’luk gerilimi karşılaştırıp çıkışının açık-kapalı sürelerini ayarlayarak sabit gerilimli çıkış verir. Vçıkış=1,23(1+R11/R10) formülü çıkış gerilimini verir.
• 3.3V, 5V, 12V, 15V, and adjustable output versions
• Adjustable version output voltage range, 1.23V to 37V (57V for HV version) ±4% max over line and load conditions
• Guaranteed 3A output current
• Wide input voltage range, 40V up to 60V for HV version
• Requires only 4 external components
• 52 kHz fixed frequency internal oscillator
• TTL shutdown capability, low power standby mode
• High efficiency
• Uses readily available standard inductors
• Thermal shutdown and current limit protection
• P+ Product Enhancement tested
• 3.3V, 5V, 12V, 15V, and adjustable output versions
• Adjustable version output voltage range, 1.23V to 37V (57V for HV version) ±4% max over line and load conditions
• Guaranteed 3A output current
• Wide input voltage range, 40V up to 60V for HV version
• Requires only 4 external components
• 52 kHz fixed frequency internal oscillator
• TTL shutdown capability, low power standby mode
• High efficiency
• Uses readily available standard inductors
• Thermal shutdown and current limit protection
• P+ Product Enhancement tested
HC05 Bluetooth-Serial Modül
Arduino Leonardo kartı ile bluetooth uygulaması yapacağım. Başlamadan önce HC05 Bluetooth modülü ile temel bilgilere sahip olmamız gerek. Bu konuyu bu yüzden yazmaya karar verdim..
HC05
Bluetooth-Serial Modül, Bluetooth SSP(Serial Port Standart) kullanımı
ve kablosuz seri haberleşme uygulamaları için tasarlanmıştır.
Bluetooth
2.0'ı destekleyen bu kart, 2.4GHz frekansında haberleşme yapılmasına
imkan sağlayıp açık alanda yaklaşık 10 metrelik bir haberleşme
mesafesine sahiptir.
Bir çok hobi, robotik ve akademik projede kullanılabilir.
Özellikleri:
- Bluetooth Protokolü: Bluetooth 2.0+EDR(Gelişmiş Veri Hızı)
- 2.4GHz haberleşme frekansı
- Hassasiyet: ≤-80 dBm
- Çıkış Gücü: ≤+4 dBm
- Asenkron Hız: 2.1 MBps/160 KBps
- Senkron Hız: 1 MBps/1 MBps
- Güvenlik: Kimlik Doğrulama ve Şifreleme
- Çalışma Gerilimi: 1.8-3.6V(Önerilen 3.3V)
- Akım: 50 mA
- Boyutları: 26.9x13x2.2mm
19 Mayıs 2014 Pazartesi
STELLARIS EK-LM4F120XL
Uzun zaman önce sipariş ettiğim ama üzerinde pek çalışamadığım Stellaris ile çalışmalara başlıyorum. Gerçi Texas Instruments Tiva C serisi şeklinde yoluna devam etse de denemelerimizi biz yukarıda resmi bulunan Stellaris Launchpad ile yapacağız. Tüm aşamaları paylaşmayı planlıyorum..
Haydi bakalım..:)
Haydi bakalım..:)
Kaydol:
Kayıtlar
(
Atom
)













