Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.
Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.
Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.
Modul mit 0,96-Zoll-OLED-Bildschirm und EC11-Drehgeber
Diese kompakte Lösung für HMI-Schnittstellen und DIY-Projekte kombiniert ein kontrastreiches 0,96-Zoll-OLED-Display mit einem EC11-Drehgeber für präzise Menünavigation und -einstellungen. Die I²C-Kommunikation reduziert den Verkabelungsaufwand und ermöglicht die schnelle Integration mit Arduino und ähnlichen Boards. Der Drehgeber verfügt über Druck-, Bestätigungs- und Rücklauftasten für eine intuitive Bedienung und direktes visuelles Feedback.
Shipping by Donnerstag 27 August
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
We ship from our stock within 24H
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.
Dieses Modul kombiniert ein 0,96-Zoll-OLED-Display mit einem EC11-Drehgeber und bietet somit eine kompakte Lösung zur schnellen Erstellung einer Benutzeroberfläche.
Die Anbindung des OLED-Displays über I2C ermöglicht die einfache Integration mit Arduino und anderen Entwicklungsboards bei reduziertem Verdrahtungsaufwand. Das OLED-Display bietet hohen Kontrast und sehr gute Lesbarkeit, und der Drehgeber ermöglicht die präzise Steuerung von Menünavigation, Auswahl und Parametereinstellung.
Das Modul verfügt außerdem über spezielle Tasten für Bestätigung und Rückkehr und eignet sich daher für Bedienfelder, einfache HMI-Schnittstellen und DIY-Projekte, bei denen klare Befehle und sofortiges visuelles Feedback erforderlich sind.
Spezifikationen:
Betriebsspannung: 3,3–5 V
Displaytyp: OLED
OLED-Treiber: SSD1306
Bildschirmgröße: 0,96 Zoll
Steuerungstyp: Drehgeber EC11
Kommunikationsschnittstelle: I2C
Abmessungen: 56 x 97 mm
Pinbelegung:
| Kiefer | Funktion |
|---|---|
| Kegel | Bestätigen-Schaltfläche |
| SDA | I2C-Datenleitung für OLED |
| SCK | I2C-Taktleitung für OLED |
| PSH | Druckgeber EC11 |
| TRA | Signal A Encoder EC11 |
| GRT | Signal B-Encoder EC11 |
| BAK | ZURÜCK-Taste |
| GND | Masse |
| VCC | Fütterung |
Verwenden:
Verbinden Sie das Modul gemäß der Pinbelegung mit dem Arduino-Board und schalten Sie es gemäß den Spezifikationen ein.
Die Programmierung des OLED-Displays erfolgt wie bei jedem anderen OLED-Display. 0.96.
Login:
| Modulanschluss | Arduino UNO | Rolle |
|---|---|---|
| GND | GND | Gemeinsame Tabelle |
| VCC | 3,3 V | Modul-Stromversorgung |
| SCL | A5 | I2C-Takt |
| SDA | A4 | I2C-Daten |
| TRA | D2 | Encoderkanal A wird bei Interrupt empfohlen |
| GRT | D3 | Encoderkanal B wird bei Interrupt empfohlen |
| PSH | D4 | Drücken Sie den Encoder zur Auswahl. |
| Kegel | D5 | Optionale Bestätigungstaste |
| BAK | 6 | Optionale RETURN-Taste |
Arduino UNO Testcode:
#enthalten
#enthalten
#define OLED_ADDR 0x3C
#define OLED_W 128
#define OLED_H 64
Adafruit_SSD1306 display(OLED_W, OLED_H, &Wire)
#define ENC_A 2
#define ENC_B 3
#define ENC_SW 4
#define BTN_CON 5
#define BTN_BAK 6
volatile int8_t encDelta = 0
volatile uint8_t lastA = 0
unsigned long tSw = 0
unsigned long tCon = 0
unsigned long tBak = 0
const unsigned long debounceMs = 180
const char* menuItems[] = {
"Status",
"Einstellungen",
"Kalibrierung",
"Info",
"Zurücksetzen"
}
const uint8_t menuCount = sizeof(menuItems) / sizeof(menuItems[0])
int menuIndex = 0
int page = 0
int setSpeed = 10
int setThreshold = 50
void isrEncA() {
Uint8_t a = digitalRead(ENC_A)
If (a == lastA) return
LastA = a
Uint8_t b = digitalRead(ENC_B)
If (b != a) encDelta++
Sonst encDelta--
}
bool pressed(int pin, unsigned long &tLast) {
if (digitalRead(pin) == LOW) {
Unsigned long now = millis()
falls (jetzt - tLast > entprellteMs) {
TLast = jetzt
Return true
}
}
Return false
}
void drawHeader(const char* title) {
Display.clearDisplay()
Display.setTextSize(1)
display.setTextColor(WEISS)
display.setCursor(0, 0)
Display.print(title)
Display.drawLine(0, 10, 127, 10, WHITE)
}
void drawMenu() {
DrawHeader("SigmaNortec")
Int y = 14
For (uint8_t i = 0; i < menuCount; i++) {
If (i == menuIndex) {
display.fillRect(0, y - 1, 128, 10, WEISS)
display.setTextColor(SCHWARZ)
} anders {
display.setTextColor(WEISS)
}
display.setCursor(2, y)
Display.print(menuItems[i])
Y += 11
}
display.setTextColor(WEISS)
display.setCursor(0,56)
Display.print("Rotation: menu OK: select BAK: back")
Display.display()
}
void drawStatus() {
DrawHeader("Status")
display.setCursor(0, 16)
Display.print("Encoder: OK")
display.setCursor(0, 28)
Display.print("Geschwindigkeit: ")
Display.print(setSpeed)
display.setCursor(0, 40)
Display.print("Schwellenwert: ")
Display.print(setThreshold)
display.setCursor(0,56)
Display.print("BAK: zurück")
Display.display()
}
void drawSettings() {
DrawHeader("Einstellungen")
display.setCursor(0, 16)
Display.print("Geschwindigkeit: ")
Display.print(setSpeed)
display.setCursor(0, 28)
Display.print("Schwellenwert: ")
Display.print(setThreshold)
display.setCursor(0, 44)
Display.print("Rotation: adjustment")
display.setCursor(0,56)
Display.print("OK: switch BAK: back")
Display.display()
}
void drawInfo() {
DrawHeader("Info")
display.setCursor(0, 16)
Display.print("OLED SSD1306 I2C")
display.setCursor(0, 28)
Display.print("Encoder EC11")
display.setCursor(0, 40)
Display.print("Menü: Sigmanortec")
display.setCursor(0,56)
Display.print("BAK: zurück")
Display.display()
}
void setup() {
PinMode(ENC_A, INPUT_PULLUP)
PinMode(ENC_B, INPUT_PULLUP)
PinMode(ENC_SW, INPUT_PULLUP)
pinMode(BTN_CON, INPUT_PULLUP)
pinMode(BTN_BAK, INPUT_PULLUP)
LastA = digitalRead(ENC_A)
AttachInterrupt(digitalPinToInterrupt(ENC_A), isrEncA, CHANGE)
Display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR)
Display.clearDisplay()
Display.setTextWrap(false)
display.dim(0)
Display.display()
Menü zeichnen()
}
void loop() {
Int8_t d = 0
NoInterrupts()
D = encDelta
EncDelta = 0
Unterbrechen()
Bool ok = pressed(ENC_SW, tSw) || pressed(BTN_CON, tCon)
Bool back = pressed(BTN_BAK, tBak)
If (page == 0) {
If (d != 0) {
MenuIndex += (d > 0) ? 1 : -1
falls (menuIndex < 0) menuIndex = menuCount - 1
falls (menuIndex >= menuCount) menuIndex = 0
Menü zeichnen()
}
If (ok) {
falls (menuIndex == 0) Seite = 1
falls (menuIndex == 1) Seite = 2
falls (menuIndex == 2) Seite = 3
falls (menuIndex == 3) Seite = 4
falls (menuIndex == 4) Seite = 5
if (page == 1) drawStatus()
if (page == 2) drawSettings()
if (page == 3) drawHeader("Kalibrierung"), display.setCursor(0, 20), display.print("Kalibrierung läuft"), display.setCursor(0, 56), display.print("BAK: zurück"), display.display()
if (page == 4) drawInfo()
If (page == 5) {
DrawHeader("Zurücksetzen")
display.setCursor(0, 20)
Display.print("Werte zurücksetzen")
SetSpeed = 10
SetThreshold = 50
display.setCursor(0,56)
Display.print("OK: Menü")
Display.display()
}
}
} else if (page == 1) {
If (back) {
Seite = 0
Menü zeichnen()
}
} else if (page == 2) {
Static bool editSpeed = true
If (ok) {
EditSpeed = !editSpeed
DrawSettings()
}
If (d != 0) {
If (editSpeed) {
SetSpeed += (d > 0) ? 1 : -1
falls (setSpeed < 0) setSpeed = 0
falls (setSpeed > 99) setSpeed = 99
} anders {
SetThreshold += (d > 0) ? 1 : -1
falls (setPrag < 0) setPrag = 0
if (setPrag > 999) setPrag = 999
}
DrawSettings()
}
If (back) {
Seite = 0
Menü zeichnen()
}
} else if (page == 3 || page == 4) {
If (back) {
Seite = 0
Menü zeichnen()
}
} else if (page == 5) {
If (ok || back) {
Seite = 0
Menü zeichnen()
}
}}
}
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].