INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
SainSmart 1602 LCD Keypad Shield Modul Display Tasten
06.08.2015, 20:08
Beitrag #9
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Danke schönen Urlaub
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.08.2015, 20:22 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2015 20:54 von hotsystems.)
Beitrag #10
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
https://www.dfrobot.com/wiki/index.php?t...:_DFR0009)Tja so sind sie....
Hier ein besagter Link.

Und hier direkt vom Hersteller:

http://www.sainsmart.com/sainsmart-1602-...a1280.html

Da ist alles dabei, Demo und Lib.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.08.2015, 20:31
Beitrag #11
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Hi,
ähm ich darf da mal so nebenbei auf meinen Bericht zu diesen Keypads mit LCD verweisen...
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.08.2015, 21:03
Beitrag #12
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Also das Display funktioniert soweit zu meiner Zufriedenheit. Ich verwende es um Artikelnummern anzuzeigen und dann den jeweiligen Artikel zu Fotografieren.
Bis jetzt ändere ich immer die Artikelnummer in der 1. Zeile und die Beschreibung in der zweiten Zeile und lade den Sketch auf den Arduino hoch.

Nun zu meiner Idee.
Wenn ich die Taste 1 drücke erscheint eine Zahl die ich vorher programmiert habe mit Beschreibung.
Wenn ich Taste 2 drücke erscheint die nächste programmierte Zahl mit Beschreibung.
usw. bis ich alle 5 tasten gebraucht habe. Und ich den Sketch wieder mit 5 neuen Artikeln updaten würde.

Wie ich es bis jetzt mache muss ich den Sketch nach jedem Foto updaten.
Wie ich es mir vorstelle nach 5 Fotos den Sketch updaten.

Ich hoffe jetzt ist es klarer was ich versuchen möchte.

So sieht es bis jetzt aus

*
The circuit:
* LCD RS pin to digital pin 8
* LCD Enable pin to digital pin 9
* LCD D4 pin to digital pin 4
* LCD D5 pin to digital pin 5
* LCD D6 pin to digital pin 6
* LCD D7 pin to digital pin 7
* LCD BL pin to digital pin 10
* KEY pin to analogl pin 0
*/

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);

char msgs[5][16] = {"Right Key OK ",
"Up Key OK ",
"Down Key OK ",
"Left Key OK ",
"Select Key OK" };

int adc_key_val[5] ={50, 200, 400, 600, 800 };
int NUM_KEYS = 5;
int adc_key_in;
int key=-1;
int oldkey=-1;

void setup()
{
lcd.clear();
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Artikelnummer");
lcd.setCursor(0,1);
lcd.print("Beschreibung");
}

void loop()
{
adc_key_in = analogRead(0); // read the value from the sensor
key = get_key(adc_key_in); // convert into key press

if (key != oldkey) // if keypress is detected
{
delay(50); // wait for debounce time
adc_key_in = analogRead(0); // read the value from the sensor
key = get_key(adc_key_in); // convert into key press
if (key != oldkey)
{
lcd.setCursor(0, 1);
oldkey = key;
if (key >=0){
lcd.print(msgs[key]);
}
}
}
delay(100);
}

// Convert ADC value to key number
int get_key(unsigned int input)
{
int k;

for (k = 0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k])
{
return k;
}
}

if (k >= NUM_KEYS)k = -1; // No valid key pressed
return k;
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.08.2015, 21:38 (Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2015 21:49 von hotsystems.)
Beitrag #13
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Der Code ist recht unübersichtlich.
Aber ich denke, du weist wie er funktioniert.

Warum verwendest du nicht den von mir als Link eingefügten Code. Da ist jede Taste individuell gekennzeichnet. Das erscheint mir übersichtlicher.

Hast du dir die Beispiele schon mal angesehen?
Speziell der von dfrobot ist sehr übersichtlich und du kannst in der Auswertung am Ende pro Taste deine Texte übergeben.

So kannst du es dann im code mit den einzelnen Tasten auswerten:
Code:
lcd.setCursor(0,1);            // move to the begining of the second line
lcd_key = read_LCD_buttons();  // read the buttons
switch (lcd_key)               // depending on which button was pushed, we perform an action
{
   case btnRIGHT:
     {
       lcd.setCursor(0,1);
       lcd.print("Nummer 1");
       lcd.setCursor(0,2);
       lcd.print("Text 1");
     break;
     }
   case btnLEFT:
     {
       lcd.setCursor(0,1);
       lcd.print("Nummer 2");
       lcd.setCursor(0,2);
       lcd.print("Text 2");
     break;
     }
   case btnUP:
     {
       lcd.setCursor(0,1);
       lcd.print("Nummer 3");
       lcd.setCursor(0,2);
       lcd.print("Text 3");
     break;
     }
   case btnDOWN:
     {
       lcd.setCursor(0,1);
       lcd.print("Nummer 4");
       lcd.setCursor(0,2);
       lcd.print("Text 4");
     break;
     }
   case btnSELECT:
     {
       lcd.setCursor(0,1);
       lcd.print("Nummer 5");
       lcd.setCursor(0,2);
       lcd.print("Text 5");
     break;
     }
     case btnNONE:
     {
     lcd.print("NONE  ");
     break;
     }
}

Noch eleganter geht es mit einer Taste und du holst die Information aus einem Array, aber ich vermute, das wird jetzt zu aufwendig. Da kannst du später mit einsteigen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.08.2015, 22:55
Beitrag #14
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
{
lcd.setCursor(0,1);
lcd.print("Nummer 1");
lcd.setCursor(0,2);
lcd.print("Text 1");
break;
}

Kann man dies nicht als Funktion ausführen und nur die die Ziffer (1-5)
übergeben.
Sollte Schnelligkeit gefordert sein könnte doch "Text" und "Ziffer" stehen bleiben und nur die Ziffer mit Cursorposition gesendet werden.
..nur so als Gedankenstütze!

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2015, 05:58
Beitrag #15
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Moin,
...ähm sehe ich das richtig, hier wird ein LCD Display dazu benutzt um in einem Foto die Artikelnummer und eine Beschreibung zu zeigen ?
Warum dann nicht die Eingabe des Textes auf die Terminalfunktion der IDE verlagern so das man ohne Neuprogrammierung den text ändern kann...Idea
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2015, 08:23
Beitrag #16
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
@fraju
Das mit der Funktion ist sicher die bessere Lösung. Ich wollte es zu Anfang allerdings nicht so kompliziert machen.
Und Nummer + Text sind nur Platzhalter, werden jeweils individuell eingesetzt.

@Bitklopfer
Ja, sicher wäre das so besser, allerdings auch hier, nicht so kompliziert für den Anfang. Es kommt sicher auch darauf an, wie oft die Eingaben erneuert werden müssen.

Hier sollte Rossy nochmal seine Gedanken einbringen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  neues OLED Display nötig an vorhandenem uC Systemswerlich Ersatz hd311 1 42 Gestern 17:38
Letzter Beitrag: Tommy56
  Pinbelegung TFT-Display ILI9341 mingo 19 381 23.03.2017 17:49
Letzter Beitrag: oOSpikeOo
  Sainsmart 3,2" TFT Anzeigeproblem Badger1875 19 674 10.02.2017 19:05
Letzter Beitrag: rkuehle
  Can-Bus Shield ok, aber keine Daten Clubsport 52 2.812 26.01.2017 16:32
Letzter Beitrag: Tommy56
  Display über I2-Bus betreiben mfri 22 713 23.01.2017 11:06
Letzter Beitrag: renid55
  [Gelöst] SD Card (Ethernet Shield) IO funktioniert nicht __jb__ 7 512 05.01.2017 09:51
Letzter Beitrag: rpt007
  LCD 1602 mit I2C Tellen 35 1.433 09.12.2016 21:16
Letzter Beitrag: Franz54
  CP2102 und USB Host Shield ?? DL1AKP 0 124 01.12.2016 08:55
Letzter Beitrag: DL1AKP
  matrix display elegoo uno R3 starter set lecker16 7 529 23.11.2016 21:14
Letzter Beitrag: Bitklopfer
  Mehrstellige Zahl aus Keypad StB 7 587 23.11.2016 03:47
Letzter Beitrag: StB

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste