STM32 ve STM8 İLE OLED SSD1306 EKRAN

0.96″ boyutunda 128×64 ve 128×32 piksel OLED ekranlar birkaç dolarlık fiyatlarla bulunabiliyor. Bu ekranlar SSD1306 ya da SH1106 kontrol yongaları ile I2C ve SPI arayüzlü olarak satılıyor. TFT ve Monokrom LCD lere alternatif olarak kullanılabilen bu ekranların kullanımı için internette bol miktarda örnek kod ve sürücü var.

Küçük boyut ve yüksek kontrastları ile OLED ekranlar klasik arkadan aydınlatmalı LCD ekranlara hoş bir alternatif oluşturuyorlar.

Ben bu yayında, ssd1306 OLED ekranları STM8 gibi program ve RAM belleği çok kısıtlı olan mikro denetleyicilerle kullanmak için geliştirdiğim bir algoritmayı anlatıyorum. Bu sürücü, 128×32 çözünürlüklü OLED ekranlara yönelik olarak önemli bir iyileştirmeyi daha içeriyor.

Continue reading “STM32 ve STM8 İLE OLED SSD1306 EKRAN”

STM8S MİKRO DENETLEYİCİ İLE ÇALIŞMAK

Genelde küçük projelerimde STM32F103 serisi mikro denetleyiciler ile çalışırım. Bu 32bit mimariye sahip, 72Mhz ARM Cortex M3 serisinin harcı alem, ucuz bireyidir. Son zamanlarda farkettim ki bunların 48 pinli “Pico” geliştirme tipinin fiyatı bile 1 dolarlardan 3 doların üzerine çıkmış. Bu durumda malzeme kutularımda yıllardır beklemede olan onlarca STM8 modülünü tekrar elime aldım. Hiç olmazsa küçük uygulamalarda onları kullanabilirim diye düşündüm. Aşağıdaki güncel fiyat karşılaştırması bu ilgiye değer olduğunu gösteriyor (Ali Express fiyatları – tek tümleşik devrelerin değil, küçük geliştirme modülü fiyatları) :

STM8S003F3P6. : 0.76$/ad
STM32F030F4P6: 2.5 $/ad (20 pin, STM8 e en yakın özelliklerde)
STM32F103C8 : 2.5-3.5$/ad
STM32F401CC. : 3.5$/ad

Üstte STM32F103C8/altta STM8F103

Elbette STM8 in I/O sayıları, hızı, program ve RAM bellek boyutları STM32 ye yaklaşamıyor bile, ama pek çok uygulama için yeterli oluyor. 20 pinli STM8 modüllerinin fiziksel boyutları da 48 pin STM32 ye göre çok daha küçük. STM32 nin de -F030 gibi- 20 pinli tipleri var ama fiyat olarak 48 pinlilerden çok farklı değiller.
STM8 de uygulama geliştirmek için kullanılan platform, derleyici ve derlenmiş program kodunu STM8 e aktarmada kullanılan uygulama STM32 den farklı.
Bu yayında bir STM8 uygulaması geliştirmek için gerekecek araçları anlatmaya çalışacağım.

Continue reading “STM8S MİKRO DENETLEYİCİ İLE ÇALIŞMAK”

STM32 İLE ST25VF040 NOR FLASH BELLEK KULLANMAK

STM32 ile EEPROM kullanmak gerektiğinde 24L serisi I2C arayüzlü tümleşik devreleri kullanmaktaydım. Ancak bunlara daha hızlı bir alternatif gerektiğinde SPI arayüzlü NOR FLASH bellekleri kullanmak uygun oluyor. 50 MHz saat hızları ile çalışabilen bu bellekler en fazla 400 KHz e çıkabilen I2C EEPOM lara göre çok hızlılar.

Ancak bunların kullanımları 24L serisi EEPROM’lardan biraz farklı. Bu yayında Ali Express den çok ucuza aldığım (5 tanesi 0.55USD) 4 Mbitlik SST25VF040B-50-4C-S2AF tipi NOR Flash yongasının STM32 ile kullanılışını anlatacağım.

Bilgisayarların BIOS yongalarını CH341A modülü kullanarak PC den okuyup yazma işlemini bir başka yayında ele alacağım. Bu yayın STM32 ile Flash kullanımına yönelik.

Continue reading “STM32 İLE ST25VF040 NOR FLASH BELLEK KULLANMAK”

PYTHON İLE CHECKSUM HESAPLAMAK

Projelerimde sıklıkla mikro denetleyici ile PC arasında UART iletişimi kurmam gerekiyor. Bu iletişimin güvenli olması için CHECK SUM kontroluna başvuruyorum.

Checksum uygulaması için çeşitli standartlar var. Ben 8 bit Mod256 olarak adlandırılan yöntemi kullanıyorum.

Bu yayında PC den mikro denetleyiciye bir Python programı ile gönderdiğim text satırları için uyguladığım checksum yöntemini anlatacağım.

Continue reading “PYTHON İLE CHECKSUM HESAPLAMAK”

PYTHON İLE UART STREAMER KULLANICI ARAYÜZÜ

Zaman zaman PC üzerinde de yazılım geliştirmem gerekiyor.PC diskinde kayıtlı olan bir Gerber dosyasını satır satır okuyarak seri port üzerinden CNC ye aktarmam gerektiğinde Python gündeme geldi.

Python öğrenmeye girişmemin nedeni de bu oldu. Öğrencilik yıllarımdan itibaren Fortran, Basic, Pascal, Delphi, Visual Basic programlama dillerinin birinin devri kapanırken diğerine geçmek zorunda kaldım. 4-5 yıl öncesinde de Python’a el atmak zorunda kaldım. Python ile birlikte Object Oriented Programlama tekniklerini de öğrenmek zorunda kaldım. Ancak, bu sonuncusunu işimi görecek en alt düzeyde tuttuğumu itiraf etmem gerekir. Bu konuda bir uzman olmamakla birlikte, bu yayında bildiğim, yaptığım kadarını paylaşacağım.

Burada anlatacağım arayüz programının kapsamında Python ile PC ekranında diyalog pencereleri, seçme kutucukları, komut butonları oluşturmak, Python ile PC nin seri portlarına erişmek, PC diskinde kayıtlı text dosyalarına erişip okumak gibi işlemleri ele alacağız. Vermiş olduğum kodların, bir Python uzmanı tarafından daha şık ve verimli şekilde yazılabileceğini de peşinen belirterek başlayayım.

Continue reading “PYTHON İLE UART STREAMER KULLANICI ARAYÜZÜ”

STM32 İLE AÇIK ÇEVRİMDE BLDC SERVO MOTOR SÜRMEK

Daha önce fırçasız servo motor -BLDC- kontrolu konusunda iki yayınım oldu. O yayınlarda temel bilgiler verdikten sonra ST Microelectronics firmasının Nucleo64 kitini, IHM07M1 motor sürücüsünü ve STSPN7 paket yazılımını kullandığım bir uygulamayı anlatmıştım.

Bu defa, kendi MOSFET sürücümü, IR2103 MOSFET sürücü tümleşik devresini kullanarak, ama kendi geliştirdiğim kodlarla BLDC sürmeye girişiyorum. Bunun da ilk adımı burada anlatacağım gibi, motoru “açık çevrim” kontrolu altında çalıştırmak olacak.

Continue reading “STM32 İLE AÇIK ÇEVRİMDE BLDC SERVO MOTOR SÜRMEK”

STM32F103 ve SPI DOKUNMATİK PANEL KULLANIMI

STM32F103 ile rezistif dokunmatik panelli TFT kullanılışını daha önce anlatmıştım. O yayında koordinat belirlemek için dokunmatik panelin sensör dirençlerinin uçlarından analog gerilim değerlerini ölçüyorduk. Bunun için de STM32F103 ADC lerini kullanıyorduk.

O yayına ulaşmak için burayı tıklayabilirsiniz : STM32F103 İLE DOKUNMATİK PANEL KULLANIMI.

Bazı ekranlarda ise koordinat bilgileri bir dokunmatik panel kontrol işlemcisi -Touch controller- ile SPI arayüz üzerinden alınabiliyor. Bu durumda mikro denetleyicinin ADC lerini kullanmadan kalem koordinatlarını okuyabiliyoruz. Bu öncekine göre daha esnek, farklı seçenekler sunan bir yöntem oluyor.

Continue reading “STM32F103 ve SPI DOKUNMATİK PANEL KULLANIMI”

EV ALETLERİ İÇİN SERVİS HİZMETLERİ

Bu yayın biraz yakınma, biraz uyarı niteliğinde olacak.

Evlerimizde mobilyalar dışındaki nereyse her şey irili ufaklı elektrikli aletler. Buzdolapları, TV ler, çamaşır bulaşık makinaları, fırınlar kombiler … Bunlar arızalanınca servis çağırıyoruz. Şurası bozulmuş, abi bunun beyni yanmış komple değişmesi gerekiyor vb. ne derlerse tamam deyip paralarını ödeyip bir de teşekkür edip gönderiyoruz.

Bende son zamanlarda bu arkadaşların nasıl çalıştıklarını daha yakından izlemek gibi bir saplantı oluştu. Emeklilikten dolayı başıma iş almaktan kaçınmadığımdan olsa gerek.

Sanki hayatımızda huzur bozacak şey kalmamış gibi, bir de bunu kurcalayıp asabımı iyice bozdum. Sizler de bir konuda daha “pimpirikli” olmayı göze alıyorsanız yazının devamını okursunuz. Yok, dert edecek yeteri kadar şey var zaten diyorsanız boş verin, başka şeylere bakın.

Continue reading “EV ALETLERİ İÇİN SERVİS HİZMETLERİ”

STM32 İLE OV7670 KAMERA KULLANIMI

OV7670 amatör uygulamalar için kullanılabilecek yaygın ve ucuz bir kamera. STM32F103 ile kullanmak üzere yaptığım çalışmaları paylaşacağım.

Bilindiği gibi STM32F103 ün 20kB lık RAM kapasitesi en mütevazi boyutlarda bir fotoğrafı saklamaya dahi yetmiyor. Ben ise desen tanıyan bir kod geliştirmek istiyorum, bir şekilde boyut problemini aşabilir miyim bakacağım.

Bu ilk yayında kameranın SCCB protokolu ile kontrolunu ele alacağız.

Continue reading “STM32 İLE OV7670 KAMERA KULLANIMI”

STM32F103 ve DS18B20 SICAKLIK SENSÖRÜ

DS18B20 gömülü sistemler ile kullanılan en popüler sıcaklık sensörlerinden birisi. BU sadece sıcaklık ölçüyor, aynı zamanda nem de ölçebilen DHT11 ve DHT22 ile bunların üzerine bir de basınç ölçen BM280 diğer seçenekleri oluşturuyor.

Bu yayında DS18B20 bin STM32F103 ile kullanılışını anlatacağım. İnternette bu konuda istemediğiniz kadar örnek uygulama var, başvurulacak kaynak seçenekleri bol. Benim vereceğim bilgiler ve kodlar da eşi benzeri görülmemiş şeyler değil.

Continue reading “STM32F103 ve DS18B20 SICAKLIK SENSÖRÜ”