STM32F4 ile ST7735 SPI TFT LCD kullanarak RTC Saat Uygulaması

Merhaba Arkadaşlar;

Bu yazımda sizlere önceki yazımda paylaştığım STM32 li saat devresinin SPI TFT LCD li olanını paylaşacağım. Yine çok sık kullanılan SPI TFT LCD ST7735 i kullanıyorum. Bunun yanında DS18B20 sıcaklık sensörünü ekleyerek ekranda ortam sıcaklığını ve işlemci sıcaklığını göstereceğim. Eğer DS18B20 istemiyorsanız programdan yoruma alabilirsiniz.

Önceki gibi ilk önce CubeMX programı ile proje oluşturacağım. İsterseniz komple paylaştığım proje içerisindeki dosyayı kullanabilirsiniz.

 

 

Daha sonra sırası ile kullanacağımız modülleri seçiyoruz.

Dahili sıcaklık gösterimi için ADC ayarı:

RTC için ayar:

SPI LCD ayar:

DS18B20 Pin ayar:

SPI iletişimi için CS, RES ve RS pinleri:

Daha sonra Osilatör ayarını değiştirmeyeceğiz, default ayar devam edilecek.

Şimdi gelelim seçtiğimiz modüllerin ayarlarını yapmaya;

SPI:

ADC:

RTC:

DS18B20 için pin ayar:

Ayarlarımızı yaptıktan sonra programın bize kaynak kodlarını oluşturmasını sağlayacağız. Project -> Settings den aşağıdaki gibi projenin adı ve kullanacağımız derleyici seçilir.

Ayarları yaptıktan sonra Project -> Generate Code a basarak kaynak kod şablonu üretilir.

Benim oluşturduğum proje dosyasını aşağıdaki linkten ulaşabilirsiniz. (cubemx dosyası dahil.)

ST7735_UYG_3_1.5

İster kendiniz ister linkteki projeyi kullanın, kodlama yapısında eklenecek yerler aşağıda belirtilmiştir.

  • ilk önce sistem dosyalarını include ediyoruz
  • Variables
  • Ekran, RTC ayarlama ve ilk açılış
  • While kısmı:


    Bu bölümde dikkat etmeniz gereken nokta ilk çalıştırmada rtc yazan ve yoruma alınan kısımda saati ayarlamak için değerleri girmeniz gerekiyor. Enerji verip RTC ayarlandıktan sonra tekrar rtc yi yoruma alıp derleyip yükleyebilirsiniz. Programda saat ayarlama menüsü oluşturmadığım için bu yöntemle bir kez saat ayarlanır. Dikkat etmeniz gereken bir nokta da Vrtc pinine 3V pil bağlamalısınız. Bu pin uA seviyelerinde enerji çekilerek RTC nin çalışmasını sağlamaktadır. İsterseniz programa saat ayar menüsü dahil edebilirsiniz.

    Son hali ile program ekranı aşağıdaki gibi hem analog hemde digital saati göstermektedir. Ekranda görünen sıcaklıklar ise işlemci ve DS18B20 nin değerleridir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.