Skip to main content

Arduino Proje Fikirleri -2

DİJİTAL INTEGRATED CIRCUIT TEST DEVRESI PROJESI

Arduino programı nedir ? IC test devresi nasıl yapılır ? Arduino proje fikirleri nedir ? Arduino ile neler yapılabilir ? Bu ve benzeri sorulara cevap aradığımız arduino proje fikirleri adlı yazı dizisinin 2. yazısı ile karşınızdayız.

Farklı IC(Integrated Circuit)’ler farklı özelliklere sahiptirler.Böylece , farklı donanım konfigürasyonlarını uygulamak ve farklı IC’leri kontrol etmek için tüm olası girdileri kontrol etmek zorunlu hale gelmektedir.

Farklı türde IC’lerin işlevselliğini kontrol etmek için bazı kolay ve kullanışlı tekniklere ihtiyacımız vardır.Bu sebeple bu yazımızda arduino tabanlı dijital IC test cihazını anlatmaya çalışacağız.Burada farklı IC’leri kontrol etmek için farklı fonksiyonlara sahip bir program geliştiriyoruz.Çeşitli IC’lerin prototipini sistematik olarak analiz edip test edeceğimiz ve her pime olası tüm girişlere ulaşabileceğimiz bir sistem tasarlıyoruz.

Ek olarak bir görüntüleme kanalı üzerinden farklı IC’lerle ilişkili doğruluk tablolarınıda inceleyeceğiz.

ARDUINO TABANLI DİJİTAL IC TEST DEVRESİ

Dijital IC test cihazında , Atmega2560 mikrodenetleyiciye (MCU) dayalı olarak Arduino Mega ADK kartı , CON1’e bağlı Nokia 5110 LCD , 5×3 matris tuş takımı (S1-S15) , ZIF soketi ve 12V/1A adaptör kullanılacaktır.

Arduino Atmega’da bulunan Atmega2560 , harici bir donanım programlayıcısı kullanmadan MCU’ya yeni kodların yüklenebilmesi için kullanılan bir bootlader ile desteklenmiştir.

Bu prototipte kullanılan LCD ekran 48×84 pikseldir.Ortalama güç gereksinimi 3,3V olan düşük güçte bir CMOS LCD denetleyici (PCD8544) kullanılmaktadır.Burada uygun dirençlerle MCU güç gereksinimlerine ayarlanabilmektedir.LCD’yi kontrol etmek için , bazı temel fonksiyonlara sahip olan LCD adlı basit bir kütüphane tasarlanmıştır.

Tuş takımı matris kullanmamızın amacı ise , tuşların kontrol edilmesi için gerekli olan giriş/çıkış pin sayısının azaltılmasıdır.Bir giriş yaparken , bir seferde sadece bir sütun okunur.Okunacak sütun mantıksal olarak 0V’a bağlanır.

Artık , satırların durumunu kontrol ederken , o sütundan hangi tuşa basıldığını tespit etmek mümkündür.Bir sütunu okuduktan sonra , MCU , yeni sütunu mantıksal 0V’a bağlayarak hemen bir sonraki için geçer.Sadece o belirli kolonun 0V’a bağlanması çok önemlidir.Aksi halde , doğru girişi tespit etmek mümkün olmayacaktır.Bu şekilde , tüm sütunlar matris taramasının bir tam döngüsünü elde etmek için tek tek okunur.

Saat hızı 16Mhz olan Atmega2560 , saniyede binlerce kez tüm matrisi tarayabilir.Birden fazla tuşa basılması nedeniyle beklenmedik sonuçları ortadan kaldırmak için diyotların tüm anahtar boyunca eklendiğini unutmamalıyız.Tuş takımını kontrol etmek için tuş takımı adı verilen başka bir kütüphane , kullanıcının MCU’ya farklı girişleri beslemesini sağlar.

Devrede , her bir Giriş/Çıkış pini 1-Megaohm çekme direncine bağlanmıştır.Bu dirençler herhangi bir duruma bağlı olmadığında giriş pinlerinin kayma durumunu önlemektedir. IC test cihazının kusursuz olarak çalışması için tasarlanan kod için , arduino pinlerine olan tüm bağlantıların devre şemasında olduğu gibi yapılması önerilir.Devre şeması üzerinde bir değişiklik yaparsanız , kod üzerinde de aynı şekilde değişim yapmalısınız.

Aşağıdaki IC’ler başarılı bir şekilde test edilmiştir  ;

4000, 4001, 4002, 4011, 4012, 4023, 4025, 4029, 4030, 4049, 4050, 4068, 4069, 4070, 4071, 4072, 4073, 4075, 4077, 4081, 4082, 4093, 5408, 5409, 5411, 5421, 5479, 7266, 7400, 7401, 7402, 7403, 7404, 7405, 7408, 7409, 7410, 7411, 7412, 7414, 7420, 7421, 7427, 7430, 7432, 7473, 7474, 7476, 7478, 7479, 7486, 74132 ve 74393.

Desteklenen IC’lerin sayısı , programa yeni işlevlerin ve kitaplıkların dahil edilmesi ile artırılabilir.Atmega2560 MCU’nun 256 kB flash belleğe sahip olması dolayısıyla çok sayıda IC için bir program yüklenebilmektedir.

Tipik bir IC test cihazının aksine , bu cihaz kullanıcısına birçok kullanışlı özellik sunar.Bu cihaz üzerinde Nokia 5110 ekran paneli ve 15 tuşlu bir tuş takımı kullanılmıştır.

Kullanıcılar test prosedürleri hakkında da yardım bulabileceklerdir.Örnek olarak , bir girdi girileceği zaman yanlış girildiyse ,tekrar doğrusu girilerek yanlış olanlar düzeltilebilir.

Her bir kapı için doğruluk tabloları daha iyi bir gözlem için durdurulabilir veya zaman kazanmak için es geçilebilir.Cihazı resetlemeden önceki aşamayıda (yeniden veri girmek için) tekrar bir çalıştırma yaptırılabilir.

İşlem hızının 16 Mhz’i , bu IC test cihazının cevap zamanını oldukça iyi hale getirmektedir.Tuş takımından veri kabul ederken ve LCD panel üzerinden bilgi görüntülerken zaman gecikmesi gözlenmemektedir.Otomatik tarama durumunda , bu prototip , IC’yi test etmek için ortalama yaklaşık olarak 0,5 sn sürmektedir.Tüm bu özellikler bu cihazı güçlü ve kullanıcı dostu yapar.

Otomatik Arama Yöntemi :

Bu işlemde kontrol edilecek IC’nin pin sayısı önce girilmektedir.Cihaz daha sonrasında tüm olası giriş sinyallerini IC’ye bildirmeye başlayacaktır ve olası her giriş için geri yanıt almaktadır.Bir cevap kendi veritabanında belirli bir IC’nin çıktısı ile eşleşirse , o zaman IC’nin iyi olduğunu bildirir.

Manuel Kontrol Yöntemi :

Bu yöntemde de ilk önce IC numarası girilir(Ör ; 4011).İşlem devam ederken , bu IC’nin temel detayları görüntülenir.Kontrol işleminin başlangıcında , kullanıcı için doğruluk tablosu seçeneği sunulur.Gerçek tabloları görüntülemek için bu seçenek seçilmelidir.Bir sonraki aşamada ise , MCU , sinyal işleme görevini başlatır.

Burada spesifik olarak NAND geçidi , IC 4011’in durumunda MCU , pin 14’e  0  ve 5’e 5V besleme sağlar.Bu IC’nin dört tane NAND kapısı olduğu için , bunlardan her biri birer birer kontrol edilir.MCU, her bir kapıya , doğruluk tablosuna göre gerekli olan giriş kombinasyonunu sağlar ve çıktıları IC (4011) tarafından kendi girişi olarak geri alır.

Daha sonra ise , bu gözlemlenen sonuçları , IC spesifikasyonlarına göre beklenen sonuçlarla karşılaştırarak , MCU , söz konusu belirli kapıdaki sonucunu verir.Son olarak ise , IC’nin genel durumuna ek olarak iyi veya kötü kapılarının sayısı görüntülenir.

KAYNAK DOSYALARINI İNDİRMEK İÇİN TIKLAYINIZ (DEVRE ŞEMALARI vb. )

 

DİJİTAL INTEGRATED CIRCUIT TEST DEVRESİ PROJESİ SONUÇ :

Bugünki yazımızda Dijital IC Test Devresi projesini sizlerle paylaştık.Arduino tabanlı olan bu proje ile arduino proje fikirleri yazı dizisine devam ediyoruz.Umuyoruz faydalı bir yazı dizisi oluyordur.

İyi Çalışmalar

Arduino Proje Fikirleri -1

ESP8266 TABANLI KABLOSUZ WEB SUNUCUSU PROJESİ

ESP8266 nedir ? Arduino proje fikirleri nedir ? Kablosuz web sunucu projesi nasıl yapılır ? ESP8266 nasıl programlanır ? Bugünki yazımızda Arduino Proje Fikirleri serisinin ilk yazısı ile sizlerleyiz.

Tüm kaynak kodlar , resimler ve ilgili dökümanları sayfanın en altındaki linkten indirebilirsiniz.

ESP8266 TABANLI KABLOSUZ  WEB SUNUCUSU

ESP8266 tabanlı kablosuz web sunucusu projesi arduino çerçevesinde oluşturulmuştur.Şu anda , ESP8266 elektronik alanında popülerlik kazanmaktadır çünkü düşük maliyetli , güvenilir ve piyasada kolay bulunabilir bir modüldür.

Bu modülle ilgili belgelerin çoğu Mandarin (Çince) dilinde olup veri sayfasında sağlanan bilgiler bir uygulama adına ve ESP8266’nın kullanımı için çokta yeterli değildir.

Bu boşluğu doldurmak adına , çeşitli ülkelerden insanlar bu modülle ilgili programlama ve diğer konular hakkında gerekli detayları veren bir ESP8266 topluluğu oluşturmuşlardır.

ESP8266 , dahili 32 bit düşük-güç CPU , ROM ve RAM içermektedir.Yazılım uygulamalarını bağımsız bir cihaz olarak taşıyabilen veya bir mikro denetleyici (MCU) ile bağlayabilen eksiksiz ve bağımsız bir Wi-Fi ağ çözümüdür.Modül , COM portu üzerinden herhangi bir MCU ile kullanmak üzere yerleşik AT komutu ürün yazılımına sahiptir.ES8266’nın göze çarpan özellikleri şunlardır ;

802.11  b/g/n protokolü

Doğrudan (P2P) , soft-AP

Entegre TCP/IP protokol yığını

Entegre PLL , düzenleyiciler ve güç yönetim birimleri

802.11b modunda +19,5 dBm çıkış gücü

Anten çeşitliliğini destekler

Entegre düşük güçlü 32 bir MCU

SDIO 2.0 , SPI , UART

Kablosuz SoC

GPIO , I2C , ADC , SPI , PWM

Maksimum frekans 80 MHz

64k byte Komut RAM’ı

96k byte Veri RAM’ı

64k byte Önyükleme RAM’ı

RISC mimarisi

ESP8266 Tabanlı Kablosuz Web Sunucusu :

Ana kart ve diğer kartın devre şemaları ilgili dosya içerisinde verilmiştir.ESP8266’yı bağımsız bir cihaz olarak kullanıyoruz.Wi-Fi modülü için besleme gerilimi 3.3 volttur.Diğer kart ana karta monte edilmelidir.

CON2 , modülü bir PC’ye bağlamak için COM port arabirimi için kullanılır ve modül, USB-Seri dönüştürücü olarak kullanılır ve programlanır.

PC’de eğer fiziksel Com port var ise , USB-Seri dönüştürücü gerekli değildir.

ESP8266 modülünde 16 adet pin bulunmaktadır.Pin1 Reset , R5 direnci üzerinden 3.3V’a bağlanır ve manual reset için S2 düğmesi kullanılmaktadır.

Programlama modu için Pin12 (GPIO0) , 3.3V’dan R3’e bağlanır ve S1 , modülü program moduna getirmek adına kullanılır.Pin3 (CH_PD) , 3.3V’dan R8’e bağlanır.

ESP8266 ayrıca genel amaçlı olarak 10 bit olan ADC (Pin2)’yi entegre eder.Genellikle sensörden veya bataryadan gelen voltajı ölçmek için kullanılırlar.Çip yayım yaparken kullanılmazlar aksi durumda voltaj bilgisi yanlış olabilir.

Tüm dijital giriş/çıkış (I/O) pinleri , ped ile toprak arasına bağlanan bir snap-back devresi ile aşırı voltajdan korunmaktadır.Snap-back gerilimi genellikle 6V’dur ve tutma voltajıda 5.8V’dur.

Bu aşırı voltaj ve ESD’den koruma sağlar.Çıkış cihazları ayrıca diyotlarla ters voltajdan korunmaktadır.

Led1 , Pin11’e (GPIO2) bağlanır.Pin6 (GPIO12) 3.3V’dan R4’e bağlanır ve hata ayıklamak adına bir düğme ile (S3) ilgili işlem sağlanır.

Wi-Fi modüllerinin her tedarikçisi , çıkış pinleri düzenlemesi adına farklı bir model izlemektedir.Yani standart PCB modeli takip edilmemektedir.

Bir web tarayıcısı kullanılarak LM35 sıcaklık sensörü ve bir led kontrol(açık/kapalı) kullanılarak oda sıcaklığını ölçmek adına bir uygulamada kullanılmıştır.LM35 , hassasiyeti 10 mV/1 C derece olan kalibre edilmiş bir sıcaklık sensörüdür ancak aynı zamanda özel projelerle de kullanılabilir.

ESP8266 ev otomasyonu , ağlar , endüstriyel kablosuz kontrol , IP kameralar , sensör ağları , akıllı prizler , bebek monitörleri , giyilebilir elektronikler , güvenlik kimlik etiketleri , konum sistem işaretleri ve konum duyarlı cihazlarda kullanılabilir.

Yazılım Kısmı :

ESP8266 tabanlı kablosuz web sunucusunda programları derlemek ve yüklemek için Arduino IDE kullandık.ESP8266 topluluğu ESP8266’nın bir Arduino IDE ile kullanılması için uygun bir eklenti geliştirdi.Eklenti , üç tür ESP8266 Wi-Fi kartını destekler.Bunlar genel olarak ESP8266 anakart , MCU ESP8266 devre kartı ve OLIMEX ESP8266 geliştirme kartıdır.

ESP8266 Arduino Eklentisi Takma işlemi ; Arduino IDE (1.6.5 veya üstü sürümü) yükleyin.Arduino IDE’yi çalıştırın ve Dosya -> Tercihler seçeneğinden açık tercihler penceresini açın.Ek olarak Pano Yöneticileri URL alanına gidin ve ‘http://arduino.esp8266.com/stable/package_esp8266com_index.json’ adresini girin.Tamam’a basın.

Tools menü üzerinden Board: Arduino Uno -> Boards manager ve buradan Open Boards Manager’i açın ve ESP8266 topluluğunu , ESP8266’yı bulmak için aşağı doğru kaydırın.

Alanı bulduktan ya da vurguladıktan sonra yükle işareti karşınızda görünecektir.

Tıklayın.İşlem ortalama bir internet bağlantısı ile 30 dakika kadar sürecektir.

Yazılım ise basittir.Setup  () rutinleri , seri portu , çıkış olarak ise GPIO2 pinini ve giriş olarakta GPIO12’yi yapılandırarak donanımı çalıştırır.setupWifi() kısmı kablosuz bölümünü yapılandıracaktır.

Loop() kısmıda gelecek olan istekleri işleyen kısımdır.

Fonksiyon size_t sendProgmem (Wi-FiClient istemcisi , const char progmem[], size_t boyut) istemciye veri gönderir.IN [] dizisi , Web sayfasına karşılık gelir.Görüntü [] dizisi , EFYLOGO’ya karşılık gelir ve ES[] dizisi , modüle karşılık gelmektedir.

Diziler dosya-dizi dönüştürücü yazılım hexy kullanılarak oluşturulmaktadır.Bu ücretsizdir ve internetten indirilebilirdir.Diziyi oluştururken , kod çözme amacı ile .jpg görüntü uzantısını kaldırmalısınız.Tüm .jpg dosyaları bu yazımıza dahil edilmiştir.

SSID ve şifreyi , değiştirmek ve saklamak için uygun rutinler bulunmaktadır.ESP8266 yapılandırması Wi-Fi için yapıldıktan sonra , HCF4094 kullanılarak paralel-kaydırma yazma programına 8 bitlik bir seri geçiş ve LCD arabirimi için kullanılmaktadır.

İnşa ve Test Aşaması :

USB-Seri UART dönüştürücü sürücüsü yazılımını yükleyin ve geri-döngü testi yapın.

Araçlar Kartı : Arduino Uno’dan Genel ESP8266 Kart modülünü seçiniz.Arduino IDE ile ilgili kartınıza bağlandıktan sonra Programı yükle butonunu kullanarak birleştirme işlemini yapabilirsiniz.Programı modülde birleştirmek için , ana kartın COM bağlantı noktasınıı (CON2) seri-usb dönüştürücü ile PC’nize bağlayınız ve sanal COM bağlantı noktası numarasını not ediniz.

Ana Kartı Açın :

Program tuşunu S1 (SPIO0) basılı tutarak Reset (Sıfırla) düğmesi (S2) basınız.Reset’i bırakınız ve S1 (GPIO0) düğmesini serbest bırakın.Şimdi ESP8266 program moduna girecektir.

Yükle düğmesine tıklayın ve program modunda derlenecek ve oluşturulacak olan bin dosyası modüle yüklenecektir.

Ana kartı artık kapatın ve Wi-Fi cihazınızı açın.Açık hiperterminal (EFY Lab’ta X-CTU hyperterminal kullanılmıştır) baud hızı 115200 olan PC ile COM portunuzu seçin.S3’e basılı tutun ve ana kartı açın.SSID ve şifreyi girmeniz istenecektir.Anahtarı serbest bırakın ve Wi-Fi ağınızın SSID ve şfiresini virgülle ayırın ve Enter deyin.SSID ve şifre EEPROM’da saklanacaktır.

Sonraki kullanım adına S3’ü kullanmanız gerekmez.Wi-Fi’ye bağlandığınızda , ESP8266 modülünün IP adresi LCD1’de görüntülenecektir.

Tarayıcıyı IP adresi ile başlatınız.Karşınıza bir web sayfası gelecektir.LEDON ve LEDOFF olarak işaretlenmiş olan düğmeler LED1’i açmak ve kapatmak için kullanılmaktadır.Pervane ve motor gibi aletler , Pin11’e (GPIO2) bağlı optokuplör kullanılarak uygun bir röle sürücü devresi ile açılıp kapatılabilir.Pin6’nın (GPIO12) durumu ve sıcaklık okumaları , tüm Web sayfasını yenilemeden AJAX komut dosyaları kullanılarak görüntülenir.

KAYNAK DOSYALARINI İNDİRMEK İÇİN TIKLAYINIZ ! 

 ESP8266 TABANLI KABLOSUZ WEB SUNUCUSU PROJESİ SONUÇ :

Bugünki yazımızda ESP8266 Tabanlı Kablosuz Web Sunucusu Projesi adlı yazıyı sizlerle paylaştık.Bu yazı ile arduino projelerine dair ilk yazımızı paylaşmış oluyoruz.Birbirinden eğlenceli ve öğretici fikirler ve ilgili fikirlere dair kaynaklarla beraber farklı bilgiler öğrenmeye başlıyoruz.Umuyorum faydalı oluyordur.

İyi Çalışmalar