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
Hilfe mit Funktinen/Bedingungen
11.01.2020, 16:04 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2020 18:47 von maxxctv.)
Beitrag #1
Hilfe mit Funktinen/Bedingungen
Hallo!

Ich versuche den Leonardo zu programmieren und komm nicht so richtig weiter.

Ich habe für eine PC-Simulation ein "Funkgerät", dass via USB an den PC angeschlossen wird, gebaut.

[Bild: FnMjsmD]


In der Programmierung ist noch ein Fehler.

Es soll,
a: wenn ich die Sprechtaste (buttonD) drücke, die Tastatureingabe "Caps Lock" simulieren und
b: wenn der Wahlschalter(buttonE) gedrückt ist dann soll die
Sprechtaste (buttonD) die Tastatureingabe "Strg + Caps Lock" simulieren.
Soweit funktioniert es nur bleibt offensichtlich "Strg" dauerhaft gedrückt.



Code:
#include <Keyboard.h>

int keypadPins[10] = {2, 4, 7, 8,};          //Kanal 1,2,3,Sprech/Funktaste
int keyCode[10] = {128, 193, 225, 226, 227}; //Strg,Feststelltaste,Num-Block 1-3
int ledPin1 = 3;                             //Signalisierung Kanal 1
int ledPin2 = 5;                             //Signalisierung Kanal 2
int ledPin3 = 6;                             //Signalisierung Kanal 3
int ledPin4 = 9;                             //Signalisierung senden (A)
int ledPin5 = 10;                             //Signalisierung senden (B)
int buttonApin = 2;                             //Taster Kanal 1
int buttonBpin = 4;                             //Taster Kanal 2
int buttonCpin = 7;                             //Taster Kanal 3
int buttonDpin = 8;                             //Sprech/Funktaste
int buttonEpin = 12;                         //Wahlschalter kleines/großes Funkgerät

byte leds = 0;

void setup()
{
  for (int i=0; i<10; i++) {    
  pinMode(keypadPins[i], INPUT);    
  digitalWrite(keypadPins[i], HIGH);  
  }

  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  pinMode(buttonApin, INPUT_PULLUP);  
  pinMode(buttonBpin, INPUT_PULLUP);
  pinMode(buttonCpin, INPUT_PULLUP);
  pinMode(buttonDpin, INPUT_PULLUP);
  pinMode(buttonEpin, INPUT_PULLUP);

Keyboard.begin();
  
}

void loop()
{
  for (int i=0; i<10; i++)
  if (digitalRead(buttonApin) == LOW)
  {
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin1, HIGH);
    Keyboard.press(225);
    {  
    delay(100);
    Keyboard.releaseAll();
    delay(1000);  
    }
  }
  if (digitalRead(buttonBpin) == LOW)
  {
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin2, HIGH);
    Keyboard.press(226);
    {  
    delay(100);
    Keyboard.releaseAll();
    delay(1000);  
    }
  }
  if (digitalRead(buttonCpin) == LOW)
  {
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, HIGH);
    Keyboard.press(227);
    {  
    delay(100);
    Keyboard.releaseAll();
    delay(1000);  
    }
  }
  if (digitalRead(buttonDpin) == LOW)
  {
    digitalWrite(ledPin4, HIGH);
    digitalWrite(ledPin5, HIGH);
    delay(100);                      
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, LOW);    
    delay(100);
    Keyboard.press(193);
    delay(100);                                    
  }
  if (digitalRead(buttonDpin) == HIGH)
  {
    delay(100);
    Keyboard.release(193);
    delay(100);
  }
  if ((digitalRead(buttonDpin) == LOW) && (digitalRead(buttonEpin) == LOW))
  {
    Keyboard.press(128);
    delay(100);
    Keyboard.press(193);
    delay(100);
  }
  if ((digitalRead(buttonDpin) == LOW) && (digitalRead(buttonEpin) == HIGH))
  {
    Keyboard.release(193);
    delay(100);
    Keyboard.release(128);
    delay(100);
  }
}

danke schon mal für Euere Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 16:11
Beitrag #2
RE: Hilfe mit Funktinen/Bedingungen
Dein Sketch ist fast nicht zu lesen.
Wäre schön, wenn du den in Code-Tags setzt.
Dann ist dieser von allen, auch mobilen Geräten besser lesbar.

Wie das geht, steht hier. Das kannst du auch noch nachträglich ändern.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 16:30
Beitrag #3
RE: Hilfe mit Funktinen/Bedingungen
@TO: Wofür ist das Array keyCode da? Du verwendest es nicht.
Es wäre für die Verständlichkeit Deines Codes wesentlich besser, wenn Du mit benannten Konstanten für die Tastencodes arbeiten würdest. z.B.:
(Wenn ich das ungenutzte Array richtig interpretiert habe)
Code:
const byte CapsLock = 193;
....

Keyboard.press(CapsLock);
...
Keyboard.release(CapsLock);


Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 18:58 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2020 19:00 von maxxctv.)
Beitrag #4
RE: Hilfe mit Funktinen/Bedingungen
Okay, den Beitrag hab ich editiert - sollte nun besser lesbar sein.

Array keyCod:

Ich habe den code irgedwie aus Fetzen zusammen gesetzt.
(hat mich auch überrascht das er soweit funktioniert hat)
Hatte vorher auch nie etwas damit zu tun.
Deshalb kann ich Dir nicht sagen warum ich das so gemacht habe.
Wie soll ich denn da ran gehen?

Ich glaube ich hatte gelesen, dass es für den NUM-Block keinen Tastencode
gibt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 19:06
Beitrag #5
RE: Hilfe mit Funktinen/Bedingungen
(11.01.2020 18:58)maxxctv schrieb:  Okay, den Beitrag hab ich editiert - sollte nun besser lesbar sein.
Von den benannten Konstanten sehe ich aber noch nichts.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 19:17
Beitrag #6
RE: Hilfe mit Funktinen/Bedingungen
Zum Numpad hat mir Google folgendes gezeigt.

Ich kann es mangels Leonardo nicht testen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 19:17
Beitrag #7
RE: Hilfe mit Funktinen/Bedingungen
Ich hab kein Dunst von "Konstanten" deshalb bin ich ja hier.
Wie gesagt, die gesamte Hardware ist fertig und verdratet.
Alles funktioniert inerhalb der Anwendung am PC.
Nur bleibt "Strg" gedrückt bis ich auf der richtigen Tastatur einmal "Strg" drücke.
Danach ist es zurück gesetzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2020, 19:21
Beitrag #8
RE: Hilfe mit Funktinen/Bedingungen
(11.01.2020 19:17)maxxctv schrieb:  Ich hab kein Dunst von "Konstanten" deshalb bin ich ja hier.
Aber lesen kannst Du doch und nachfragen, wenn Du eine Antwort von uns nicht verstanden hast?
Ich habe Dir doch ein Beispiel in 3 gezeigt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Benötige dringende Hilfe bei CHAR DO3GE 4 212 07.10.2020 10:41
Letzter Beitrag: Tommy56
  RGB Controller Hilfe bei der Programmierung Jumbo_27 1 291 15.08.2020 17:32
Letzter Beitrag: Tommy56
  Brauch Hilfe bei Laser Nevelierung mit Traktor Schild SiR WonG 4 725 26.07.2020 10:00
Letzter Beitrag: SiR WonG
  Wie mehrere Bedingungen in if-Definition einbauen? Gelegenheitsbastler 7 30.305 18.05.2020 09:53
Letzter Beitrag: SimonTau
  Hilfe Millis treibt mich in den Wahnsinn Nefrett 17 1.715 04.05.2020 20:53
Letzter Beitrag: Tommy56
  Brauche Hilfe, Was Stimmt an meinem Sketch nicht Andi-1090 12 1.349 20.03.2020 10:04
Letzter Beitrag: hotsystems
  Bitte um Hilfe für ein Arduino Nano Andi-1090 14 1.475 08.03.2020 14:55
Letzter Beitrag: Andi-1090
  brauche Hilfe, zeitlicher Ablauf tolotos789 9 1.382 05.03.2020 13:34
Letzter Beitrag: MicroBahner
  Hilfe bei Facharbeit anonymertom 6 1.068 03.03.2020 00:44
Letzter Beitrag: Bitklopfer
  COM Port Hilfe HeikeF 8 1.600 03.01.2020 09:26
Letzter Beitrag: HeikeF

Gehe zu:


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