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.

Thema geschlossen 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LCD Menü per taster
05.11.2014, 21:38
Beitrag #1
LCD Menü per taster
hallo
Bin neu hier und habe seid kurzem einen arduino.

Ich bin dabei mir ein menü zu Basteln was auf einem display ausgegeben wird.
per taster soll zwischen den Punkten gewählt werden.

Ich komme soweit das er von Punkt 1 zu 2 Springt aber nicht zu Punkt 3 sondern zurück auf punkt 1.
Könnte mir da jemand nen denkanstoss geben.
Mfg
Code:
// include the library code:
#include <LiquidCrystal.h>

// Konstanten wie Pin Nummern ändern sich nciht
int TasterPin = 8; // Pin Nummer des Tasters
int LedPin = 0; // Pin Nummer der LED des Arduinos

// Variablen ändern sich
int TasterStatus = 0; // Variable für den Taster Status
int taster1 = 0;
int taster2;
int taster3;// Variable für den taster1modus (0= LED aus, 1= LED an)
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 4);
    // Print a message to the LCD.
  lcd.print("Hauptmenu");
// Taster Pin wird als Eingang gesetzt
pinMode(TasterPin, INPUT);
TasterStatus = digitalRead(TasterPin);
}

void loop(){
// Lesen des Status des Taster Pins
TasterStatus = digitalRead(TasterPin);

// Prüfen ob der Taster gedrückt ist
// Wenn der TasterState HIGH ist:
if (TasterStatus == HIGH) {

static unsigned long letzte_Taster_Zeit1 = 0;
unsigned long Taster_Zeit1 = millis();

// Wenn Tasterdrücke schneller als 200ms kommen, werden sie als prellen eingestuft und ignoriert
if (Taster_Zeit1 - letzte_Taster_Zeit1 > 200){
//taster1modus wird um +1 erhöht
//taster1 = taster1 +1;
taster1++;


}
}

if (taster1 == 4) {
taster1 = 0;
}

// Meüpunkt 1


  lcd.setCursor(1, 1);
  // print the number of seconds since reset:
  lcd.print("WWec");
    lcd.setCursor(1, 2);
  // print the number of seconds since reset:
  lcd.print("Temp");
      lcd.setCursor(1, 3);
  // print the number of seconds since reset:
  lcd.print("LWert");

if (taster1 == 0) {
// schalte die LED an:
//digitalWrite(LedPin, LOW);
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):

  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(">");
    lcd.setCursor(0, 2);
  // print the number of seconds since reset:
  lcd.print(" ");
      lcd.setCursor(0, 3);
  // print the number of seconds since reset:
  lcd.print(" ");


  
}


//else


if (taster1 == 1)
{
// Menüpunkt 2
//digitalWrite(LedPin, HIGH);
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
      lcd.setCursor(0, 3);
  // print the number of seconds since reset:
  lcd.print(" ");
  lcd.setCursor(0, 2);
  // print the number of seconds since reset:
  lcd.print(">");
    lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(" ");


  if (taster1 == 2)
{
// Menüpunkt 3
//digitalWrite(LedPin, HIGH);
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
    lcd.setCursor(0, 3);
  // print the number of seconds since reset:
  lcd.print(">");
  lcd.setCursor(0, 2);
  // print the number of seconds since reset:
  lcd.print(" ");
    lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(" ");
  

}
}
}
Alle Beiträge dieses Benutzers finden
06.11.2014, 16:13
Beitrag #2
RE: LCD Menü per taster
Keiner der was zu sagen könnte.?
Alle Beiträge dieses Benutzers finden
06.11.2014, 17:36
Beitrag #3
RE: LCD Menü per taster
Hi,
ich denke mal, vor "if (taster1 == 2)" gehört einmal "}" und eins der "}" am Ende muss weg.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
06.11.2014, 19:40
Beitrag #4
RE: LCD Menü per taster
daran hats gelegen super danke
Alle Beiträge dieses Benutzers finden
18.02.2018, 12:17
Beitrag #5
RE: LCD Menü per taster
[/quote]
Es ist nicht schön, einen fremden Thread zu kapern
[/quote]

Okay das wusste ich nicht. Ich mache beim nächsten mal einen eigen auf.

Es handelt sich um das Originale Starter-Kit

Hier der unveränderte Sketch

PHP-Code:
/*
  Arduino Starter Kit example
  Project 11 - Crystal Ball

  This sketch is written to accompany Project 11 in the Arduino Starter Kit

  Parts required:
  - 220 ohm resistor
  - 10 kilohm resistor
  - 10 kilohm potentiometer
  - 16x2 LCD screen
  - tilt switch

  created 13 Sep 2012
  by Scott Fitzgerald

  http://www.arduino.cc/starterKit

  This example code is part of the public domain.
*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12115432);

// set up a constant for the tilt switch pin
const int switchPin 6;

// variable to hold the value of the switch pin
int switchState 0;

// variable to hold previous value of the switch pin
int prevSwitchState 0;

// a variable to choose which reply from the crystal ball
int reply;

void setup() {
  
// set up the number of columns and rows on the LCD
  
lcd.begin(162);

  
// set up the switch pin as an input
  
pinMode(switchPinINPUT);

  
// Print a message to the LCD.
  
lcd.print("Ask the");
  
// set the cursor to column 0, line 1
  // line 1 is the second row, since counting begins with 0
  
lcd.setCursor(01);
  
// print to the second line
  
lcd.print("Crystal Ball!");
}

void loop() {
  
// check the status of the switch
  
switchState digitalRead(switchPin);

  
// compare the switchState to its previous state
  
if (switchState != prevSwitchState) {
    
// if the state has changed from HIGH to LOW you know that the ball has been
    // tilted from one direction to the other
    
if (switchState == LOW) {
      
// randomly chose a reply
      
reply random(8);
      
// clean up the screen before printing a new reply
      
lcd.clear();
      
// set the cursor to column 0, line 0
      
lcd.setCursor(00);
      
// print some text
      
lcd.print("the ball says:");
      
// move the cursor to the second line
      
lcd.setCursor(01);

      
// choose a saying to print based on the value in reply
      
switch (reply) {
        case 
0:
          
lcd.print("Yes");
          break;

        case 
1:
          
lcd.print("Most likely");
          break;

        case 
2:
          
lcd.print("Certainly");
          break;

        case 
3:
          
lcd.print("Outlook good");
          break;

        case 
4:
          
lcd.print("Unsure");
          break;

        case 
5:
          
lcd.print("Ask again");
          break;

        case 
6:
          
lcd.print("Doubtful");
          break;

        case 
7:
          
lcd.print("No");
          break;
      }
    }
  }
  
// save the current switch state as the last state
  
prevSwitchState switchState;


Richtig ich möchte mit den Grundlagen anfangen. Und dafür habe ich mir das Starterkit gekauft.

Ich habe nicht funktionierenden Sketch hier gezeigt um meinen Gedankenansatz zu verdeutlichen...
Alle Beiträge dieses Benutzers finden
18.02.2018, 12:44
Beitrag #6
RE: LCD Menü per taster
Thema geschlossen.
Hier geht es weiter.

Gruß Arne
ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Taster schalten LEDs mit Schieberegister Sonne 3 259 26.03.2018 20:08
Letzter Beitrag: hotsystems
  LCD Menü per taster Herberto 3 321 21.02.2018 17:56
Letzter Beitrag: Herberto
  Temperatur mit Taster um +1 erhöhen T100 7 464 09.02.2018 04:58
Letzter Beitrag: T100
  led mit taster moankopf 11 801 25.12.2017 23:34
Letzter Beitrag: Chopp
  Taster 1 mal drücken = LED 2 mal blinken oder aufblitzen gordolino 19 2.214 03.11.2017 15:14
Letzter Beitrag: ardu_arne
  Taster: Wechselschaltung Nordlicht 33 3.371 18.09.2017 09:35
Letzter Beitrag: MicroBahner
  Taster an Interrupt - Prellen geschickter vermeiden als millis() zu prüfen? Flap 19 3.481 04.08.2017 08:10
Letzter Beitrag: Binary1
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 4.825 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  Taster als Schalter -> Blinker bino29 8 1.322 22.06.2017 07:21
Letzter Beitrag: hotsystems
Smile Motorsteuerung mit Taster Eggi123 11 1.455 26.02.2017 15:48
Letzter Beitrag: MicroBahner

Gehe zu:


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