Heim Der Blog Blog Details

Wie man STM32 Blue Pill mit 16x2 Zeichen LCD-Modul mit Arduino IDE verbindet?

December 30 2024
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
Das STM32 Blue Pill (STM32F103C8T6) kann mit einem 16x2 LCD-Modul über das I2C-Protokoll (empfohlen) oder direkte GPIO-Verbindungen verbunden werden.

Das STM32 Blue Pill (STM32F103C8T6) kann mit einem 16x2 LCD-Modul über das I2C-Protokoll (empfohlen) oder direkte GPIO-Verbindungen verbunden werden. Im Folgenden werden beide Methoden beschrieben.

Wie man STM32 Blue Pill mit 16x2 Zeichen LCD-Modul mit Arduino IDE verbindet? - Blog - Ampheo


🛠️ 1. Benötigte Komponenten

  • STM32 Blue Pill (STM32F103C8T6)

  • 16x2 LCD-Modul

  • I2C-LCD-Adaptermodul (für die I2C-Methode)

  • Breadboard

  • Jumper-Kabel


📌 Methode 1: Verwendung der I2C-Schnittstelle (empfohlen)

Pinbelegung (I2C-Adapter am LCD)

I2C-LCD-Pin STM32-Pin Beschreibung
VCC 3.3V Stromversorgung
GND GND Masse
SDA PB7 I2C-Datenleitung
SCL PB6 I2C-Taktleitung

📦 Erforderliche Bibliotheken installieren

In der Arduino IDE:

  1. Sketch > Bibliothek einbinden > Bibliotheken verwalten

  2. Suchen und installieren:

    • LiquidCrystal_I2C


💻 I2C-LCD-Codebeispiel

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Initialisiere das LCD mit der I2C-Adresse (standard: 0x27 oder 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();          // LCD initialisieren
  lcd.backlight();     // Hintergrundbeleuchtung einschalten
  lcd.setCursor(0, 0); // Cursor auf erste Zeile setzen
  lcd.print("STM32 + LCD");  
  lcd.setCursor(0, 1); // Cursor auf zweite Zeile setzen
  lcd.print("Hallo Welt!");
}

void loop() {
  // Kein Code hier
}

🚀 Hochladen und Testen

  1. Wählen Sie Generic STM32F103C Series unter Werkzeuge > Board.

  2. Stellen Sie sicher, dass die Upload-Methode: auf STM32CubeProgrammer (SWD) oder Serial eingestellt ist.

  3. Laden Sie den Code hoch.

  4. Sie sollten den Text "STM32 + LCD" und "Hallo Welt!" auf dem Display sehen.


📌 Methode 2: Direkte GPIO-Schnittstelle (ohne I2C)

Falls Sie kein I2C-Modul verwenden, können Sie das LCD direkt an GPIO-Pins anschließen.

Pinbelegung (direkte GPIO)

LCD-Pin STM32-Pin Beschreibung
VSS GND Masse
VCC 3.3V Stromversorgung
VEE Potentiometer (für Kontrast) Kontrastregelung
RS PA0 Register Select
RW GND Lesen/Schreiben (GND für Schreiben)
E PA1 Enable
D4 PA2 Datenbit 4
D5 PA3 Datenbit 5
D6 PA4 Datenbit 6
D7 PA5 Datenbit 7
A 3.3V LED Anode
K GND LED Kathode

📦 Erforderliche Bibliothek installieren

  1. Gehen Sie zu Sketch > Bibliothek einbinden > Bibliotheken verwalten.

  2. Suchen und installieren:

    • LiquidCrystal


💻 GPIO-LCD-Codebeispiel

#include <LiquidCrystal.h>

// Pin-Konfiguration (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(PA0, PA1, PA2, PA3, PA4, PA5);

void setup() {
  lcd.begin(16, 2);   // LCD initialisieren
  lcd.setCursor(0, 0);
  lcd.print("STM32 + LCD");
  lcd.setCursor(0, 1);
  lcd.print("Direkte GPIO!");
}

void loop() {
  // Kein Code hier
}

🚀 Hochladen und Testen

  1. Wählen Sie Generic STM32F103C Series unter Werkzeuge > Board.

  2. Laden Sie den Code hoch.

  3. Der Text "STM32 + LCD" und "Direkte GPIO!" sollte auf dem Display erscheinen.


🛡️ Fehlerbehebung

  • I2C-Problem: Überprüfen Sie die I2C-Adresse (0x27 oder 0x3F). Verwenden Sie einen I2C-Scanner-Sketch, um die Adresse zu finden.

  • Anzeigeproblem: Passen Sie das Potentiometer für den Kontrast an.

  • Verdrahtung: Überprüfen Sie die Pin-Verbindungen.

  • Stellen Sie sicher, dass die STM32-Treiber korrekt in der Arduino IDE installiert sind.

Ampheo