Mart 3

Anten seçici için anten ad ve konumlandırmaları

anten seçici de anten isimleri ve hangi konumda hangi anten seçimlerini yapacağımız kod.

 

Mart 3

Anten seçici için yeni cihaz modifikasyonu

Daha önce tasarlamış olduğum anten seçici için yeni cihazlar için bazı eklemeler yaptım. yapan arkadaşlar için güncellemelerinde fayda var.

 

Mart 3

Arduino – UART İletişim

 

 

Seri iletişimdeki “seri” kelimesi iletişimin arka arkaya gelen sinyaller aracılığı ile olacağını belirtmek amacıyla kullanı

lmaktadır. İletişimin ilk yollarından birisi olan dumanla haberleşme de aslında seri iletişimin bir türüdür. İnsanlar uzakl

ara mesaj iletmek amacıyla bir ateş yakarlar ve bu ateşin üzerini belirli periyotlarda örtüp açarak gökyüzüne kısa veya uzun dumanlar gönderme yöntemiyle mesajlarını kodlarlardı. Bu duman parçalarını gören diğer insanlar kodlanan mesajı çözerler ve iletişim sağlanmış olurdu.  Seri iletişime bir diğer örnek ise telgraftır. Telgrafta mors alfabesi kullanılıyordu ve bu alfabede rakamlar ve harflerin nokta ve çizgilerden oluşan karşılıkları bulunmaktaydı. Telgrafı kullanan operatör örneğin ‘A’ harfini gönderecekse telgrafın butonuna bir kez tıklayarak bir nokta , arkasındanda kısa süre basılı tutarak bir çizgi gönderiyordu. Alıcı tarafta ise bir makara üzerine sarılı kağıda bir elektromıkna

tısa bağlı kalem vasıtasıyla bu nokta ve çizgi tamamen elektromekanik bir yöntemle çizdiriliyor ve kağıt üzerinde “. _” şeklinde bir görüntü oluşuyordu. Alıcı taraftaki operatör bu şekilleri çözümleyerek mesajı ortaya çıkarıyordu.  Günümüzde insanların birbirleriyle iletişimi kadar makinelerin birbirleriyle iletişimi de büyük önem kazanmıştır. Örneğin bir televizyonun kumandasının televizyonla haberleşmesi de bir seri haberleşme örneğidir ve günlük hayatımızda makinelerin birbirleriyle haberleşmelerine sıklıkla başvururuz. Seri dijital  haberleşme yöntemlerinden olan UART daha önce verilen duman ve telgraf örnekleriyle büyük benzerlikler ihtiva eden bir makineler arası haberleşme protokolüdür.

UART – Universal Asynchronous Receiver/Transmitter (Evrensel Asenkron Alıcı/Verici) kelimelerinin baş harflerinden oluşur. Evrensel olmasının sebebi iletişim özelliklerinin değiştirilebilir olmasından dolayı bu modül bulunan bütün cihazlarda kullanılabilmesidir. Asenkron olması ise iletişim esnasında harici bir clock (saat) sinyaline ihtiyaç duymamasına dayanır. Günümüzde neredeyse bütün mikrodenetleyicilerde dahili UART modülü bulunur.

UART iletişimi

nde toplam 3 adet kabloya ihtiyaç duyulur.  Bunlar iki yönlü haberleşme için birer kablo ve alıcı ile verici arasındaki şase vo

ltaj farkını sıfırlamak amacıyla ortak bir GND bağlantısıdır. UART haberleşmesinde her bir mikrodenetleyici veya cihaz iki adet pine sahiptir. Bu pinler RX ve Tx olarak isimlendirilir. Tx pini transmit (veri gönderme), Rx pini receive (veri alma) amacıyla kullanılır. Haberleşecek olan cihazlardan birisinin Tx pini diğerinin Rx pinine, Rx pini ise diğerinin Tx pinine bağlanarak çarpraz bir bağlantı oluşturulur. Aşağıdaki şekilde bu bağlantı gösterilmiştir.

UART haberleşmesinde gönderilecek verinin boyutu 5 bitten 9 bite kadar olabilir fakat genellikle 8 bit (1 byte) veri iletimi kullanılmaktadır. Aşağıdaki şemada 8 bitlik bir verinin gönderilmesi esnasındaki sinyal şekline bir örnek verilmiştir.

Şekilde görüldüğü gibi iletişim yokken veri hattı yüksek konumdadır. Veri iletileceği zaman bir başlangıç biti gönderilir ve bu bitin durumu düşük konumdur. Daha sonra iletişim kaç bit olarak ayarlandıysa o kadar bit veri gönderilir. Yukarıdaki şekilde data 8 bit olarak gönderilmiştir. Daha sonra eşlik biti gönderilir. Bu bit gönderilecek verilerin içerisindeki 1 değerlerinin sayısına göre değişiklik göstermektedir. Eğer 8 bit veri içerisindeki 1 lerin sayısı tek sayı ise eşlik bitinin değeri ‘1’ eğer data içerisindeki 1 lerin sayısı çift ise eşlik biti ‘0’ değeri alır. Bu bitin amacı veri iletimi esnasında veri kaybı olup olmadığını kontrol etmektir.  Eşlik bitinin kullanımı opsiyoneldir ve alıcı verici arasındaki iletişim kurulurken en başta bu bitin kullanılıp kullanılmayacağı belirtilir.  Veri iletiminin bittiğini haber veren bit ise stop bitidir ve 2 adet yüksek konumlu bit olarak gönderilir ve veri hattını yüksek konumda tutar. Arduinoda bu yüksek konum 5V’tur.

UART iletişimde herhangi bir clock sinyali ile senkronizasyon sağlanmadığı için verilerdeki her bit belirli bir zaman aralğına sahiptir. Örnek olarak her bir bitin gönderilmesi 1 milisaniye saniyede 1000 bit veri gönderilir ve bu değere “baud rate-(veri aktarım hızı)” ismi verilmektedir ve alıcı-verici çiftinin baud rate değeri eşit olmak zorundadır.

Uart ile temel olarak ikilik sayı değerleri ile veri iletişimi yapılmaktadır. Eğer bu iletişimde karakterler gönderilmek istenilirse gönderilen şey yine ikili sayı sisteminde düzenlenmiş olan sayısal değerler olacaktır. Her karakterin bir sayısal karşılığı bulunmaktadır ve bu karşılıklara ASCII kod denilmektedir. Aşağıda bazı karakterlere ait ASCII kodları görülmektedir. Bu kodlar Arduino içerisinde karakterler ile işlem yaparken otomatik olarak elde edilmektedir.

Arduinoda seri haberleşmeyi kullanmak için ‘Serial’ kütüphanesi kullanılmaktadır. Bu kütüphanede kullanılan fonksiyonlardan bazıları aşağıda açıklanmıştır.

begin: Bu fonksiyon seri haberleşmeyi başlatmak ve veri hızını belirlemek amacıyla kullanılır. Örnek kullanımı aşağıdaki gibidir:

Serial.begin(9600); // Seri iletişimi başlat ve veri iletim hızını 9600 bps olarak ayarla.

write: Bu fonksiyon tek bir veri paketi göndermek amacıyla kullanılır. Örnek kullanımı aşağıdaki gibidir:

Serial.write(‘a’); // ‘a’ karakterini gönder.

print: Bu fonksiyon bir veri dizisini göndermek amacıyla kullanılır. Örnek kullanımı aşağıdaki gibidir:

Serial.print(“Arduino”); // “Arduino” yazısındaki karakterleri arka arkaya gönder.

println: Bu fonksiyon bir veri dizisini göndermek ve ardından bir alt satıra geçme komutu (carriage return)göndermek amacıyla kullanılır. Örnek kullanımı aşağıdaki gibidir:

Serial.println(“Arduino”);// “Arduino” yazısındaki karakterleri arka arkaya gönder ve son olarak carriage return karakterini göndererek satır başı yap.

available: Bu fonksiyon arduinonun veri alıp almadığını ve aldıysa kaç paket veri aldığını öğrenebilmek amacıyla kullanılır.

read: Bu fonksiyon arduinonya gelen 1 paket veriyi almak için kullanılır. Örnek kullanımı aşağıdaki gibidir.

if( Serial.available()>0)  // eğer gelen veri sayısı 0’dan büyükse yani veri geldiyse

{

char gelenVeri=Serial.read(); //gelenVeri isminde bir değişken oluştur ve gelen veriyi bu değişkene al.

}

Bu yazıda yapacağımız uygulamamızda bilgisayar üzerinden gelen karakterleri LCD ekran üzerinde göstereceğiz. Arduino üzerinde usb’den seriye dönüştürücü bir çip bulunmaktadır ve bu çipin RX TX uçları Arduinonun Tx, Rx pinlerine bağlıdır. Bu çip arduinoya program yükleme amacıyla kullanıldığı gibi PC-Arduino arasında seri haberleşme sağlamak amacıyla da kullanılabilir. Bu çipin özelliği USB port üzerinde bir sanal seri port oluşturmak ve USB’den gelen verileri  Arduino geliştirme kartı üzerindeki Atmega328p mikrodenetleyicisine UART protokolü ile iletmek ve Atmega328P’den gelen UART protokolündeki verileri USB formatında PC’ye iletmektir.

Bu uygulamada kullanacağımız devre aşağıdaki gibidir:

Uygulamada kullanacağımız kodlar aşağıdaki gibi olabilir.

Şubat 22

ARDUINO ile Eski tip paralel çıkışlı EPROM’u programlamak

Eski bir komponenti uygulamalarımızda yeniden kullanabilirmiyiz?

Tabii ki eskiden olduğu gibi devrelerimizde yer bulmaz. Çok daha uygun fiyatlı ve küçük yer kaplayan entegreler varken, Neden eski tip EPROM.
Bu eprom program cihazlarıyla kolaylıkla programlanıyor. Fakat konumuz Arduino ile programlayabilir miyiz.
Elbetteki programlayabiliriz.

Öncelikle Epromu tanıyalım. Bu tip epromlar 2 çeşit üretiliyordu.
1-) UV pencereli ( Silinebilir tip )
2-) OTP tipi ( 1 kez programlanabilir.)

UV pencere, UV ışığın geçişini sağlayarak epromun silinmesini sağlar.  Yeniden programlamak için önce silinmesi gerekir. Bu işlem uygun silme cihazlarıyla 20-30dk kadar sürmektedir. Fakat amatörseniz ve cihaz almak istemiyorsanız Güneşe bırakıp normalden çok daha uzun süre bekletirseniz yine silinecektir.

Şayet denemek için alacaksanız, pencereli olmasına dikkat edin.

Ayrıca EEPROM denilen elektrik ile silinebilen EPROMlar da üretildi. Bu yazıda örnek olarak verilen eprom entegrelerinin datasheet’lerini incelerseniz, programlamanın birbirine çok benzediğini görebileceksiniz. Sadece silme prosedürü farklıdır.

Üzerindeki kodlama ise neyi temsil eder bakalım. 27C256 buradaki 256 sayısı 256Kbit olduğunu gösterir. 1 byte 8 bit olduğuna göre 256K yı 8 bit sayısına bölersek sonuç 32K x 8 bit olacaktır.
27C256 = 256Kbit x 1 bit= 32K x 8 bit=32K x 1 byte olarak düşünebiliriz.

Biraz da nasıl programlayabileceğimize bakalım. Aşağıdaki resimde entegrenin bacaklarını görüyorsunuz. Bu bacaklardan A ile başlayanlar adres bacaklarıdır. 15 bitlik bir adresleme vardır.
Her vereceğiniz adres 1 hafıza hücresine denk gelir ve 1 byte lık bilgi alır. 15 bit =32767 sayısına eşit olacaktır. Yani 32767  x 8bit bilgi almaktadır.
Bunun dışında Q ile başlayan pimler Giriş çıkış pimidir. Programlarken giriş, okunurken çıkış olarak devreye girer.

Vpp pimi ise programlamada devreye girer. Programlama gerilimidir. Bu gerilim epromlara göre değişebilir. En doğru bilgi datasheet te yazmaktadır. 27C256 için 13V tur. Normal çalışmada 5V programlamada ise 13V olacaktır.

VPP Kontrol Devresi : Aşağıdaki resimler kontrol pimi HIGH olduğunda ve LOW olduğundaki gerilimler. Programlama ve Normal çalışmayı gösterir.

 

 

 

 

 

Vcc ise normal çalışmada 5V tur. Programlama esnasında 6.5V tur. Yukarıdaki devre gibi kontrol edebilirsiniz.

27C256 Eprom Programlama Dalga Şekli. 

27C256 Eprom Okuma Dalga Şekli.

Bunlardan başka bazı eprom entegrelerinde PGM pimi de bulunmaktadır. Bu pim programlama pimidir. Sadece programlama prosedüründe yer alır. (27C64 Epromu bir örnektir. )

27C64 Programlama Dalga Şekli. PGM sinyaline dikkat edin. 

 

Ayrıca her entegrenin bir kimliği vardır. Bu da A9 piminin özel kullanımı olarak bu kimliği almamıza yarar. İstendiği taktirde devresi ayrı tutularak bu kimlik alınır. Şayet adres olarak kullanılıyorsa bu pime 13V gibi bir gerilim verileceğinden Arduinoya bağlı olan bağlantı kimlik alımı sırasında kesilmelidir.

A9 piminin kullanımı ve diğer modların kullanımı bu tabloda gösterilmektedir. İşlemi yapmak için hangi pime hangi gerilimin uygulanacağını göstermektedir. 

Bu kadar bilgiden sonra nasıl programlayacağımızı anlatmaya başlayalım. Ayrıntılı olarak videoda göreceksiniz. Videolardan biri temel okuma ve kayıt nasıl yapılır bunu gösterir.

Öncelikle Vpp devresi ve Vcc devrelerini hazırlamamız gerek. Programlama için bu şart. Bir DC gerilim yükseltici (Boost converter) devresiyle 5V tan 13V ve 6V5 üretilir. (Ya da yüksek gerilimi seçip regülatörlerle düşük gerilimleri elde edebilirsiniz. ) Çünkü okuma ve programlamada bu gerilimleri kullanacağız.
Bu gerilimleri Arduinodan kontrol edebilirdik. Yukarıdaki Vpp devresiyle, fakat yeterli pimimiz olmadığını varsayarsak videodaki gibi bir anahtar bu iş için yeterli olabilir.
Ben kolay yolu seçtim ve anahtar koydum. Programlama kısmında anahtarı çeviriyorum okuma kısmında anahtarı normal konuma alıyorum.

Temel Prensip Devresi :
Aşağıdaki resimdeki gibi sırasıyla elle girerek adres ve data bilgilerini veriyorum. Bunlar hazır olduktan sonra Vpp ve Vcc gerilimlerini programlamaya ayarlıyorum. Son olarak 27C256 için CE pimini LOW durumuna getirip bir süre bekletip tekrar HIGH durumuna getiriyorum. Bu şekilde programlama tamamlanmış oluyor.
NOT : Dikkat edin bir süre dedim. Aslında bu süre maksimum hız için belirlenmiştir.
Aşağıdaki tablo bu süreleri göstermektedir. Bu süreler maksimum hız içindir. Bu sürelerden büyük seçebilirsiniz mahsuru yok. Fakat daha küçük bir zaman seçemezsiniz. Mesela CE pimi için bu süre tPW süresidir ve 95-105us dir. Siz bundan büyük seçebilirsiniz. Fakat mümkün olduğu kadar bu sürelere riayet etmeniz işinizin kalitesini arttıracaktır.

Temel prensip devresi : Sol taraf verilecek DATA ayarlama yeridir. En sağdaki ise çıkış bilgisini LED bar ile gösterir. Alt taraftaki adres bilgi ayar yerleridir.  Bu haliyle sol taraftaki epromdan okuma yapılıyor.

27C256 Eprom Programlama dalga şekli.

Yukarıdaki programlama tablosunda CE pimini LOW –HIGH yaptıktan sonra programlama zamanı bitinceye kadar bekleyip OE pimini LOW yaparsanız DATA pimleri, o ana kadar input durumunda sizin datanızı alırken, hemen OUTPUT şekline dönerek kayıt ettiğiniz veriyi DATA pimlerine yollar siz de kaydın doğru olup olmadığını test edersiniz. ( VERIFY bölümü )

Temel prensip olarak bu şekilde hafıza hücrelerine adres vererek kayıt yapıp, okuma yapabilirsiniz.

Buradan sonrasında Arduino devremizi anlatmaya çalışacağım.
Öncelikle şunu söylemem gerekiyor. Videoda devre proteusta çalıştığı için VCC 5V , 6V5 seçimini iptal ettim. Programlama dahil vcc yi 5V ile çalıştırdım. Tabii ki proteus toleransından dolayı bunu kabul etti.
Fakat gerçek devrede 5V , 6V5 ayrımını yapmanız gerekecektir.
Bu devrede 7 segment display kullandım. 4 dijit sayı yazdırabilmek için devreyi tasarladım. Fakat Eprom hafızası çok fazla olduğundan dijit sayısını arttırabilirsiniz. Bu şekilde programlayıp sayaç olarak kullanılabildiği gibi sadece display göstergesi olarak kullanılabilir ve arduino, gönderdiği bilgi ile dijitleri ayarlayabilir.

Neden bu Epromu ve diğer komponentleri kullandık. Displayleri arduino ile direkt kontrol edebiliriz. İstersek 74HC595 ile de kontrol edebiliriz. Hatta displayleri direkt Eproma da bağlayabiliriz.  Displayin ihtiyacı olan kodu Eproma verdik mi sorunsuz yazdırabiliriz.
O zaman neden bu kadar karmaşık.
Karmaşanın sebebi:
Bazı devrelerde paralel epromun kullanılması bize ayrıcalık ve kolaylık sağlayabilir. Mesela kayan yazı devrelerinde eskiden kullanılıyordu. Tabii ki tekrar programlamak sorun olabilirdi. Pencereli epromlar yerine, EEprom dediğimiz elektrik ile silinen Epromlar kullanılması daha rahat olacak ve  tekrar programlamayı sağlayabilecektir.
Bu devreyi kurmaktaki amacım, farklı komponentleri birlikte kullanırken nasıl efektif ve tasarruflu kullanabileceğimizi de göstermek istememdir.
Mesela 7447 display sürücü entegresini kullandım. Bunu yapmamın sebebi epromun data çıkışından gelen 1 byte lık bilginin 2 x 4bit şeklinde kullanılmasını sağlamak. Yoksa her bir dijit için 1 eprom kullanmam gerekirdi. Ben de 7447 nin ihtiyacı olan 4bitlik binary girdisini Epromun düşük 4bit ya da yüksek 4 bitinden sağladım.

NOT: Nibble nedir:
En küçük birim Bit, sonrasında 8 bit birleşip 1 BYTE oluşturur, 2 Byte birleşirse de 1 WORD oluşur. NIBBLE ise 1 Byte bilginin ilk 4 bit ve ikinci 4 bit şeklinde ayrı ayrı kullanılması demektir. 8 bit saydığınızda sayı FF=255 e kadar gider. bu şekilde nibble olarak kontrol edersek F, F olarak ayrı 4 bitlik verileri temsil eder. bu şekilde kullanırken 4 bitlik maksimum 0-15 arası sayılır. Yani 255 e kadar sayı olarak görülmez. 2 adet 16 ya kadar sayma söz konusu olacaktır. Yine tek port üzerinden gönderilecektir. Fakat algılanırken 2 adet 4 bit algılanacaktır.  Bu işlemi 4 bitlik BCD kodlamasıyla karıştırmayın. O farklı bir hesaplama gerektirir. 

 

Bu şekilde yapmakla, maliyet açısından tasarruf etmiş oldum. Her display’e 1 eprom yerine 2 adet 7447 almış oldum. 2 tane 7447 entegre 8TL 1 Eprom ise 16TL  bu şekilde devrelerinizde sadeleştirmeler yapıp maliyet düşürebilirsiniz.

Bu kullanımların yanı sıra Epromun paralel çıkışı hızı artıracaktır. Bunun yerine seri paralel çevirici kullanılırsa bir byte bilginin paralel çıkışa gelmesi 8 döngünün kullanılmasını gerektirir. Paralel devrelerde ise tek döngüde 1 byte lık bilgi kullanılabilir. Seri paralel çeviricilerde normal kullanımın en az 8 katı hızında çalışmak gerekir ki aynı hızda veri alınabilsin.

Arduino programında nasıl bir algoritma var derseniz, onu da açıklamaya çalışayım.
VCC anahtarında bir OKU ucu var. Arduino A0 girişine bağlanan bu uç ile arduino okuma alt programına mı yoksa programlama alt programına mı gideceğini anlayacaktır. Okuma yapacaksa yukarıdaki grafikteki gibi adresi ayarlar, sonrasında CE yi ayarlar ve sonrasında OE yi ayarlayarak bilgiyi data uçlarına çıkarır. İstediğiniz süre kadar bekleyip adresi 1 arttırarak bu işlemlere devam eder. Okuma Grafiğindeki durumun aynısını simüle eder.
Programlama kısmında ise yine programlama grafiğinde olduğu gibi adresi yazar, data bilgisini data girişine uygular ve sonrasında CE pimini ayarlar. Her epromun CE girişi farklı olduğundan aynı datayı alsalar bile aynı adresi alsalar bile CE arduino programı ile kontrol edilip eprom seçimi yapılır.
Belki bir çok arduino kullanıcısı bu çalışmayı bilmiyordur. Burada DATA bağlantısı için PORTD kullanıldı. Digitalwrite kullanılmadı. Tek tek pim ayarı yerine bu şekilde kullanarak tüm bilginin, PORTD ye bir seferde yazması sağlandı. Bu özellik arduinoda daha hızlı çalışmayı sağlar.
Ayrıca pimleri tek tek değiştirirken bazen dış devre farklı bir komut ya da data gibi algılayabilir. Bundan dolayı 8 bit =1 byte lıkbilgi çıkışa aktarılacaksa bu tip bir komut kullanmanız yerinde olur.

Arduino ile Eprom Programlama ve Okuma devresi.

Şubat 22

Arduino İle 0-30 MHZ Swr Watt Metre Yapımı

Sizlerin de bildiği gibi 0-30 mhz bir swr watt metre almaya kalksak ödeyeceğimiz tutar minimum 1000 lira. İlk başta aklınızda sorular dolaşıp duracağından adım gibi eminim ama hiç şüpheniz olmasın çünkü en kaliteli swr metre dahi olsa elinizde kalibrasyonunu yapmalısınız. Bence bir tane swr köprüsü ve bir tane ibre ile kalibrasyonunu başarılı bir şekilde yaparsak en iyi swr metre olur. Kendi kanaatimce.

Bu proje de ise yapacağımız şey swr köprüsünden giden ve dönen sinyali arduino ile okuyup bir 4 satır 20 karakter ekrana aktarmak. Burada en önemli kısım ise swr köprüsü ben çok uğraştım farklı denemeler yaptım, çeşit çeşit köprüler yaptım hepsi güzel çalıştı ama bir de şöyle bakmak gerekir troidlere diyotlara ödeyeceğiniz ücret 70 tl civarı iken ben aşağıda resmini gördüğünüz swr köprüsünü Çin’den aldım 82 tl nakliye falan 100 tl diyelim. Hani kendin yapmak en güzeli bence yine de siz bilirsiniz.

 

Bildiğiniz gibi swr köprülerde ihtiyacımız olan FWD (Giden), REF (Dönen) GND(Şase). Sistem olarak kısaca anlatmak gerekirse (bilmeyenler için) cihazımızdan çıkan gücü ve bu gücün antene gidip oluşan kayıpları (bunlar mesela, gevşek konnektör, ıslanmış konnektör, frekansa uygun olmayan anten, su almış anten kablosu) bize göstermesini istediğimiz ölçü aleti diyebiliriz.

Şunu da söylemek isterim ki proje bana ait değil. Yine bizim gibi radyo amatörü olan yabancı bir arkadaş. Kendisi ile epeyce maille iletişim kurdum yardımlarını esirgemedi ve bu yazısını kendimce paylaşma izni aldım.

 

 

Devre Şeması Bu Şekilde

 

şemayı incelediğinizde kendisi swr köprüsü ile arduino nano arasında 3.5 mm stero jak ile iletimi sağlamış. ben o arada 3’lü mike konnektörü kullandım.

Bu konnektöre kaliteli bir kablo takarak iletimi sağladım. hazır stero jak kablolarına güvenmeyin çok kalitesiz ve enterfere alıyor.

 

 

 

 

Bu devreyi inşa etmeden önce karar vermeniz gereken bazı unsurlar var.

Troid için FT-50 43 veya 61 malzemeyi HF’de sorunsuzca kullanabilirsiniz. Troiddeki güç seviyeleri küçük olduğu için boyut kritik değildir.

Diyotlar, 1N270 düşük güç olduğundan kullanılması idealdir. 1-25 Watt arasında 80M, 40M, 30M, 20M, 17M, 21M testlerinde +/-0.5w arasında doğru sonuçlar elde edildi.

Dirençler, RF devrelerinde her zaman karbon film direnç kullanımını tavsiye ederim. Karbon film dirençler HF çok kararlıdır. 50 ohm bir referans elde etmek için paralel olarak iki adet 100 ohm dienç kullanmak doğru olur.  watt güç aralığına bağlıdır. örneğin 25 Watt için 1/4 yani çeyrek watt gerekli. hesabınızı buna göre yapabilirsiniz.

swr köprüsünü çok iyi bir şekilde muhafaza etmemiz gerekli. ben altınkaya kutu firmasından aldığım alüminyum kutulardan kullanıyorum. detaylı anlatmaktansa kısa bir örnekle açıklayacak olursam, swr köprüsü kutusuz kullandığımda boşta duran bilgisayar hoparlöründen uğultu geliyor ama kutulu iken hiç bir problem yok.

Gelelim ekrana

 

  • Metin tabanlı LCD’lerin çoğunda bulunan Hitachi HD44780 yonga setini temel alan Arduino Liquid Crystal ekranlar için 20 Karakter X 4 Sıralı LCD Sürücü .
  • Seri Arayüz: I2C Adresi: 0x26 Pinler: GND? VCC? SDA? SCL
  • Arka ışık (Beyaz karakter rengine sahip Mavi)
  • Besleme gerilimi: 5V
  • Ölçüleri: 60mm×99mm
  • Kontrast: Potansiyometre Ayarı

fotoğrafta da gördüğünüz gibi TX bitirdiğinizde ortalama tepe noktasını göstermekte. TX yaptığınızda ekrana milisaniyeler sonra veriler görünmeye başlıyor bunun nedeni ise, dinamik modülasyona izin vermek için tipik SSB değerler ortalama periyotlar ve gecikmeler ile yüklenir. Bu devre de illaki 4 satır ekran kullanmanıza gerek yok. istediğiniz ekranı kullanıp kod üzerinde değişikliği yaparak kullanabilirsiniz.

Arduino

ATmega328 tabanlı arduino nano’yu kullanın, başka bir arduino kullanacaksanız kodda bazı satırlarda değişiklik yapmamız gerek, bu konuda yardımcı olabilirim isteyene.

Arduino için bir güç devresi

böyle bir devre yapabilirsiniz veya LM2596 ayarlı voltaj regülatörü kullanabilirsiniz. Maliyet olarak ikisi de aynı fiyata denk gelir 🙂

KOD

Güvenin ama doğrulamayı her zaman yapın!

bu yazı burada bitmedi devamı gelecek

 

Şubat 22

Arduino ile I2C LCD Kullanarak Voltmetre Yapımı

Merhaba arkadaşlar arduino ile çılgın projelerde olabildiğince hızlı ilerlemeye devam ediyoruz. Bu yazımızın konusu Arduino ile I2C LCD kullanarak voltmetre nasıl yapılır öğreneceğiz. Bildiğiniz üzere piyasada birçok voltmetre var ama siz kendinizinkini yapmak isterseniz aradığınız cevap tam olarak burada..

Malzeme Listesi

1- Herhangi Bir Arduino Modeli (Ben Nano Kullanacağım)

2- I2C 16X2 LCD

3- 100k direnç (Kahve,Siyah,Sarı)

4- 10k direnç (Kahve,Siyah,Turuncu)

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz  Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir.

Arduino I2C Lcd Voltmetre Devre Şeması

Not: Arduino ve I2C LCD Modülün Bağlantı Şeması , SDA = A4 ve SCL = A5‘ tir. Lakin Arduino Mega da ise I2C LCD Modülün Bağlantı Şeması SDA = 20, SCL = 21 dir.(Zaten mega kullananlar göreceklerdir ki 20. pinin yanında SDA, 21. pinin yanında SCL yazmaktadır.)

 

 

Yazılım

Bu modülle çalışabilmek için bir kütüphaneye ihtiyaç duyuyoruz öncelikle ı2c kütüphaneyi indirip aşağıda belirtilen yoldaki klasöre rar dosyasından dan çıkarıp atın.(Daha önce atmış iseniz tekrar yapmanıza gerek kalmayacaktır. )

Belgeler >  Arduino > libraries

Kod

 

Ben yaptım oldu. ama sonuçta voltaj ile uğraşıyorsunuz ola ki bir hatanızda arduinonuza zarar verebiliriniz. sorumluluk kabul etmiyorum. 73…

Category: Arduino | LEAVE A COMMENT