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
07.08.2015, 19:35 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2015 19:56 von Rossy.)
Beitrag #17
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Hab mir mal den Sample code von dfrobot (danke für den Tip hotsystems) mal geladen und ein wenig angepasst.
wenn ich die tasten drücke erscheint auch die entsprechende Artikelnummer mit Beschreibung. Aber wenn ich sie loslasse ist wieder die ursprüngliche Artikelnummer mit Beschreibung da. Wie kann ich programmieren, das die Nummer mit Beschreibung eine bestimmte Zeit da bleibt?

Zur Info ich hab noch ein paar Nummern vor mir ca. 6000 erstmal dann wär der Lieferant fertig. [/php]

PHP-Code:
[code]
    case 
btnRIGHT:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-906-00");
        
lcd.setCursor(01);
        
lcd.print("Keilriemenscheibe");
        break;
      }
    case 
btnLEFT:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-906-00");
        
lcd.setCursor(01);
        
lcd.print("Aufkleber klein");
        break;
      }
    case 
btnUP:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-191-00");
        
lcd.setCursor(01);
        
lcd.print("Halter");
        break;
      }
    case 
btnDOWN:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-736-00");
        
lcd.setCursor(01);
        
lcd.print("Schiene");
        break;
      }
    case 
btnSELECT:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-513-00");
        
lcd.setCursor(01);
        
lcd.print("Huelse");
        break;
      }
    case 
btnNONE:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-543-00");
        
lcd.setCursor(01);
        
lcd.print("Hebel");
        break;
      }
  }

}
[/
code]
[
hr

Mit der Zeit habs selber raus bekommen. Ich kann jetzt 6 Fotos nacheinander machen.
(ist schon ein Schritt in die Richtige Richtung). Am Anfang hab ich so was wie Scrabble nur mit Zahlen gemacht. Dann viel mir ein UNO in die Hände, danke an Video 2 Brain.
Jetzt 6 Artikel Programmieren hochladen, Foto vom Artikel mit LCD im Bild machen, Reset Taste am LCD drücken, eine der 5 Tasten drücken für den nächsten Artikel.

hier mal der geänderte Code


PHP-Code:
[code]
//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

/*******************************************************

This program will test the LCD panel and the buttons
Mark Bramwell, July 2010

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(894567);

// define some values used by the panel and buttons
int lcd_key     0;
int adc_key_in  0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5

// read the buttons
int read_LCD_buttons()
{
  
adc_key_in analogRead(0);      // read the value from the sensor
  // my buttons when read are centered at these valies: 0, 144, 329, 504, 741
  // we add approx 50 to those values and check to see if we are close
  
if (adc_key_in 1000) return btnNONE// We make this the 1st option for speed reasons since it will be the most likely result
  // For V1.1 us this threshold
  
if (adc_key_in 50)   return btnRIGHT;
  if (
adc_key_in 250)  return btnUP;
  if (
adc_key_in 450)  return btnDOWN;
  if (
adc_key_in 650)  return btnLEFT;
  if (
adc_key_in 850)  return btnSELECT;



  return 
btnNONE;  // when all others fail, return this...
}

void setup()
{
  
lcd.begin(162);              // start the library
  // lcd.setCursor(0,0);
  // lcd.print("Push the buttons"); // print a simple message
}

void loop()
{
  
//lcd.setCursor(9,0);            // move cursor to second line "1" and 9 spaces over
  //lcd.print(millis()/1000);      // display seconds elapsed since power-up


  
lcd.setCursor(00);           // move to the begining of the second line
  
lcd.setCursor(01);
  
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(00);
        
lcd.print("80-1035-906-00");
        
lcd.setCursor(01);
        
lcd.print("Keilriemenscheibe");
        
delay(10000);
        break;
      }
    case 
btnLEFT:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-906-00");
        
lcd.setCursor(01);
        
lcd.print("Aufkleber klein");
        
delay(10000);
        break;
      }
    case 
btnUP:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-191-00");
        
lcd.setCursor(01);
        
lcd.print("Halter");
        
delay(10000);
        break;
      }
    case 
btnDOWN:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-736-00");
        
lcd.setCursor(01);
        
lcd.print("Schiene");
        
delay(10000);
        break;
      }
    case 
btnSELECT:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-513-00");
        
lcd.setCursor(01);
        
lcd.print("Huelse");
        
delay(10000);
        break;
      }
    case 
btnNONE:
      {
        
lcd.setCursor(00);
        
lcd.print("80-1035-543-00");
        
lcd.setCursor(01);
        
lcd.print("Hebel");
        break;
      }
  }

}
[/
code
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.08.2015, 20:33
Beitrag #18
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Prima, sieht doch schon gut aus und funktioniert.

Dann kannst du ja, wenn du noch Lust verspürst, in der nächsten Zeit den Umbau auf Eingabe (Vorschlag von Bitklopfer) über die Terminalfunktion der IDE wechseln. Damit brauchst du den Ardu nicht immer neu programmieren, sondern gibst den Text im PC direkt ein.
Da muss ich dann allerdings passen, da ich hier keine Erfahrung habe.
Aber es gibt sicher andere Experten, die helfen.

Allerdings könnte man noch eine andere Version nehmen, die ich anfangs schon vorgeschlagen habe.
10 oder mehr Artikel und Nummern in ein Array aufnehmen und dieses dann per Up/Down-Tasten nacheinander auslesen.
Der Vorteil ist, du kannst mehr Positionen direkt einprogrammieren und benötigst danach den PC erst wieder zum erneuten Übertragen weiterer Positionen. Lass es dir mal durch den Kopf gehen. Wichtig ist, es funktioniert erst mal. Rolleyes

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.08.2015, 06:08
Beitrag #19
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Moin,
lese gerade das du vorhast mehr als 6000 Artikel da durchzuziehen....
Die Daten hast du dann sicherlich auf dem PC bzw. in einer Datei drin ?
Da würde sich bei der Menge doch der Aufwand lohnen die Daten auf eine Textdatei zu in einem definierten Format zu exportieren und dann auf eine SD Card zu kopieren die du wiederum per Shield in deinen Arduino einbringst....über die Terminalfunktion könntest du dann z.B. die Artikelnummer eintippen wo die Session dann starten soll....dann über die Tasten am LCD immer inkrementieren.... weil die Zahlen über die paar Tasten eingeben ist wohl etwas müßig....
Nur mal so als Denkanstoß.
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
08.08.2015, 11:26
Beitrag #20
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
(08.08.2015 06:08)Bitklopfer schrieb:  Moin,
lese gerade das du vorhast mehr als 6000 Artikel da durchzuziehen....
Die Daten hast du dann sicherlich auf dem PC bzw. in einer Datei drin ?
Da würde sich bei der Menge doch der Aufwand lohnen die Daten auf eine Textdatei zu in einem definierten Format zu exportieren und dann auf eine SD Card zu kopieren die du wiederum per Shield in deinen Arduino einbringst....über die Terminalfunktion könntest du dann z.B. die Artikelnummer eintippen wo die Session dann starten soll....dann über die Tasten am LCD immer inkrementieren.... weil die Zahlen über die paar Tasten eingeben ist wohl etwas müßig....
Nur mal so als Denkanstoß.
lgbk

Kann mann mehrere shields übereinander verwenden??

Wär sicherlich toll, aber das klappt nur wenn die Reihenfolge der Artikel passt und keine neu dazugekommen sind, oder irre ich mich da?

Der Vorschlag von hotsystems hört sich besser an weil ich immer ca. 10-20 Artikel auf einmal hole und die nacheinander Fotografiere.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.08.2015, 12:44
Beitrag #21
RE: SainSmart 1602 LCD Keypad Shield Modul Display Tasten
Der Vorschlag von Bitklopfer ist sicher ok, wenn du die Daten schon als Datei vorhanden hast und wenn sich die Reichenfolge erst mal nicht ändert. Sonst muss die Datei überarbeitet und neu übertragen werden. Ist evtl. auch nicht das Problem.

Du must dann allerdings dein Programm erweitern und den SD Shield erwerben und auch aufstecken. Ob die übereinander passen, hängt von den einzelnen Shields ab.

@Bitklopfer
Zitat: weil die Zahlen über die paar Tasten eingeben ist wohl etwas müßig....
Das wird sicher nicht erfolgen, sondern es wird eine entsprechende Anzahl (ca. 20) in einem Stück auf den Ardu in ein Array geschrieben und ebenso per Inkrement auf das Display geholt.

Letztendlich soll Rossy entscheiden, was er machen möchte bzw. welcher Aufwand für ihn der bessere ist. Und es muss ja auch programmiert werden.

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
  LCD 1602 mit I2C Tellen 26 703 Heute 11:52
Letzter Beitrag: Thie
  CP2102 und USB Host Shield ?? DL1AKP 0 50 01.12.2016 08:55
Letzter Beitrag: DL1AKP
  matrix display elegoo uno R3 starter set lecker16 7 156 23.11.2016 21:14
Letzter Beitrag: Bitklopfer
  Mehrstellige Zahl aus Keypad StB 7 230 23.11.2016 03:47
Letzter Beitrag: StB
  Arduino UNO und Ethernet Shield 2 POE und Fritzbox 3272 tr3 2 161 19.11.2016 10:46
Letzter Beitrag: tr3
  Kommunikation über das WiFi-Shield Flap 3 234 07.11.2016 20:20
Letzter Beitrag: hotsystems
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 298 28.10.2016 10:12
Letzter Beitrag: hotsystems
  Empfange nur "Geister"zeichen vom BT-Modul dabbamonkeyyy 2 128 23.10.2016 11:34
Letzter Beitrag: Harry Hirsch
  HC 05 BT Modul Lolliball 1 138 16.10.2016 09:43
Letzter Beitrag: Lolliball
  Code mit Verifikation über Keypad & LCD machnetz 5 215 10.10.2016 15:01
Letzter Beitrag: torsten_156

Gehe zu:


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