• Buradasın

    STM32 Nucleo G70LB ile LED Kontrol ve PWM Sinyali Eğitimi

    youtube.com/watch?v=pjVc1XrdOTE

    Yapay zekadan makale özeti

    • Bu video, Mert adlı bir eğitimcinin STM32 Nucleo G70LB kiti üzerinde LED kontrolü ve PWM sinyali oluşturma konusunda sunduğu bir eğitim içeriğidir.
    • Videoda, STM32 mikrodenetleyicisi kullanarak LED kontrolü için gerekli tüm adımlar gösterilmektedir. İlk olarak QBMX uygulaması üzerinden board ayarları yapılarak GPIO, ADC ve timer periferileri başlatılıyor, ardından QBD'de kod yazarak LED kontrolü için gerekli fonksiyonlar oluşturuluyor. Daha sonra Freearthos işletim sistemi kullanılarak timer ayarları, task oluşturma, word translate fonksiyonu ve UART konfigürasyonu gibi konular ele alınıyor.
    • Eğitim içeriğinde LED'i yakıp söndüreme, buton kullanarak LED'in yanıp sönme süresini ayarlama, PWM sinyali üretme ve ADC kullanarak PWM sinyalinin duty cycle'ını değiştirme işlemleri adım adım anlatılmaktadır. Ayrıca potansiyometre ile LED parlaklığını ve LD4 LED'inin periyodunu kontrol etme işlemi de gösterilmektedir.
    00:05Proje Tanıtımı
    • Mert, ST'nin Nucleo G70LB kiti üzerinde çeşitli periferileri çalıştıracak bir proje gösterecek.
    • Projede LED'i yakıp söndürecek, butonla LED'in yanıp sönme süresini ayarlayacak, PWM sinyali üretip harici LED'i çalıştıracak ve ADC kullanarak PWM sinyalinin duty cycle'ını değiştirecek.
    00:37QBMX'de Board Ayarları
    • QBMX uygulaması açılıp board selector'dan kendi board'u seçiliyor.
    • LED otomatik olarak açılıyor ve buton GPIO external interrupt olarak ayarlanıyor.
    • Butonun GPIO modu "extended with fall edge detection" olarak ayarlanıyor ve interrap olarak kullanılacak.
    01:48ADC ve Timer Ayarları
    • ADC açılıp input 1 seçiliyor ve continue conversion modu enable ediliyor.
    • Timer 3 açılıp clock source internal clock olarak ayarlanıyor.
    • Timer'ın prescaler ve counter değerleri ayarlanarak 1 kHz frekans elde ediliyor.
    03:39PWM Sinyali Üretimi
    • Timer 1'den PWM sinyali üretiliyor ve channel 1 seçiliyor.
    • PWM dalgasının duty cycle'ı kod üzerinden değiştirileceği için pool değeri 100 olarak ayarlanıyor.
    • Prescaler değeri 640 olarak ayarlanarak 1 kHz frekans elde ediliyor.
    04:41Kod Yazımı
    • Project manager'a isim verilip generate code seçeneği kullanılıyor.
    • Main fonksiyonu içerisinde user code back'in 2'nin arasına çeşitli periferiler başlatılıyor.
    • ADC'den gelen value'lar pwm val değişkenine kaydediliyor ve duty cycle değeri 0-100 arasında çevriliyor.
    06:48Timer ve Buton İşlevleri
    • Timer 3'ün her interapt oluşturduğunda haltem periyotlabs callback fonksiyonu çağrılıyor.
    • Timval variable'ı milisaniye olarak geçen zamanı gösteriyor ve her 200 milisaniyede bir LED açılıp kapatılıyor.
    • Butondan gelen interaplar için hal gpio xt falling callback fonksiyonu çağrılıyor ve LED periyodu 200 milisaniye artırılıyor.
    09:01Devre ve Test
    • PWM sinyali ile kontrol edilen LED ve timer ile yanıp söndürülen LED gösteriliyor.
    • Potansiyometre değiştirildikçe LED parlaklığının değiştiği ve osiloskoptan duty cycle'ların görülebildiği gösteriliyor.
    • Butona bastıkça LED periyodunun 200 milisaniye arttığı ve 1 saniyede resetlendiği test ediliyor.
    09:57UART Ekleme
    • Projeye UART eklemek için floats ekleniyor.
    • Birden fazla taskı eş zaman çalıştırmak için floats kullanılıyor.
    • Blinkled ve PWM ile ilgili task'lar oluşturuluyor.
    11:26Proje Ayarları ve Timer Kullanımı
    • Tüm görevlerin önem sırası eşit olarak ayarlanıyor ve aynı anda gerçekleştirilecek.
    • Fiatos kullanıldığında Timebase'i stick olarak seçemeyiz, bu nedenle basit timerlardan biri (genellikle 6 veya 7) seçilmelidir.
    • Freearthos kullanıldığı için timer interrat ile zaman tutmaya gerek olmadığı için Timer 3 kapatılıyor.
    12:52Kod Değişiklikleri
    • Yeni kodda Timer 3 kapatıldığı için Timebase Start komutu silinmelidir, aksi takdirde hata verecektir.
    • Main fonksiyonunda scaler devreye gireceği için while loop'un içi kullanılmayacaktır.
    • Start Linkler fonksiyonunda toggle kullanılarak LED periyot kadar milisaniye eklenebilir.
    14:22Word Translate Fonksiyonu
    • Message Buff adında bir buffer oluşturuluyor ve terminalde LED periyodu ve PWM sinyalinin duty cycle'ı yazdırılacak.
    • Halloward Transmit fonksiyonuyla Message Buff'un içindeki veriler terminale bastırılacak ve araya 300 mili saniyelik delay eklenecek.
    • Message Buff, Criteables kısmına "puff" adında bir chry olarak oluşturulmalıdır.
    15:36UART Konfigürasyonu ve Test
    • UART konfigürasyonu için Connectivity kısmından UART açılıp, ST Link'e bağlı olan UART 2 aktif edilmelidir.
    • Asynchronous smart açılıp 115200 baudrate ayarlanmalıdır.
    • Kod yüklendikten sonra potansiyometre değiştirildiğinde LED parlaklığı değişiyor ve LED üzerindeki butona basıldığında periyodunun yavaşladığı görülebiliyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor