das mit dem Arduino Simmulator ist eine schöne Sache, nur hab ich es noch nicht geschafft ihn nutzbar aufzurufen. wie geht das?
wie ist das eigentlich mit der Lösung? hab nur noch die passende Display-I2C Schnittstelle mit IC PCF8574, der auf den China Modulen sitzt und einen eigenen Treiber benötigt und an Pin A4 und A5 angeschlossen wird, sowie die Tastaturanschlüsse auf 2-9 geändert und das als Lösung markiert
bekommt Ihr für eure Mühe mir zu helfen Punkte und muß ich dafür euern Sketch als Lösung markieren? oder ist die Endlösung markieren richtig?
den hilfreichsten Beitrag auswählen und drunter "Markieren als Lösung" drücken. Eigenen Beitrag markieren Sie wenn niemand geholfen hat und Sie selbst nach einer Zeit Lösung gefunden und darüber Beitrag geschrieben haben. Es ist schon zweites mal, planen Sie immer so machen?
hat das die gleiche Person geschrieben?
Gräm Dich nicht.
Das wirst Du noch sehr oft erleben.
Las die sich selbst markieren. Besser als gar nicht.
Es ist keine Absicht und ich komme est nach und nach hinter das System hier, drum hab ich ja gefragt. Ich bin auch dankbar für Eure Hilfe und hoffe das Ihr weiterhin solch gute Unterstützung gebt. Die Lösung war für mich noch nicht nutzbar, drum glaubte ich die bei mir laufende Lösung ewentuellen Nachnutzern anbieten zu müssen. Ich habe ja wegen den verschiedenen Treibern auch ewig gesucht bis ich die Lösung hatte, deshalb glaubte ich die Endlösung zu markieren ist richtig. Wie läuft das eigentlich, steht Ihr im Wettbewerb für die Meisten Erfolge und gibt es da Punkte ???
Ich hab die Lösung, auch im ersten Sketch, geändert und Euch den Erfolg zugesprochen.
Und wie wird auf deutsch begrenzt, habe verzweifelt gesucht aber nichts gefunden.
--- ist für meinen 8 Jährigen Enkel ---
3xAAA sind auf der Rückseite in einem Batteriefach + 1 DinA4 Seite mit Erläuterungen
für Interessierte hier der optimierte Code:
//Arduino + 4x4 Tasten + LCD 2004
#include "Keypad.h" // 4x4 Tastatur an Pin 2-9 anschließen
#include <LiquidCrystal_I2C.h> // LCD2004
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 20, 4); // mit HW61 Modul, Pin A4-SDA,A5-SCL,-,+5V
char H[3];
char L[3];
//Hier wird die größe des Keypads festgelegt
const byte KEYPAD_ROWS = 4; // Anzahl Zeilen
const byte KEYPAD_COLS = 4; // Anzahl Spalten
byte rowPins[KEYPAD_ROWS] = {2, 3, 4, 5}; //Definition der Pins für die Zeilen
byte colPins[KEYPAD_COLS] = {6, 7, 8, 9}; //Definition der Pins für die Spalten
//Die Ziffern und Zeichen des Keypads werden eingegeben:
char keys[KEYPAD_ROWS][KEYPAD_COLS] = {
{'F', 'E', 'D', 'C'}, // 4x4 Tastatur so
{'B', 'A', '9', '8'}, // auf Hexadezimal umrüsten
{'7', '6', '5', '4'}, // # und * mit E und F beschriften
{'3', '2', '1', '0'}
};
Keypad keypad(makeKeymap(keys), rowPins, colPins, KEYPAD_ROWS, KEYPAD_COLS);
void setup() {
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0); lcd.print(" FEDC BA98 7654 3210");
lcd.setCursor(0, 1); lcd.print(" 0000 0000 0000 0000");
lcd.setCursor(0, 2); lcd.print(" HEX = 00 00");
lcd.setCursor(0, 3); lcd.print(" Dez = 0 ");
}
void loop() {
static byte pos = 0;
static uint16_t Total = 0;
char key = keypad.getKey();
if (key) {
if (key > '9')key -= 7;
key -= '0';
Total = Total ^ (1 << key);
lcd.setCursor(1, 1);
for (byte i = 16; i > 0; i--) {
lcd.print(Total & 1 << i-1?'1':'0');
if (i % 4 == 1)lcd.print(' ');
}
sprintf (H, "%02X", Total >> 8);
sprintf (L, "%02X", Total & 0xFF);
lcd.setCursor(15, 2);
lcd.print(H);
lcd.setCursor(18, 2);
lcd.print(L);
lcd.setCursor(15, 3);
lcd.print(" ");
lcd.setCursor(15, 3);
lcd.print(Total);
if (++pos == 4)pos = 0;
}
}
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
