Hallo
Möchte das RF-Power-Meter mittels Arduino Uno und LCD Keypad realisieren
und brauche Hilfe bei einer Codeänderung. Ich hoffe mir damit die
Änderung der Hardware (wenn möglich) zu ersparen da ich ohne das
Display, was leider fest aufgelötet ist, zu entfernen nicht an die
entspr. Leiterbahnen heran komme. Das mit der anderen Belegung für die
Display Pin´s habe ich ja noch selbst hinbekommen, obwohl mir nicht ganz
klar ist warum der R/W Pin bei der orig. Schaltung an D11 liegt. Das
Display zeigt zumindestens schon mal was an ;-)
Bei der erforderlichen Änderung der UP, Down, Enter/Select (LEFT, RIGTH
wird nicht benötigt) Tasten hört bei mir dann aber das Verständnis für
den Code auf obwohl der Code in der KEYPAD_TEST ja eigendlich als
Beispiel schon vorhanden wäre:
1 | // define some values used by the panel and buttons
|
2 | #define btnRIGHT 0
|
3 | #define btnUP 1
|
4 | #define btnDOWN 2
|
5 | #define btnLEFT 3
|
6 | #define btnSELECT 4
|
7 | #define btnNONE 5
|
8 | int lcd_key = 0;
|
9 | int adc_key_in = 0;
|
10 |
|
11 | int read_LCD_buttons()
|
12 | //function for detection of pressed keypad button
|
13 | {
|
14 | adc_key_in = analogRead(0);
|
15 | // read the analog value from the sensor
|
16 | if (adc_key_in > 1000) return btnNONE;
|
17 | // We make this the 1st option for speed reasons since
|
18 | it will be the most likely result
|
19 | if (adc_key_in < 50) return btnRIGHT;
|
20 | if (adc_key_in < 195) return btnUP;
|
21 | if (adc_key_in < 380) return btnDOWN;
|
22 | if (adc_key_in < 555) return btnLEFT;
|
23 | if (adc_key_in < 790) return btnSELECT;
|
24 | return btnNONE; // when all others fail, return this...
|
Es wäre nett wenn mir jemand von den AVR Spezis dabei helfen könnte ;-)
Gruß