Cuprins:

Animație pe 16x2 I2c LCD folosind STM32 Nucleo: 4 pași
Animație pe 16x2 I2c LCD folosind STM32 Nucleo: 4 pași

Video: Animație pe 16x2 I2c LCD folosind STM32 Nucleo: 4 pași

Video: Animație pe 16x2 I2c LCD folosind STM32 Nucleo: 4 pași
Video: Configurație LCD i2c cu Arduino UNO în Tinkercad 2024, Noiembrie
Anonim
Image
Image

Bună, prieteni, acesta este un tutorial care ilustrează cum să faci o animație personalizată pe un LCD i2c de 16x2. Sunt foarte puține lucruri necesare proiectului, deci dacă ai acces la cod, îl poți finaliza în 1 oră.

După ce ați urmat acest tutorial, veți putea să vă proiectați propria animație personalizată pe microcontroler.

ELECTRONICĂ NECESARĂ PENTRU PROIECT: -

1) STM32L476RG Nucelo Board

2) LCD 16x2 i2c

3) Sârme jumper

SOFTWARE NECESAR: -

1) STM32cubemx

2) Keil uVision5

Conexiuni: Conectați PB6 la I2C-SCK și I2C-SDA la pinul PB7 al plăcii nucleo.

Pasul 1: Deschideți STM32Cubemx și efectuați setările corespunzătoare imaginilor atașate

Deschideți STM32Cubemx și faceți setările corespunzătoare imaginilor atașate
Deschideți STM32Cubemx și faceți setările corespunzătoare imaginilor atașate
Deschideți STM32Cubemx și faceți setările corespunzătoare imaginilor atașate
Deschideți STM32Cubemx și faceți setările corespunzătoare imaginilor atașate

1) După selectarea STM32L476RG ca microcontroler în STM32CUBE, selectați interfața I2C1 ca i2c.

2) Setați valoarea ceasului la o valoare maximă (80Mhz)

3) După aceea selectați Timer1 și Timer2 și ulterior inițializați valorile așa cum sunt date în partea ulterioară a tutorialului.

4) Selectați Timer1 update interrupt și Timer2 global interrupt în setările NVIC.

5) Generați cod pentru proiect în Keil 5.

Pasul 2: Creați imagini personalizate necesare și adăugați codurile sale în fișierul Custom_char.h

Realizați imagini personalizate necesare și adăugați codurile sale în fișierul Custom_char.h
Realizați imagini personalizate necesare și adăugați codurile sale în fișierul Custom_char.h
Realizați imagini personalizate necesare și adăugați codurile sale în fișierul Custom_char.h
Realizați imagini personalizate necesare și adăugați codurile sale în fișierul Custom_char.h

1) Fiecare poziție într-un lcd de 16x2 poate fi împărțită în 32 de segmente, fiecare segment constând din 5x8 pixeli.

2) Puteți vizualiza imaginea și limita acesteia pe segment și puteți reprezenta fiecare parte a segmentului cu valoarea 1 dacă poziția pe segment face parte din imagine, altfel atribuiți-o ca valoare 0, care dă valori pentru fiecare rând, așa cum se arată în atașat imagine.

3) Puneți acea valoare din pasul 2 în fișierul custom_char.h dat în codul atașat.

Pasul 3: Adăugarea codului relevant în Keil 5

Adăugarea codului relevant în Keil 5
Adăugarea codului relevant în Keil 5
Adăugarea codului relevant în Keil 5
Adăugarea codului relevant în Keil 5
Adăugarea codului relevant în Keil 5
Adăugarea codului relevant în Keil 5

1) Scrieți comanda pentru a porni Timer1 și Timer2 în fișierul main.c. Timerul 1 este utilizat pentru a șterge ecranul LCD și Timer2 este utilizat pentru afișarea imaginilor.

2) Scrieți valori pentru valorile Prescalar și Autoreload pentru Timer1 și Timer2 în fișierul main.c care este același pentru ambele temporizatoare.

3) Adăugați codul relevant în rutina de întrerupere Timer1 și pentru rutina de întrerupere Timer2 în fișierul stm32l4_it.c.

Recomandat: