STM32-logoa

STM32F103C8T6 Sistema garatzeko gutxieneko taula

STM32F103C8T6-Gutxieneko-sistema-garapen-taula-produktua

Produktuaren informazioa

STM32F103C8T6 ARM STM32 Minimum System Development Board Module STM32F103C8T6 mikrokontrolagailuan oinarritutako garapen-plaka bat da. Arduino IDE erabiliz programatzeko diseinatuta dago eta hainbat Arduino klon, aldaera eta hirugarrenen plakekin bateragarria da ESP32 eta ESP8266 bezalakoekin.

Taula, Blue Pill Board izenez ere ezagutzen dena, Arduino UNO batek baino 4.5 aldiz gehiagoko maiztasunarekin funtzionatzen du. Hainbat proiektutarako erabil daiteke eta TFT pantailetara bezalako periferikoetara konekta daiteke.

Plaka honekin proiektuak eraikitzeko beharrezkoak diren osagaiak honako hauek dira: STM32 plaka, FTDI programatzailea, koloretako TFT pantaila, sakatu botoia, ohol txikia, hariak, potentzia-bankua (modu autonomorako aukerakoa) eta USB-ra serie bihurgailua.

schematic

STM32F1 plaka 1.8 ST7735 oinarritutako koloretako TFT pantailara eta sakagailu batera konektatzeko, jarraitu emandako eskemetan deskribatutako pin-to-pin konexioei.

Arduino IDEa STM32rako konfiguratzea

  1. Ireki Arduino IDEa.
  2. Joan Tresnak -> Arbela -> Arbel kudeatzailea.
  3. Bilaketa-barra duen elkarrizketa-koadroan, bilatu "STM32F1" eta instalatu dagokion paketea.
  4. Itxaron instalazio-prozedura amaitu arte.
  5. Instalatu ondoren, STM32 plaka Arduino IDE plaken zerrendan aukeratzeko erabilgarri egon beharko luke.

Arduino IDEarekin STM32 plakak programatzea

Sortu zenetik, Arduino IDE-k mota guztietako plataformak onartzeko nahia erakutsi du, Arduino klonetatik eta fabrikatzaile ezberdinen aldaeretatik hasita, ESP32 eta ESp8266 bezalako hirugarrenen plaketaraino. Jende gehiago IDEa ezagutzen duen heinean, ATMEL txipetan oinarritzen ez diren plaka gehiago onartzen hasi dira eta gaurko tutorialerako plaka horietako bat aztertuko dugu. Arduino IDEarekin STM32-n oinarritutako STM32F103C8T6 garapen-plaka nola programatu aztertuko dugu.

STM32F103C8T6-Minimum-System-Development-Board-fig-1

Tutorial honetarako erabiliko den STM32 plaka STM32F103C8T6 txipetan oinarritutako STM32F1 garapen-plaka normalean "Blue Pill" deitzen zaio bere PCBaren kolore urdinaren ildotik. Blue Pill 32 biteko STM32F103C8T6 ARM prozesadore indartsuak elikatzen du, 72MHz-en erlojua. Plakak 3.3v maila logikoetan funtzionatzen du, baina bere GPIO pinak 5v toleranteak direla probatu dute. ESP32 eta Arduino aldaerak bezalako WiFi edo Bluetooth-ekin ez badator ere, 20KB RAM eta 64KB flash memoria eskaintzen ditu eta horrek proiektu handietarako egokia da. 37 GPIO pin ere baditu, eta horietako 10 sentsore analogikoetarako erabil daitezke ADC gaituta daukatelako, SPI, I2C, CAN, UART eta DMArako gaituta dauden beste batzuekin batera. $ 3 inguru balio duen taula baterako, nirekin ados egongo zara zehaztapen ikusgarriak direla. Zehaztapen hauen bertsio laburtua Arduino Uno batenarekin alderatuta beheko irudian ageri da.

STM32F103C8T6-Minimum-System-Development-Board-fig-2

Goiko zehaztapenetan oinarrituta, Blue Pill-ek funtzionatzen duen maiztasuna Arduino UNO bat baino 4.5 aldiz handiagoa da, gaurko tutorialerako, ohi gisa.ampSTM32F1 plaka nola erabili jakiteko, 1.44″ TFT pantaila batera konektatuko dugu eta "Pi" konstantea kalkulatzeko programatuko dugu. Kontuan izango dugu zenbat denbora behar izan duen plakak balioa lortzeko eta Arduino Uno batek zeregin bera egiteko behar duen denborarekin alderatu.

Beharrezko osagaiak

Proiektu hau eraikitzeko ondorengo osagaiak behar dira;

  • STM32 taula
  • FTDI programatzailea
  • Kolore TFT
  • Sakatu botoia
  • Breadboard txikia
  • Hariak
  • Power Bankua
  • USB serierako bihurgailua

Ohi bezala, tutorial honetarako erabilitako osagai guztiak erantsitako esteketatik eros daitezke. Energia bankua, ordea, soilik beharrezkoa da proiektua modu autonomoan zabaldu nahi baduzu.

schematic

  • Lehen esan bezala, STM32F1 plaka 1.8″ ST7735 oinarritutako koloretako TFT pantailara konektatuko dugu sakagailu batekin batera.
  • Pultsagailua erabiliko da taulari kalkulua hasteko agindua emateko.
  • Konektatu osagaiak beheko eskeman erakusten den moduan.

STM32F103C8T6-Minimum-System-Development-Board-fig-3

Konexioak erraz errepikatzeko, STM32 eta pantailaren arteko pin-to-pin konexioak deskribatzen dira jarraian.

STM32 - ST7735

STM32F103C8T6-Minimum-System-Development-Board-fig-4

Joan berriro konexioak dena behar den bezala dagoela ziurtatzeko, pixka bat delikatua izan ohi baita. Hau eginda, Arduino IDEarekin programatzeko STM32 plaka konfiguratzeari ekin genion.

Arduino IDEa STM32rako konfiguratzea

  • Arduinok egin gabeko plaka gehienetan bezala, konfigurazio pixka bat egin behar da plaka Arduino IDEarekin erabili ahal izateko.
  • Honek plaka instalatzea dakar file Arduino Board Manager bidez edo Internetetik deskargatu eta kopiatuz files hardware karpetan sartu.
  • Board Manager ibilbidea ez da hain neketsua eta STM32F1 zerrendatutako taulen artean dagoenez, bide horretatik joango gara. Hasi STM32 plakaren esteka Arduinoren hobespen zerrendetara gehitzen.
  • Joan zaitez File -> Hobespenak, ondoren sartu hau URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) behean adierazten den koadroan eta egin klik Ados.

STM32F103C8T6-Minimum-System-Development-Board-fig-5

  • Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. Bilatu STM32F1 and install the corresponding package.

STM32F103C8T6-Minimum-System-Development-Board-fig-6

  • Instalazio prozedurak segundo batzuk beharko ditu. Horren ondoren, taulak Arduino IDE plaken zerrendan aukeratzeko erabilgarri egon beharko luke.

Kodea

  • Kodea Arduino proiektu baterako beste edozein zirriborro idatziko genukeen moduan idatziko da, desberdintasun bakarra pinak erreferentzia egiteko modua izanik.
  • Proiektu honen kodea erraz garatu ahal izateko, Arduino Liburutegi estandarren aldaketak diren bi liburutegi erabiliko ditugu STM32-rekin bateragarriak izan daitezen.
  • Adafruit GFX eta Adafruit ST7735 liburutegien bertsio aldatua erabiliko dugu.
  • Bi liburutegiak deskargatu daitezke beraiei atxikitako esteketatik. Ohi bezala, kodearen zatiketa labur bat egingo dut.
  • Erabiliko ditugun bi liburutegiak inportatuz hasten dugu kodea.

STM32F103C8T6-Minimum-System-Development-Board-fig-7

  • Ondoren, LCDaren CS, RST eta DC pinak konektatzen diren STM32-aren pinak definitzen ditugu.

STM32F103C8T6-Minimum-System-Development-Board-fig-8

  • Ondoren, kolore-definizio batzuk sortzen ditugu, koloreak gero kodean haien izenen arabera erabiltzeko erraza izan dadin, haien balio hexadegikoen arabera.

STM32F103C8T6-Minimum-System-Development-Board-fig-9

  • Ondoren, arbelak aurrerapen-barra erabiltzeko freskatze-iraupenarekin batera igarotzea nahi dugun iterazio kopurua ezarri dugu.

STM32F103C8T6-Minimum-System-Development-Board-fig-10

  • Hori eginda, ST7735 liburutegiko objektu bat sortuko dugu eta proiektu osoan pantaila erreferentzia egiteko erabiliko dena.
  • Pultsagailua konektatuta dagoen STM32-aren pina ere adierazten dugu eta bere egoerari eusteko aldagai bat sortzen dugu.

STM32F103C8T6-Minimum-System-Development-Board-fig-11

  • Hau eginda, void setup() funtziora pasako gara.
  • Pultsagailua konektatzen den pinaren pinMode() ezartzen hasten gara, pinaren barneko tira-erresistentzia bat aktibatuz, sakagailua sakatzean lurrera konektatzen baita.

STM32F103C8T6-Minimum-System-Development-Board-fig-12

  • Ondoren, serieko komunikazioa eta pantaila hasieratzen ditugu, pantailaren atzeko planoa beltzean ezarriz eta inprimatu () funtzioari deituz interfazea bistaratzeko.

STM32F103C8T6-Minimum-System-Development-Board-fig-13

  • Hurrengoa void loop() funtzioa da. Vod loop funtzioa nahiko sinplea eta laburra da, liburutegi/funtzioen erabilerari esker.
  • Sakagailuaren egoera irakurtzen hasiko gara. Botoia sakatu bada, pantailako uneko mezua kenduko dugu removePressKeyText() erabiliz eta drawBar() funtzioaren bidez aldatzen den aurrerapen-barra marraztuko dugu.
  • Ondoren, hasierako kalkulu-funtzioari deitzen diogu Pi-ren balioa kalkulatzeko behar izan duen denborarekin batera lortzeko eta bistaratzeko.

STM32F103C8T6-Minimum-System-Development-Board-fig-14

  • Pultsagailua sakatzen ez bada, gailua modu inaktiboan egongo da eta pantailak tekla bat sakatzea eskatzen du harekin elkarreragiteko.

STM32F103C8T6-Minimum-System-Development-Board-fig-15

  • Azkenik, begiztaren amaieran atzerapen bat txertatzen da "begiztak" zirriborratu aurretik denbora pixka bat emateko.

STM32F103C8T6-Minimum-System-Development-Board-fig-16

  • Kodearen gainerako zatia barra marraztetik Pi kalkulatzera arte deitutako funtzioak dira.
  • Funtzio horietako gehienak ST7735 pantailaren erabilera dakarten beste hainbat tutorialetan landu dira.

STM32F103C8T6-Minimum-System-Development-Board-fig-17STM32F103C8T6-Minimum-System-Development-Board-fig-18STM32F103C8T6-Minimum-System-Development-Board-fig-19STM32F103C8T6-Minimum-System-Development-Board-fig-20STM32F103C8T6-Minimum-System-Development-Board-fig-21STM32F103C8T6-Minimum-System-Development-Board-fig-22

  • Proiektuaren kode osoa behean dago eskuragarri eta deskarga atalean erantsita dago.

STM32F103C8T6-Minimum-System-Development-Board-fig-23STM32F103C8T6-Minimum-System-Development-Board-fig-24 STM32F103C8T6-Minimum-System-Development-Board-fig-25 STM32F103C8T6-Minimum-System-Development-Board-fig-26 STM32F103C8T6-Minimum-System-Development-Board-fig-27 STM32F103C8T6-Minimum-System-Development-Board-fig-28 STM32F103C8T6-Minimum-System-Development-Board-fig-29 STM32F103C8T6-Minimum-System-Development-Board-fig-30 STM32F103C8T6-Minimum-System-Development-Board-fig-31 STM32F103C8T6-Minimum-System-Development-Board-fig-32 STM32F103C8T6-Minimum-System-Development-Board-fig-33 STM32F103C8T6-Minimum-System-Development-Board-fig-34

STM32-ra kodea kargatzea

  • STM32f1-ra zirriborroak igotzea pixka bat konplexua da Arduino-rekin bateragarriak diren plakekin alderatuta. Kodea taulara igotzeko, FTDIn oinarritutako USB-rako serie bihurgailu bat behar dugu.
  • Konektatu USB serierako bihurgailua STM32ra beheko eskemetan erakusten den moduan.

STM32F103C8T6-Minimum-System-Development-Board-fig-35

Hona hemen konexioaren pin-to-pin mapa

FTDI – STM32

  • Hori eginda, taularen egoera-jauziaren posizioa aldatuko dugu bat posiziora (beheko gif-an ikusten den bezala), plaka programazio moduan jartzeko.
  • Sakatu arbeleko berrezartzeko botoia behin honen ondoren eta kodea kargatzeko prest gaude.

STM32F103C8T6-Minimum-System-Development-Board-fig-37

  • Ordenagailuan, ziurtatu "STM32F103C board generikoa" hautatzen duzula eta seriea hautatu kargatzeko metodorako, ondoren kargatzeko botoia sakatu dezakezula.

STM32F103C8T6-Minimum-System-Development-Board-fig-38

  • Kargatzea amaitutakoan, aldatu egoera-jauzia posiziora "O" Honek taula "exekutatu" moduan jarriko du eta orain kargatutako kodean oinarrituta exekutatzen hasi beharko litzateke.
  • Une honetan, FTDI deskonekta dezakezu eta plaka elika dezakezu bere USB bidez. Piztu ondoren kodea exekutatzen ez bada, ziurtatu jumpera behar bezala berreskuratu duzula eta birziklatu energia plaka.

Demo

  • Kodea osatuta, jarraitu goian deskribatutako karga-prozesuari kodea zure konfiguraziora kargatzeko.
  • Pantaila beheko irudian agertzen den moduan agertu beharko zenuke.

STM32F103C8T6-Minimum-System-Development-Board-fig-39

  • Sakatu sakatu botoia kalkulua hasteko. Aurrerapen-barra pixkanaka-pixkanaka lerratzen ikusi beharko zenuke amaierara arte.
  • Prozesuaren amaieran, Pi balioa bistaratzen da kalkuluak hartu duen denborarekin batera.

STM32F103C8T6-Minimum-System-Development-Board-fig-40

  • Kode bera inplementatzen da Arduino Uno batean. Emaitza beheko irudian ageri da.

STM32F103C8T6-Minimum-System-Development-Board-fig-41

  • Bi balio hauek alderatuz, "Blue Pill" Arduino Uno baino 7 aldiz azkarragoa dela ikusten dugu.
  • Horrek prozesatzeko eta denbora-muga handiak dituzten proiektuetarako aproposa da.
  • Pilula Urdinaren tamaina txikiak abantail gisa ere balio dutagHemen, Arduino Nano baino apur bat handiagoa baita eta Nano nahikoa azkarra izango ez den lekuetan erabil daiteke.

Dokumentuak / Baliabideak

STM32 STM32F103C8T6 Sistema garatzeko gutxieneko taula [pdfErabiltzailearen eskuliburua
STM32F103C8T6 Sistema garatzeko gutxieneko taula, STM32F103C8T6, sistema garatzeko gutxieneko taula, sistema garatzeko taula, garapen taula, taula

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *