STM32F103C8T6 Scheda minima di sviluppu di u sistema
Informazione di u produttu
U STM32F103C8T6 ARM STM32 Minimum System Development Board Module hè una scheda di sviluppu chì hè basatu annantu à u microcontroller STM32F103C8T6. Hè pensatu per esse programatu cù l'IDE Arduino è hè cumpatibile cù diversi cloni Arduino, variazioni è schede di terze parti cum'è ESP32 è ESP8266.
A scheda, cunnisciuta ancu com'è Blue Pill Board, opera à una frequenza circa 4.5 volte più altu ch'è un Arduino UNO. Pò esse usatu per diversi prughjetti è ponu esse cunnessi à periferiche cum'è display TFT.
I cumpunenti necessarii per custruisce prughjetti cù questa scheda includenu u STM32 Board, FTDI Programmer, Display TFT Color, Push Button, Small Breadboard, Wires, Power Bank (opcional per u modu stand-alone), è USB to Serial Converter.
Schematicu
Per cunnette a scheda STM32F1 à u Display TFT di culore basatu in ST1.8 7735 è un buttone, seguitate e cunnessione pin-to-pin descritte in i schemi furniti.
Configurazione di l'IDE Arduino per STM32
- Aprite l'IDE Arduino.
- Andà à Strumenti -> Board -> Board Manager.
- In a casella di dialogu cù una barra di ricerca, cercate "STM32F1" è installate u pacchettu currispundente.
- Aspettate chì a prucedura di stallazione finisci.
- Dopu a stallazione, a scheda STM32 deve esse avà dispunibule per a selezzione sottu a lista di a scheda Arduino IDE.
Programmazione di schede STM32 cù l'IDE Arduino
Dapoi u so principiu, l'IDE Arduino hà dimustratu u desideriu di supportà ogni tipu di piattaforme, da i cloni Arduino è variazioni di diversi fabricatori à schede di terze parti cum'è l'ESP32 è l'ESp8266. Quandu più persone si familiarizanu cù l'IDE, cumincianu à supportà più schede chì ùn sò micca basate nantu à chips ATMEL è per u tutoriale di l'oghje guardemu una di queste schede. Esamineremu cumu prugrammà u pianu di sviluppu STM32F32C103T8 basatu in STM6 cù l'IDE Arduino.
A scheda STM32 per esse aduprata per stu tutoriale ùn hè micca altru ch'è a scheda di sviluppu STM32F103 basata in chip STM8F6C32T1 comunmente chjamata "Pillola Blu" in linea cù u culore blu di u so PCB. Blue Pill hè alimentatu da u putente processore ARM 32-bit STM32F103C8T6, clock à 72MHz. U bordu opera nantu à livelli logici 3.3v, ma i so pins GPIO sò stati pruvati per esse toleranti 5v. Ancu s'ellu ùn vene micca cù WiFi o Bluetooth cum'è e varianti ESP32 è Arduino, offre 20KB di RAM è 64KB di memoria flash chì a rende adatta per grandi prughjetti. Possede ancu 37 pins GPIO, 10 di quali ponu esse aduprati per i sensori analogichi postu chì anu ADC attivatu, cù altri chì sò attivati per SPI, I2C, CAN, UART è DMA. Per un bordu chì costa circa $ 3, vi cuncordate cun mè chì queste sò specs impressiunanti. Una versione riassuntu di sti specificazioni cumparatu cù quellu di un Arduino Uno hè mostratu in l'imaghjini sottu.
Basatu nantu à e specifiche sopra, a frequenza à quale Blue Pill opera hè circa 4.5 volte più altu ch'è un Arduino UNO, per u tutoriale d'oghje, cum'è ex.ampPer sapè cumu utilizà a scheda STM32F1, a cunnettamu à un display TFT di 1.44″ è u prugramma per calculà a custante "Pi". Avemu da nutà quantu tempu hà pigliatu a scheda per ottene u valore è paragunà cù u tempu chì ci vole à un Arduino Uno per fà u listessu compitu.
Cumpunenti richiesti
I seguenti cumpunenti sò necessarii per custruisce stu prughjettu;
- Bordu STM32
- Programmatore FTDI
- TFT di culore
- Pulsante
- Small Breadboard
- Fili
- Power Bank
- Convertitore USB à Serial
Comu solitu, tutti i cumpunenti utilizati per stu tutoriale ponu esse compru da i ligami attaccati. U bancu di putenza hè però solu necessariu s'ellu vulete implementà u prugettu in modu stand-alone.
Schematicu
- Cumu l'ammentatu prima, cunnetteremu a scheda STM32F1 à u Display TFT culuratu 1.8″ ST7735 cù un buttone.
- U buttone push serà utilizatu per urdinà à u bordu per inizià u calculu.
- Cunnette i cumpunenti cum'è mostra in u schema sottu.
Per fà e cunnessione faciuli di riplicà, e cunnessione pin-to-pin trà u STM32 è a visualizazione sò descritte quì sottu.
STM32 - ST7735
Andate nantu à e cunnessione una volta per esse sicuru chì tuttu hè cum'è deve esse postu chì tende à diventà un pocu complicatu. Cù questu fattu, avemu procedutu à stallà a scheda STM32 per esse programata cù l'IDE Arduino.
Configurazione di l'IDE Arduino per STM32
- Cum'è cù a maiò parte di e schede chì ùn sò micca fatte da Arduino, un pocu di cunfigurazione deve esse fattu prima chì a scheda pò esse usata cù l'IDE Arduino.
- Questu implica a stallazione di u bordu file sia via l'Arduino Board Manager o scaricamentu da Internet è copiandu u files in u cartulare hardware.
- A strada di Board Manager hè a menu tediosa è postu chì l'STM32F1 hè trà i bordi listati, andemu per quella strada. Cumincià aghjunghjendu u ligame per a scheda STM32 à a lista di preferenze Arduino.
- Andà à File -> Preferenze, dopu entre in questu URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) in a casella cum'è indicatu quì sottu è cliccate ok.
- Avà andate à Strumenti -> Board -> Board Manager, apre una finestra di dialogu cù una barra di ricerca. Cerca STM32F1 è installate u pacchettu currispundente.
- A prucedura di stallazione hà da piglià uni pochi seconde. Dopu à quessa, a tavula deve esse avà dispunibule per a selezzione sottu a lista di schede Arduino IDE.
Codice
- U codice serà scrittu da a listessa manera chì scriveremu qualsiasi altru sketch per un prughjettu Arduino, cù l'unica differenza chì hè a manera chì i pins sò riferiti.
- Per pudè sviluppà facilmente u codice per stu prughjettu, useremu duie librerie chì sò tramindui mudificazioni di Biblioteche Arduino standard per rende cumpatibili cù u STM32.
- Avemu aduprà a versione mudificata di l'Adafruit GFX è e librerie Adafruit ST7735.
- E duie biblioteche ponu esse scaricate attraversu i ligami attaccati à elli. Cum'è di solitu, aghju da fà un brevi spartimentu di u codice.
- Cuminciamu u codice impurtendu e duie biblioteche chì avemu da aduprà.
- In seguitu, definiscemu i pins di u STM32 à quale i pins CS, RST è DC di u LCD sò cunnessi.
- In seguitu, creemu alcune definizioni di culore per fà fà fà fàciule à utilizà i culori per i so nomi in u codice più tardi invece di i so valori hex.
- In seguitu, avemu stabilitu u numeru di iterazioni chì vulemu chì u bordu passa cù a durata di rinfrescante per a barra di prugressu per esse usata.
- Cù questu fattu, creemu un ughjettu di a biblioteca ST7735 chì serà utilizatu per riferite a visualizazione in tuttu u prugettu.
- Avemu ancu indicatu u pin di u STM32 à quale u pushbutton hè cunnessu è creanu una variabile per mantene u so statu.
- Cù questu fattu, andemu à a funzione void setup ().
- Cuminciamu per stabilisce u pinMode () di u pin à quale u buttone hè cunnessu, attivendu una resistenza interna di pull-up in u pin da chì u pushbutton cunnetta à a terra quandu pressatu.
- In seguitu, avemu inizializatu a cumunicazione seriale è u screnu, ponendu u fondu di a visualizazione in neru è chjamendu a funzione di stampa () per vede l'interfaccia.
- Dopu hè a funzione void loop(). A funzione void loop hè abbastanza simplice è corta, grazia à l'usu di biblioteche / funzioni.
- Cuminciamu da leghje u statu di u buttone. Se u buttone hè stata pressu, sguassate u messagiu attuale nantu à u screnu usendu removePressKeyText () è tracciate a barra di prugressu cambiante cù a funzione drawBar ().
- Dopu chjamemu a funzione di calculu iniziale per ottene è visualizà u valore di Pi cù u tempu chì hà pigliatu per calculà.
- Se u pushbutton ùn hè micca pressatu, u dispusitivu ferma in modalità Idle cù a pantalla chì esige chì una chjave sia pressata per interagisce cun ella.
- Infine, un ritardu hè inseritu à a fine di u ciclu per dà un pocu di tempu prima di sketching "loops".
- A parte restante di u codice hè e funzioni chjamate per ottene i travaglii da disegnu a barra à calculà u Pi.
- A maiò parte di sti funzioni sò stati cuparti in parechji altri tutoriali chì implicanu l'usu di a visualizazione ST7735.
- U codice cumpletu per u prugettu hè dispunibule quì sottu è hè attaccatu sottu a sezione di scaricamentu.
Caricà u codice à u STM32
- Caricà sketches à l'STM32f1 hè un pocu cumplessu cumparatu cù schede standard compatibili con Arduino. Per carica u codice à u bordu, avemu bisognu di un cunvertitore USB-à Serial basatu in FTDI.
- Cunnette u USB à u cunvertitore seriale à u STM32 cum'è mostra in i schemi sottu.
Eccu una mappa pin-to-pin di a cunnessione
FTDI - STM32
- Cù questu fattu, cambiamu a pusizione di u jumper di u statu di u bordu à a pusizione unu (cum'è mostra in u gif sottu), per mette u bordu in modu di prugrammazione.
- Press u buttone resetten nant'à u bordu una volta dopu à questu è simu pronti à carica u codice.
- Nantu à l'urdinatore, assicuratevi di selezziunate "Generic STM32F103C board" è selezziunate seriale per u metudu di carica dopu chì pudete chjappà u buttone di carica.
- Una volta u Upload hè cumpletu, cambiate u jumper di u statu in a pusizione "O" Stu vi mette u bordu in modu "corsa" è avà deve principiatu à curriri basatu nantu à u codice uploaded.
- À questu puntu, pudete disconnect u FTDI è alimentà u bordu nantu à u so USB. In casu chì u codice ùn curre micca dopu l'alimentazione, assicuratevi chì avete restauratu u jumper bè è riciclà u putere à u bordu.
Demo
- Cù u codice cumpletu, seguitate u prucessu di carica descrittu sopra per carica u codice in a vostra cunfigurazione.
- Duvete vede a visualizazione cum'è mostra in l'imaghjini sottu.
- Appughjà u buttone per inizià u calculu. Duvete vede a barra di prugressu slide gradualmente finu à a fine.
- À a fine di u prucessu, u valore di Pi hè visualizatu cù u tempu chì hà pigliatu u calculu.
- U listessu codice hè implementatu nantu à un Arduino Uno. U risultatu hè mostratu in l'imagine sottu.
- Paragunendu sti dui valori, vedemu chì "Blue Pill" hè più di 7 volte più veloce di l'Arduino Uno.
- Questu a rende ideale per i prughjetti chì implicanu processi pesanti è limitazioni di tempu.
- A piccula dimensione di u Blue Pill serve ancu com'è un avanzutage quì chì hè solu un pocu più grande di l'Arduino Nano è pò esse usatu in i posti induve u Nano ùn serà micca abbastanza veloce.
Documenti / Risorse
![]() |
STM32 STM32F103C8T6 Scheda minima di sviluppu di u sistema [pdfManuale d'usu STM32F103C8T6 Scheda Minimu di Sviluppu di Sistema, STM32F103C8T6, Cunsigliu Minimu di Sviluppu di Sistema, Cunsigliu di Sviluppu di Sistema, Cunsigliu di Sviluppu, Board |