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
  COM Port Hilfe HeikeF 8 385 03.01.2020 09:26
Letzter Beitrag: HeikeF
  433Mhz RX + LED Matrix = Hilfe?! Till1 36 1.665 10.12.2019 13:42
Letzter Beitrag: Tommy56
  Anfänger braucht Hilfe Schrittmotorsteuerung für den Hund dg8ngj 4 597 25.08.2019 17:00
Letzter Beitrag: dg8ngj
  Hilfe für Kita-Projekt gesucht. cyberiss 8 1.288 06.08.2019 07:57
Letzter Beitrag: Der Hobbyelektroniker
  Brauche Hilfe bei Arrays mega-hz 23 2.002 10.07.2019 15:59
Letzter Beitrag: MartinZ
  Hilfe benötigt bei der folgenden Aufgabe hanneswave 10 1.248 01.07.2019 18:08
Letzter Beitrag: Wochenendprogrammierer
  Oled 0.91 wechselnde Anzeige . Benötige hilfe MotD 6 1.281 24.03.2019 22:48
Letzter Beitrag: Bitklopfer
  Simon Says bzw. Senso - Spiel bitte Hilfe Riddle 3 1.019 15.03.2019 13:46
Letzter Beitrag: Tommy56
  Hilfe benötigt beim Verknüpfen von Klassen Batucada 7 1.151 02.03.2019 23:47
Letzter Beitrag: georg01
  Hilfe bei Formulierung der Frage Matt 3 1.116 23.02.2019 12:45
Letzter Beitrag: Tommy56

Gehe zu:


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