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.
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.
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 🙁
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.
vaje, kazkaip uzmirsau DHT11 sudėti į archyvą. Soriukas. Bus prie kokio projekto prikabintas.