Fragen zum Atmega 2560

OP #3278680
Lesenswert?

Ich habe das Arduino Mega 2560 mit 4884 Grafik-Display. Tolle Sache 
dat...
An Pin 14 und 15 Hängt eine LED, die ich blinken lasse. Die Zeitwerte 
werden im Display angezeigt.
Jetzt möchte ich aber, das wenn ich eine Taste drücke, der Zeitwert 
erhöht oder niedriger wird.

Beispiel: Zeitwert 1000 (also eine Sekunde) Tastendruck---> +1

Dann Soll der Zeitwert also 1001 sein und auch im Display so angezeigt 
werden.

Mit einer weiteren Taste das gleiche, nur -1.

So weit bin ich gekommen:
1
#include "LCD4884.h"
2
int pina = 1000; //Variable für die Zeit
3
int pinb = 1000;
4
char string[10];
5
void setup() 
6

7
{  
8
  lcd.LCD_init();
9
  lcd.LCD_clear(); 
10
  pinMode(14, OUTPUT);
11
   pinMode(15, OUTPUT);
12
}
13

14
void loop() 
15
{       
16
itoa(pina, string, 10);
17
lcd.LCD_write_string(0, 0, "Pin14:", MENU_NORMAL);
18
lcd.LCD_write_string(50, 0, string, MENU_NORMAL);
19
itoa(pinb, string, 10);
20
lcd.LCD_write_string(50, 2, string, MENU_NORMAL);
21
lcd.LCD_write_string(0, 2, "Pin15:", MENU_NORMAL);
22

23
digitalWrite(14, HIGH);  delay(pina);  digitalWrite(14, LOW); 
24
digitalWrite(15, HIGH);  delay(pinb);  digitalWrite(15, LOW);
25

26
}
Auf dem Display befindet sich ein Joystick, der für diese Aufgabe 
benutzt werden soll.

Kann mir jemand helfen :-)))) ?????

Gruß
Dirk
Gast #3278693
Lesenswert?

Hi!

Ist ja schon ganz in Ordnung, klappt ja bis jetzt.
Ich verstehe nicht ganz, was dir Mühe macht?


Zuerst Eingang initalisieren (der vom Joystick) und dann sieht es in 
etwa so aus:

if (taster_1)
{
  pina--;            //Variable wird um 1 reduziert
  while (taster_1){} //Warten bis Taster logelassen wird
}

if (taster_2)
{
  pina++;            //Variable wird um 1 reduziert
  while (taster_2){} //Warten bis Taster logelassen wird
}
OP #3278702
Lesenswert?

Ups, das ging ja schnell....
Mühe macht mir, das ich mich jetzt mit 39 Jahren mit der Programmierung 
befasse :-(
Mit der Elektronik habe ich keine Probleme, aber in Sachen MC bin ich 
noch ganz am Anfang. Bücher sind aber unterwegs :-)

Vielen Dank mal für den Tip, probier ich gleich mal aus....
#3279035
Lesenswert?

Dann würde ich mal vorschlagen, sich mal unabhängig von deinem Problem 
mit dem Joystick auf diesem Shield zu beschäftigen.

In den Verkaufsdokus steht, dass er über den Analog Pin 0 ausgelesen 
wird. Daher die Frage: Welche werte kommen da daher? Wie verändern sich 
die, wenn der Joystick bewegt wird?

Danach weiß macn schon mehr und kann sich überlegen, wie man gezielt 
eine Art 'Tastenbetätigung' mit dem Joystick realisiert. Und wenn man 
dann darüber Bescheid weiß, dann baut man das ins richtige Programm ein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren