Schnellstart
Verbinden Sie den Scanner über UART mit einem Mikrocontroller, installieren Sie die Bibliothek und geben Sie jeden gescannten Barcode aus.
Sie programmieren den Controller, der an dieses Breakout angeschlossen ist. Das Breakout selbst wird nicht geflasht.
Stellen Sie den Scanner zuerst auf UART um. Der Scanner wird im USB-Modus ausgeliefert, und in
diesem Modus antwortet er nicht an RX und TX. Scannen Sie einmal den Konfigurationsbarcode POR232 (TTL/RS232),
um ihn auf UART umzustellen. Im Repository der Arduino-Bibliothek liegt im Ordner barcodes
eine Datei mit dem Namen
TTL-Mode.PNG.
Die Header-Pins arbeiten mit 3,3-V-Logik. Wenn Sie das Board über den Header
des Controllers statt über USB-C versorgen, verwenden Sie den 3,3-V-Pin des Controllers
und verbinden Sie 3V3 niemals mit 5 V.
- Arduino
- MicroPython
1. Breakout Board anschließen
Dieses Beispiel ist für ein ESP32-Board geschrieben: Es kommuniziert mit dem Scanner über den Hardware-UART2 (HardwareSerial(2)) des ESP32 an GPIO4 und GPIO5. Kreuzen Sie die Datenleitungen: Der
TX des Controllers geht an den RX des Scanners, und der TX des Scanners geht an den
RX des Controllers.
| Controller | Soldered Barcode Scanner DE2120 |
|---|---|
GPIO5 (TX) | RX |
GPIO4 (RX) | TX |
3V3 | 3V3 |
GND | GND |

2. Bibliothek installieren
Installieren Sie Soldered DE2120 aus dem GitHub-Repository.
🔗Soldered DE2120 Arduino-Bibliothek
Geprüfte Arduino-Bibliothek im Commit 697eb25
Tipp: Download von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Schaltfläche Code und wählen Sie Download ZIP. Fügen Sie die Datei dann in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.
Die Bibliothek bindet SoftwareSerial.h ein, daher muss eine SoftwareSerial-Bibliothek
installiert sein, auch wenn Ihr Sketch einen Hardware-UART verwendet. Die Beispiele der Bibliothek
verweisen dafür auf den Arduino Library Manager.
3. Erstes Beispiel ausführen
Öffnen Sie HardwareScan aus den Beispielen der Bibliothek, wählen Sie Ihr ESP32-Board und
den Port aus und laden Sie es hoch. Der Sketch startet den UART2 des ESP32 an GPIO4 (RX) und
GPIO5 (TX), findet den Scanner und gibt jeden gelesenen Code aus.
/**
**************************************************
*
* @file HardwareScan.ino
* @brief Scan and output barcodes using the DE2120 1D/2D barcode
* scanner module over HardwareSerial (UART2) on ESP32.
*
* Unlike SoftwareSerial, HardwareSerial uses a dedicated
* UART peripheral for reliable communication at 115200 bps.
* The library will automatically negotiate the baud rate
* down to 9600 bps on first connect.
*
* Default wiring: GPIO4 = RX (scanner TX),
* GPIO5 = TX (scanner RX). Change the pin arguments in
* scannerSerial.begin() to match your wiring.
*
* The scanner must first be put into TTL/RS232 mode by
* scanning the POR232 barcode from the DYScan settings
* manual before uploading this sketch.
*
* Make sure you have SoftwareSerial library installed. It
* can be found in Arduino library manager.
*
* @authors Fran Fodor @ soldered.com
***************************************************/
#include "HardwareSerial.h"
HardwareSerial scannerSerial(2); // Use UART2
#include "DE2120-SOLDERED.h"
DE2120_Soldered scanner;
#define BUFFER_LEN 40
char scanBuffer[BUFFER_LEN];
void setup()
{
Serial.begin(115200);
Serial.println("DE2120 Scanner Example");
scannerSerial.begin(115200, SERIAL_8N1, 4, 5); // RX=GPIO4, TX=GPIO5
delay(500);
if (scanner.begin(scannerSerial) == false)
{
Serial.println("Scanner did not respond. Please check wiring. Did you scan the POR232 barcode? Freezing...");
while (1);
}
Serial.println("Scanner online!");
}
void loop()
{
if (scanner.readBarcode(scanBuffer, BUFFER_LEN))
{
Serial.print("Code found: ");
for (int i = 0; i < strlen(scanBuffer); i++)
Serial.print(scanBuffer[i]);
Serial.println();
}
delay(200);
}
4. Ergebnis prüfen
Öffnen Sie den Serial Monitor mit 115200 Baud. Wenn der Scanner antwortet, sehen Sie:
DE2120 Scanner Example
Scanner online!
Der Scanner startet im manuellen Modus. Drücken Sie also die Auslösetaste auf dem Board und
richten Sie ihn auf einen Barcode. Jeder gelesene Code wird in einer eigenen Zeile als
Code found: gefolgt vom Inhalt des Codes ausgegeben.
Wenn stattdessen Scanner did not respond. Please check wiring. Did you scan the POR232 barcode? Freezing...
erscheint, ist der Scanner noch im USB-Modus oder RX und TX sind vertauscht.
5. Wenn es nicht funktioniert
Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses einfachste Beispiel nach jeder Änderung.
1. Breakout Board anschließen
Die Beispiele des Moduls verwenden Pin 5 als TX und Pin 4 als RX des Controllers.
Wenn nur tx und rx angegeben sind, öffnet das Modul UART(1) auf diesen Pins; übergeben Sie
uart_id, um einen anderen UART zu verwenden. Kreuzen Sie die Datenleitungen: Der TX des Controllers geht
an den RX des Scanners, und der TX des Scanners geht an den RX des Controllers.
Das Beispiel wurde auf zwei Soldered NULA Boards getestet, NULA Mini ESP32-C6 und NULA DeepSleep ESP32-S3, mit MicroPython v1.24.1.
| Controller | Soldered Barcode Scanner DE2120 |
|---|---|
| Pin 5 (TX) | RX |
| Pin 4 (RX) | TX |
3V3 | 3V3 |
GND | GND |

2. Modul installieren
Nachdem Sie das mpremote-Paket installiert haben, installieren Sie die Bibliothek mit dem folgenden Befehl auf Ihrem Board:
mpremote mip install github:SolderedElectronics/Soldered-DE2120-MicroPython-Library
Oder, wenn Sie Windows verwenden:
python -m mpremote mip install github:SolderedElectronics/Soldered-DE2120-MicroPython-Library
🔗Soldered DE2120 MicroPython-Bibliothek
Geprüftes MicroPython-Modul im Commit 848e03e
Tipp: Download von GitHub. Ohne mpremote öffnen Sie die .py-Datei des Moduls
auf GitHub und klicken auf Download raw file. Öffnen Sie sie dann in Thonny und kopieren Sie sie über
File → Save as... → MicroPython device auf das Board.
3. Erstes Beispiel ausführen
Dies ist das Beispiel de2120-readBarcode.py des Moduls. Es erstellt den Scanner an
den Pins 5 und 4, prüft, ob er antwortet, und gibt jeden gescannten Code aus. Ändern Sie
tx und rx, wenn Sie andere Pins verdrahtet haben.
from machine import UART
from de2120 import DE2120
import time
# Adjust tx and rx to match the pins you have wired on your board.
scanner = DE2120(tx=5, rx=4)
if not scanner.begin():
print("DE2120 not detected. Check wiring.")
raise SystemExit
print("DE2120 ready. Press the button on the scanner to read a barcode.")
while True:
barcode = scanner.readBarcode()
if barcode:
print("Scanned:", barcode)
time.sleep_ms(20)
🔗Vollständiges Beispiel öffnen
Examples/de2120-readBarcode.py im Commit 848e03e
4. Ergebnis prüfen
Wenn der Scanner antwortet, zeigt die Shell:
DE2120 ready. Press the button on the scanner to read a barcode.
Drücken Sie die Auslösetaste auf dem Board und richten Sie den Scanner auf einen Barcode. Jeder
gelesene Code wird als Scanned: gefolgt vom Inhalt des Codes ausgegeben. Wenn die Shell stattdessen
DE2120 not detected. Check wiring. anzeigt, ist der Scanner noch im USB-Modus
oder RX und TX sind vertauscht.
5. Wenn es nicht funktioniert
Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses einfachste Beispiel nach jeder Änderung.