Fragen zum Atmega 2560

OP #3278680
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.