2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
GİRİŞ
AliExpress'ten ucuz STM32F407 kartına rastladım
MicroPython ile denemeye karar verdim.
STM32F407, kullanılan STM32F405 ile hemen hemen aynı denetleyici
orijinal pyboard, ancak MicroPython indirme sayfasında STM32F407 keşif kartı için DFU dosyası olduğu ortaya çıktı. Bu dosyayı Kara tahtada denedim ve bazı işlevler 'pyb' kitaplığı balosu dışında oldukça iyi çalıştı.
Bu yüzden mümkün olduğu kadar 'makine' kütüphanesini kullanmak daha iyidir.
Kara tahta gelene kadar birkaç hafta beklemek istemiyorsanız, orijinal keşif kartını sipariş edin, ancak iki kat daha pahalıdır.
MicroPython'un STM32F4Discovery'ye nasıl kurulacağına dair bir kılavuz da var.
Gereçler
STM32F407VET6 geliştirme kara tahtası
1. Adım: YAZILIM
STM32F4 Discovery board için DFU dosyasını indirin. DfuSe USB cihazı donanım yazılımı yükseltme aracını STMicroelectronics web sitesinden indirin. Bunu yapmak için ücretsiz bir hesap açmanız gerekir. Bilgisayarınıza DfuSe aracını yükleyin.
2. Adım: KURULU HAZIRLAYIN
Kartta BT0 ve BT1 pinlerini GND'ye bağlayan iki jumper var. BT0'ı 3.3V'a taşıyın (resme bakın). “DfuSe Gösterimi” aracını açın, kartı USB'ye bağlayın. Sol üst köşede ''STM cihazı USB modunda'' yazısını görmelisiniz, sağ altta ''SEÇ''e tıklayın, indirilen DFU dosyasını seçin ve ''YÜKSELT''e tıklayın. BT0 atlama telini GND'ye geri taşıyın ve USB kablosunu yeniden bağlayın. PYBFLASH grive, dosya sisteminizde görünmelidir. Orijinal MicroPython PDF "Redmond Hayvanat Bahçesinde Pitonların Bakımı ve Beslenmesi"ni okuyabilirsiniz.
Adım 3: PROGRAMLAMAYA BAŞLAYIN
Artık MicroPython ile eğlenmeye başlayabilirsiniz. Programınızı herhangi bir metin düzenleyicide, hatta Windows Not Defteri'nde yazabilirsiniz. Orijinal Pyton 3 IDE'yi tercih ederim. PYBFLASH sürücüsünü açın ve main.py'yi metin düzenleyicinizde açın. Basit bir LED yanıp sönme programı ile başlayalım. Kart üzerinde, kontrolörün PA6 ve PA7 pinlerine bağlı D2 ve D3 olarak işaretlenmiş iki adet LED bulunmaktadır. Bu basit programı metin düzenleyicinize yazın:
içe aktarma makinesi, zaman #import micropython kitaplıkları
led = makine. Pin('A6', makine. Pin. OUT) #PA6 pinini çıkış olarak ata
while True: #sonsuz döngü
led.low() #switch led açık
time.sleep(1) #led bir saniye yansın
led.high() #switch led kapalı
time.sleep(1) #bir saniyeliğine kapalı olmasına izin ver
Main.py dosyasını panonuza kaydedin, sıfırlama düğmesine basın LED D2 yanıp sönmeye başlamalıdır. Kartı sıfırlamanın en iyi yolu REPL'deki komut satırındandır. Bunun için Putty'yi indirip yükleyin. Putty'yi kullanmak için Kontrol paneli>Aygıt yöneticisinden anakartın COM port numarasını alın. Bağlandığınızda, yeni bir programı kaydetmeden önce programın çalışmasını durdurmak için 'CTRL' + 'C' klavye kısayolunu ve bir programı kaydettikten sonra kartı yeniden başlatmak için 'CTRL' + 'D' klavye kısayolunu kullanın. Bunun, USB kablosunu çıkarıp yeniden takmak yerine MicoPython programlarını kaydetmenin ve yeniden başlatmanın en güvenli yolu olduğunu öğrendim (bu işlem sırasında PYBFLASH sürücüsü bozulabilir) Şimdi, sonunda, LED'lerin D2 ve D3'ün dönüşümlü ve daha hızlı yanıp sönmesini sağlayalım:
ithalat makinesi, zaman
led = makine. Pin('A6', makine. Pin. OUT)
led1 = makine. Pin('A7', makine. Pin. OUT)
Doğru iken:
led.düşük()
zaman.uyku(0.5)
led.yüksek()
zaman.uyku(0.5)
led1.low()
zaman.uyku(0.5)
led1.yüksek()
zaman.uyku(0.5)
not STM32F407 Black board ile ilgili daha fazla bilgiyi GitHub üzerinden edinebilir ve Linux'a aşina iseniz bu board için DFU dosyasını derleyebilirsiniz. Bunu denemedim. Şu anda çalışan herhangi bir Linux makinem yok.
MicroPython ile iyi eğlenceler!