STM32F103C8T6 Minimalna ploča za razvoj sustava
Informacije o proizvodu
STM32F103C8T6 ARM STM32 Minimum System Development Board Module je razvojna ploča koja se temelji na mikrokontroleru STM32F103C8T6. Dizajniran je za programiranje pomoću Arduino IDE i kompatibilan je s raznim Arduino klonovima, varijacijama i pločama trećih strana kao što su ESP32 i ESP8266.
Ploča, također poznata kao Blue Pill Board, radi na frekvenciji otprilike 4.5 puta većoj od Arduino UNO. Može se koristiti za različite projekte i može se spojiti na periferne uređaje kao što su TFT zasloni.
Potrebne komponente za izradu projekata s ovom pločom uključuju STM32 ploču, FTDI programator, TFT zaslon u boji, tipku, malu matičnu ploču, žice, Power Bank (opcionalno za samostalni način rada) i USB to Serial Converter.
Shematski
Za spajanje STM32F1 ploče na 1.8 ST7735 baziran TFT zaslon u boji i tipku, slijedite pin-to-pin veze opisane u priloženim shemama.
Postavljanje Arduino IDE za STM32
- Otvorite Arduino IDE.
- Idite na Alati -> Ploča -> Upravitelj ploče.
- U dijaloškom okviru s trakom za pretraživanje potražite "STM32F1" i instalirajte odgovarajući paket.
- Pričekajte da se postupak instalacije završi.
- Nakon instalacije, ploča STM32 sada bi trebala biti dostupna za odabir na popisu ploča Arduino IDE.
Programiranje STM32 ploča s Arduino IDE
Od svog početka, Arduino IDE je pokazao želju za podrškom za sve vrste platformi, od Arduino klonova i varijacija različitih proizvođača do ploča trećih strana kao što su ESP32 i ESp8266. Kako se sve više ljudi upoznaje s IDE-om, počinju podržavati sve više ploča koje se ne temelje na ATMEL čipovima, a za današnji vodič ćemo pogledati jednu od takvih ploča. Ispitat ćemo kako programirati razvojnu ploču temeljenu na STM32, STM32F103C8T6 s Arduino IDE.
Ploča STM32 koja će se koristiti za ovaj vodič nije ništa drugo nego STM32F103C8T6 razvojna ploča bazirana na čipu STM32F1 koja se obično naziva "Plava pilula" u skladu s plavom bojom PCB-a. Blue Pill pokreće moćni 32-bitni STM32F103C8T6 ARM procesor, radnog takta 72MHz. Ploča radi na logičkim razinama od 3.3 V, ali su njeni GPIO pinovi testirani da budu tolerantni na 5 V. Iako ne dolazi s WiFi-em ili Bluetoothom kao ESP32 i Arduino varijante, nudi 20KB RAM-a i 64KB flash memorije što ga čini prikladnim za velike projekte. Također posjeduje 37 GPIO pinova, od kojih se 10 može koristiti za analogne senzore jer imaju omogućen ADC, zajedno s ostalima koji su omogućeni za SPI, I2C, CAN, UART i DMA. Za ploču koja košta oko 3 dolara, složit ćete se sa mnom da su ovo impresivne specifikacije. Sažeta verzija ovih specifikacija u usporedbi s onima za Arduino Uno prikazana je na slici ispod.
Na temelju gore navedenih specifikacija, frekvencija na kojoj Blue Pill radi je oko 4.5 puta veća od Arduino UNO, za današnji vodič, kao pr.ampDa bismo saznali kako koristiti ploču STM32F1, spojit ćemo je na TFT zaslon od 1.44 inča i programirati da izračuna konstantu "Pi". Zabilježit ćemo koliko je vremena trebalo ploči da dobije vrijednost i usporediti ga s vremenom koje je potrebno Arduino Uno da izvrši isti zadatak.
Potrebne komponente
Za izgradnju ovog projekta potrebne su sljedeće komponente;
- STM32 ploča
- FTDI programer
- TFT u boji
- Pritisni gumb
- Mala Breadboard
- Žice
- Power Bank
- USB u serijski pretvarač
Kao i obično, sve komponente koje se koriste za ovaj vodič mogu se kupiti na priloženim poveznicama. Međutim, Power Bank je potreban samo ako želite implementirati projekt u samostalnom načinu rada.
Shematski
- Kao što je ranije spomenuto, spojit ćemo STM32F1 ploču na 1.8″ ST7735 baziran TFT zaslon u boji zajedno s tipkom.
- Gumb će se koristiti za naredbu ploči da započne izračun.
- Spojite komponente kao što je prikazano na donjoj shemi.
Kako bi se veze lako replicirale, pin-to-pin veze između STM32 i zaslona opisane su u nastavku.
STM32 – ST7735
Još jednom pregledajte veze kako biste bili sigurni da je sve kako treba jer zna biti malo nezgodno. Nakon što smo to učinili, nastavili smo s postavljanjem STM32 ploče za programiranje s Arduino IDE.
Postavljanje Arduino IDE za STM32
- Kao i kod većine ploča koje nije izradio Arduino, potrebno je napraviti malo podešavanja prije nego što se ploča može koristiti s Arduino IDE.
- To uključuje ugradnju ploče file bilo putem Arduino Board Managera ili preuzimanjem s interneta i kopiranjem files u mapu hardvera.
- Board Manager ruta je manje zamorna i budući da je STM32F1 među navedenim pločama, ići ćemo tom rutom. Započnite dodavanjem poveznice za STM32 ploču na Arduino liste preferencija.
- Idi na File -> Postavke, zatim unesite ovo URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) u okvir kao što je prikazano u nastavku i kliknite OK.
- Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. Tražiti STM32F1 and install the corresponding package.
- Postupak instalacije će trajati nekoliko sekundi. Nakon toga, ploča bi sada trebala biti dostupna za odabir na popisu ploča Arduino IDE.
Kodirati
- Kod će biti napisan na isti način na koji bismo napisali bilo koju drugu skicu za Arduino projekt, s jedinom razlikom u načinu referenciranja pinova.
- Kako bismo mogli lako razviti kod za ovaj projekt, koristit ćemo dvije biblioteke koje su obje modifikacije standardnih Arduino biblioteka kako bi bile kompatibilne sa STM32.
- Koristit ćemo modificiranu verziju Adafruit GFX i Adafruit ST7735 biblioteka.
- Obje biblioteke moguće je preuzeti putem priloženih poveznica. Kao i obično, napravit ću kratku analizu koda.
- Kod započinjemo uvozom dviju biblioteka koje ćemo koristiti.
- Zatim definiramo pinove STM32 na koje su spojeni CS, RST i DC pinovi LCD-a.
- Zatim stvaramo neke definicije boja kako bismo kasnije olakšali upotrebu boja prema njihovim nazivima u kodu umjesto prema njihovim heksadecimalnim vrijednostima.
- Zatim postavljamo broj ponavljanja kroz koje želimo da ploča prođe zajedno s trajanjem osvježavanja za traku napretka koja će se koristiti.
- Nakon što smo to učinili, stvaramo objekt biblioteke ST7735 koji će se koristiti za referenciranje zaslona tijekom cijelog projekta.
- Također označavamo pin STM32 na koji je tipkalo spojeno i stvaramo varijablu za zadržavanje njegovog stanja.
- Kad smo to učinili, prelazimo na funkciju void setup().
- Počinjemo postavljanjem pinMode() pina na koji je tipkalo spojeno, aktivirajući unutarnji otpornik za privlačenje na pinu budući da se tipkalo spaja na masu kada se pritisne.
- Zatim inicijaliziramo serijsku komunikaciju i zaslon, postavljamo crnu pozadinu zaslona i pozivamo funkciju print () za prikaz sučelja.
- Sljedeća je funkcija void loop(). Funkcija void petlje prilično je jednostavna i kratka, zahvaljujući korištenju biblioteka/funkcija.
- Počinjemo s očitavanjem stanja tipke. Ako je gumb pritisnut, uklanjamo trenutnu poruku na ekranu pomoću funkcije removePressKeyText() i crtamo traku napretka promjene pomoću funkcije drawBar().
- Zatim pozivamo funkciju početnog izračuna kako bismo dobili i prikazali vrijednost Pi zajedno s vremenom koje je bilo potrebno za njezin izračun.
- Ako se tipka ne pritisne, uređaj ostaje u stanju mirovanja sa zaslonom koji zahtijeva da se pritisne tipka za interakciju s njim.
- Na kraju, odgoda je umetnuta na kraju petlje kako bi se dalo malo vremena prije skiciranja "petlji".
- Preostali dio koda su funkcije pozvane za postizanje zadataka od crtanja stupca do izračuna Pi.
- Većina ovih funkcija obrađena je u nekoliko drugih vodiča koji uključuju korištenje zaslona ST7735.
- Potpuni kod za projekt dostupan je u nastavku i priložen je u odjeljku za preuzimanje.
Prijenos koda na STM32
- Prijenos skica na STM32f1 pomalo je složen u usporedbi sa standardnim Arduino kompatibilnim pločama. Za prijenos koda na ploču potreban nam je USB-u serijski konverter temeljen na FTDI-ju.
- Spojite USB na serijski pretvarač na STM32 kao što je prikazano na donjoj shemi.
Ovdje je pin-to-pin mapa veze
FTDI – STM32
- Nakon što je ovo učinjeno, mijenjamo položaj kratkospojnika stanja ploče u položaj jedan (kao što je prikazano na gifu ispod), kako bismo ploču postavili u način rada za programiranje.
- Nakon toga jednom pritisnite tipku za resetiranje na ploči i spremni smo za učitavanje koda.
- Provjerite jeste li na računalu odabrali "Generic STM32F103C board" i odaberite serijski za metodu učitavanja nakon čega možete pritisnuti gumb za učitavanje.
- Kada je učitavanje završeno, promijenite stanje kratkospojnika u položaj "O" Ovo će staviti ploču u "pokrenuti" način rada i sada bi trebala početi raditi na temelju učitanog koda.
- U ovom trenutku možete odspojiti FTDI i napajati ploču preko njenog USB-a. U slučaju da se kod ne pokrene nakon uključivanja, provjerite jeste li pravilno vratili kratkospojnik i reciklirajte napajanje na ploču.
Demo
- Nakon dovršetka koda, slijedite gore opisani postupak učitavanja kako biste učitali kod u svoje postavke.
- Trebali biste vidjeti kako se pojavljuje zaslon kao što je prikazano na slici ispod.
- Pritisnite tipku za početak izračuna. Trebali biste vidjeti kako traka napretka postupno klizi do kraja.
- Na kraju procesa prikazuje se vrijednost Pi zajedno s vremenom koje je potrebno za izračun.
- Isti kod je implementiran na Arduino Uno. Rezultat je prikazan na slici ispod.
- Uspoređujući ove dvije vrijednosti, vidimo da je "Blue Pill" preko 7 puta brži od Arduino Uno.
- To ga čini idealnim za projekte koji uključuju tešku obradu i vremenska ograničenja.
- Mala veličina Blue Pill-a također služi kao prednosttage ovdje jer je samo malo veći od Arduino Nano i može se koristiti na mjestima gdje Nano neće biti dovoljno brz.
Dokumenti / Resursi
![]() |
STM32 STM32F103C8T6 Minimalna ploča za razvoj sustava [pdf] Korisnički priručnik STM32F103C8T6 Minimalna ploča za razvoj sustava, STM32F103C8T6, Minimalna ploča za razvoj sustava, ploča za razvoj sustava, ploča za razvoj, ploča |