ARM:0014 STM32CubeMX jutiklių ir ekraniukų bibliotekos

Bet kokios naujos programos kurimas kontroleriukui tai iš esmės senesnių failų dėlionė iš bibliotekos. Todėl kiek labiau panaudojus STM32 serijos kontrolerius teko persirašyti kelias savo naudojamas bibliotekas iš AVR į STM32Cube versijas. Buvo sukurtas USB-COM projektas ir prie jo prikabinta visa serija bibiliotekų. Jos tikrai veikia ir kiek “normalizuotos”- senosios buvo istoriškai chaotiškos. Konversija praėjo keistokai lengvai. Vienas tik reikalas kuris suėdė kiek nervų- pačio STM32F čipuko jautrumas I2C šynos terminatoriams.

STM32F103 blue pill with OLED, I2c LM75 BM180 MAX44007 PCF8574
Visi jutikliai ir moduliukai iš Kinijos. Tik FM75 nuluptas nuo televizoriaus, o MAX44007 dovanotas žmogaus.
Veikiantys moduliai:

  • LM75 temperatūros jutiklis, I2C (FM75 tai rimtesnis, bet suderinamas su LM75)
  • MAX44007, I2C, apšvietimo jutiklis.
  • PCF8574, I2C, 8bit I/O extenderis.
  • Tekstinis LCD ekraniukas ant PCF8574 extenderio. Kartu gaunasi ir 5V atskirimas nuo 3V.
  • SSD1306 kontrolerio OLED ekraniukas ant I2C šynos.
  • Analoginiai signalai- nu čia ne moduliukas, bet pačio STM dalis.
  • RTC (laikrodis)- čia irgi ne moduliukas, o STM dalis.
  • BMP180 atmosferos slėgio jutiklis su temperatūros jutimu.

Pastabos: OLED ekraniukas naudoja Commodore 64 šriftą. Jį galima pakeisti kitu. Tekstinis ekraniukas- tai klasikinis LCD ekraniukas su ar be pašvietimo, paprastai jungiamas prie 7 ar daugiau GPIO pinų. Tie ekranai paprastai būna 5v technologijos ir su 3V technologija dažnai nerodo vaizdo. I2C I/O ekstenderis leidžia suderinti su 5V maitinimu- patį LCD ir IO modulį maitinam nuo 5V (tiesiai iš USB), o procesoriukas nuo 3V.
Visas kodas pilnai suderinamas su STM32CubeMX ir HAL. Kompiliuojasi su gcc be jokių warningų.

Nusikrauti source code, kubiko projektą ir sukompiliuotus failus:
STM32CubeMX project, I2C LM75 PCF8574 MAX44007 BMP180 text lcd screen

Per virtualų COM portą matosi visi jutiklių rodymai. Dalis informacijos išmetama per ekraniukus.

3 replies on “ARM:0014 STM32CubeMX jutiklių ir ekraniukų bibliotekos”

  1. Labą dieną. Ar su BluePill CubeMX USB-CDC veikia tiesiog, nereikia to nelaimingo 10 kΩ rezistoriaus perlituot į 1.5? Aš pats su CubeMX nebandžiau, bandžiau su CMSIS ir kitais senais libais, tai nieks nesigavo 🙁

  2. kiek bandžiau aliekspresinių, nei vienam nereikėjo nieko daryti. Dar bandžiau juodus, su stm32f401, tai irgi veikia. Bėdos su kiniškais kištukais.

Leave a Reply

Your email address will not be published. Required fields are marked *