Show Posts
Pages: [1]
1  International / Deutsch / Re: Codeschnipsel Erklärung on: October 04, 2012, 05:00:23 am
in deinem Post hast du folgenen code angeben
Code:
tasten[index-3] * 1000 + tasten[index-2] * 100 + tasten[index - 1 ] * 10 + tasten[index]; 
eklariert war der code 6789
6bekommt den index 0 7 den index1 8 den Index2 und 9den index 3

in den index wird dochder dezimalwert von DTMF gespeichert ? richtig

ich bin davon ausgegangen bei deinem beispiel dass z.B inex 3 damiteinemwertvon 9-3*1000 also 6000 speichert bei
an bei mal den Serialausdruck von DTMF und index sowie ob der WERT bestanden oder falsch ist

6
0
7
1
8
2
falsch
9
3
6
0
7
1
8
2
bestanden
2  International / Deutsch / Re: Codeschnipsel Erklärung on: October 03, 2012, 02:40:13 pm
ich habe nun versucht den code anzupassen allerings bricht mirmein code bei 3 eingaben schon direkt ab
Code:
void code(){
if (dtmf == 6) dial = dial + "6";
if (dtmf == 7) dial = dial + "7";
if (dtmf == 8) dial = dial + "8";
if (dtmf == 9) dial = dial + "9";
if (dtmf == 12) dial = dial + "#";
lcd.setCursor(0,1) ; // Prints on 2nd row ist column
lcd.print(dial);
tasten[index] = dtmf; //wert von dtmf an die aktuelle Stelle (index) in das Array schreiben
index++;
if(index==5) {
index = 0; }
if(index==4) {
int wert = tasten[index] + tasten[index] + tasten[index] + tasten[index]+ tasten[index]; Serial.print(wert);
//prüfen, ob die tastenfolge eingegeben wurde
if(wert == 42) {
  digitalWrite(2,1);
index=0; } else {
lcd.clear();
  lcd.print("Code falsch");
delay(3000);
resetFunc();
3  International / Deutsch / Re: Codeschnipsel Erklärung on: October 03, 2012, 10:27:50 am
wie ihr seht bin absoluter neuling und versuche gerade durch code schnipsel durch zusteigen kann mir einer das mit den arrays erklären ?
4  International / Deutsch / Re: Platinen ätzen oder ätzen lassen? on: October 03, 2012, 07:40:38 am
Deine Ätzmaschine würde mich mal interessieren weil auch ich mit dem Gedanken spiele mir soetwas zu bauen
5  International / Deutsch / Re: Codeschnipsel Erklärung on: October 03, 2012, 07:34:37 am
Hallo wie bekomme ich es denn hin dass wenn dtmf6 und  dtmf7 und dtmf8 und dtmf9 nach einander gedrückt wurden er mir ein high ausgibt ,ich habe es so versucht geht aber nícht 
  if (dtmf == 6) && (dtmf == 7) && (dtmf == 8 ) && (dtmf == 9) ;
digitalWrite (2,1)
6  International / Deutsch / Re: Codeschnipsel Erklärung on: October 02, 2012, 04:51:50 am
wie bekommeichdenn hin dass er bei * den PIN 2 auf high setzt
Code:
if (dtmf == 0) dial = dial + "D";
if (dtmf == 1) dial = dial + "1";
if (dtmf == 2) dial = dial + "2";
if (dtmf == 3) dial = dial + "3";
if (dtmf == 4) dial = dial + "4";
if (dtmf == 5) dial = dial + "5";
if (dtmf == 6) dial = dial + "6";
if (dtmf == 7) dial = dial + "7";
if (dtmf == 8) dial = dial + "8";
if (dtmf == 9) dial = dial + "9";
if (dtmf == 10) dial = dial + "0";
if (dtmf == 11) dial = dial + "*";
if (dtmf == 12) dial = dial + "#";
if (dtmf == 13) dial = dial + "A";
if (dtmf == 14) dial = dial + "B";
if (dtmf == 15) dial = dial + "C";

lcd.setCursor(0,1); 
lcd.print(dial);   
7  International / Deutsch / Re: Codeschnipsel Erklärung on: October 02, 2012, 04:33:50 am
thanks a lot ,jetzt ist der Groschen gefallen
8  International / Deutsch / Codeschnipsel Erklärung on: October 02, 2012, 04:09:17 am
Hallo kann mir jemand diesen Codeschnipsel erklären ?
Code:
dtmf = 0;
if (digitalRead(A0) == HIGH) dtmf = dtmf + 1;
if (digitalRead(A1) == HIGH) dtmf = dtmf + 2;
if (digitalRead(A2) == HIGH) dtmf = dtmf + 4;
if (digitalRead(A3) == HIGH) dtmf = dtmf + 8;
9  International / Deutsch / Re: Tastatur auf LCD anzeigen on: October 01, 2012, 08:19:41 am
Wenn ich das setup nicht aufrufe erkennt er mir keine auswertung mehr.
mit demLCD.print sendet er mir immer nur eine zahl an eine stelle
also
lcd.print(DTMF_1): sendet mir auf dasDisplay 1111111111111111  also16 mal1
lcd.print(DTMF_2): sendet mir auf dasDisplay 2222222222222222  also16 mal2
eigentlich sollte es aber auf demDispaly so aussehen  12
10  International / Deutsch / Re: Tastatur auf LCD anzeigen on: October 01, 2012, 07:43:51 am
hier daswasichbis jetzt geschafft habe :
ob das alles korrekt ist keine Ahnung aber es tut was ich will bis jetzt

#include <LiquidCrystal.h>
# define RS 8
# define E 9
# define D4 4
# define D5 5
# define D6 6
# define D7 7
# define COLS 16
# define ROWS 2
LiquidCrystal lcd(RS,E, D4, D5, D6, D7);
int q11 = A0;// 8870 pin 11
int q12 = A1;// 8870 pin 12
int q13 = A2;// 8870 pin 13
int q14 = A3;// 8870 pin 14
int q15 = A4;// 8870 pin 14
int DTMFA = 2;// DTMF auswertung für A
int DTMFB = 3;// DTMF auswertung für B
int DTMFelse = A5;//DTMF auswertung für alle anderen DTMF Werte
int qr11 ; //Variable für read für 8870 Ausgänge mit Kontrolle q15
int qr12 ; //Variable für read für 8870 Ausgänge mit Kontrolle q15
int qr13 ; //Variable für read für 8870 Ausgänge mit Kontrolle q15
int qr14 ; //Variable für read für 8870 Ausgänge mit Kontrolle q15
int qr15 ; //Variable für read für 8870 Ausgänge mit Kontrolle q15
const int DTMF_1 = 1;
const int DTMF_2 = 2;
const int DTMF_3 = 3;
const int DTMF_4 = 4;
const int DTMF_5 = 5;
const int DTMF_6 = 6;
const int DTMF_7 = 7;
const int DTMF_8 = 8;
const int DTMF_9 = 9;
const int DTMF_0 = 0;
void setup() { 
  Serial.begin(9600);
  pinMode(q11,INPUT);
  pinMode(q12,INPUT);
  pinMode(q13,INPUT);
  pinMode(q14,INPUT);
  pinMode (q15,INPUT);
  pinMode(DTMFA,OUTPUT);
  pinMode(DTMFB,OUTPUT);
  pinMode(DTMFelse,OUTPUT);
  digitalWrite(DTMFA, 0) ;
  digitalWrite(DTMFB, 0) ;
  digitalWrite(DTMFelse, 0);
  lcd.begin(16, 1);
  lcd.setCursor(1,0);
  lcd.print("Betriebsbereit");

}
void loop () {
  qr11=digitalRead(q11);
  qr12=digitalRead(q12);
  qr13=digitalRead(q13);
  qr14=digitalRead(q14);
  qr15=digitalRead(q15);
  // Auswertung DTMF-A
if ((qr11 == 1)  && (qr12 == 0)  && (qr13 == 1)  && (qr14 == 1) && (qr15 == 1)) {
    digitalWrite(DTMFA, 1) ;
    digitalWrite(DTMFB, 0) ;
    digitalWrite(DTMFelse, 0) ;
      lcdout_A();
  }
if ((qr11 == 0)  && (qr12 == 1)  && (qr13 == 1)  && (qr14 == 1)&& (qr15 == 1)) {
    digitalWrite(DTMFB, 1);
    digitalWrite(DTMFA, 0) ;
    digitalWrite(DTMFelse, 0) ;
    Serial.print(digitalRead(3));
    lcdout_B();
  }
if   ((qr11 == 1)  && (qr12 == 0)  && (qr13 == 0)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-1
      digitalWrite(DTMFelse, 1) ;
     lcd.print(DTMF_1)  ;     
   }
   if   ((qr11 == 0)  && (qr12 == 1)  && (qr13 == 0)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-2
      digitalWrite(DTMFelse, 1) ;
      lcd.print(DTMF_2) ;
         
   }
   if   ((qr11 == 1)  && (qr12 == 1)  && (qr13 == 0)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-3
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 0)  && (qr13 == 1)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-4
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 1)  && (qr12 == 0)  && (qr13 == 1)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-5
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 1)  && (qr13 == 1)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-6
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 1)  && (qr12 == 1)  && (qr13 == 1)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-7
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 0)  && (qr13 == 0)  && (qr14 == 1)&& (qr15 == 1)){ // DTMF-8
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 1)  && (qr12 == 0)  && (qr13 == 0)  && (qr14 == 1)&& (qr15 == 1)){// DTMF-9
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 1)  && (qr13 == 0)  && (qr14 == 1)&& (qr15 == 1)){ // DTMF-0
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 1)  && (qr12 == 1)  && (qr13 == 0)  && (qr14 == 1)&& (qr15 == 1)){// DTMF-*
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 0)  && (qr13 == 1)  && (qr14 == 1)&& (qr15 == 1)){// DTMF-#
      digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 1)  && (qr12 == 1)  && (qr13 == 1)  && (qr14 == 1)&& (qr15 == 1)){// DTMF-C
    digitalWrite(DTMFelse, 1) ;
   }
   if   ((qr11 == 0)  && (qr12 == 0)  && (qr13 == 0)  && (qr14 == 0)&& (qr15 == 1)){// DTMF-D
    digitalWrite(DTMFelse, 1) ;
 }}
void lcdout_A(){
lcd.clear();
lcd.begin(16, 1);
lcd.setCursor(3,2);
lcd.print("Amtsholung");
delay(2000);
lcd.clear();
lcd.print("Warte Rufnr.");
void setup ();
  }
void lcdout_B(){
lcd.clear ();
lcd.begin(16, 1);
lcd.setCursor(3,2);
lcd.print("Aufgelegt");
void setup ();
delay(1500);
lcd.clear();
lcd.begin(16, 1);
lcd.setCursor(1,2);
lcd.print("Betriebsbereit");
void setup ();
11  International / Deutsch / Re: Tastatur auf LCD anzeigen on: October 01, 2012, 07:04:20 am
mhmmm ...... ähmmm ja no plan.....
meine einzelnen DTMF Töne werden wie folgt ausgewertet
if   ((qr11 == 1)  && (qr12 == 0)  && (qr13 == 0)  && (qr14 == 0)&& (qr15 == 1)){ // DTMF-1
      digitalWrite(DTMFelse, 1) ;
   

Das heisst jede gesendete Bitfolge (gesendeter Mehrfrequenz Wählton) gibt mir ein Hihg zurück auf den PIN DTMFelse

leider sin meine Programmierkenntnise zu rudimentär um jetzt zu wissen wie ich diesen erhaltenen Wert nun "speichern" kann und diese da es die erste gewählte Ziffer ist auf dem Display an Position 1 ausgeben kann .In isem Fall also die gewählte >Ziffer 1
12  International / Deutsch / Re: Tastatur auf LCD anzeigen on: October 01, 2012, 06:19:31 am
okay das ist dann doch zuwenig input für mich ;-)
13  International / Deutsch / Tastatur auf LCD anzeigen on: September 30, 2012, 08:54:00 pm
Hallo ich suche schon den ganzen Tag im I-net und finde keine Lösungsansätze. ich habe eine Auwertung von 4 Bit mitdem arduino programmiert. der Arduino wertet mir Mehrfrequenztöne aus. Nun möchte ich diese auf dem LCD Display anzeigen lassen und zwar in der Reihenfolge wie sie gedrückt werden hintereinander. Sprich man drückt
zum Beispiel die tasten 1 und 2 dann ergibt das einmal den 4 bit string 0001 für die Ziffer 1 und 0010 für die Ziffer zwei auf dem Display soll angezeigt werden 12. hat hier jemand einen Lösungsansatz für mich?
14  International / Deutsch / Re: 4 Bit Auswertung on: September 26, 2012, 11:46:42 am
cool vielen dank für die schnelle info
15  International / Deutsch / 4 Bit Auswertung on: September 26, 2012, 08:59:33 am
Hallo ich bin komplett neu in dieser Materie und habe eine Frage ob dies was ich vor habe auch umsetzt bar ist. Auch wenn wenn meine Frage sicherlich sehr banal ist....
Angenommen ich habe eine 4 Bit Zeichenfolge aus einer Schaltung.Diese vier Bit möchte ich einlesen und bei einem bestimmten Bit-Wort einen Ausgang so lange auf High schalten bist eine bestimmte andere Bitfolge kommt.
zur Verdeutlichung

Pin1 hat den Wert 1
Pin2 hat den Wert 1
Pin3 hat den Wert 0
Pin4 hat den Wert 1

Bei diesem 4 Bit Wort soll als Beispiel PIN 13 auf High gehen und High bleiben
kommt nun an

Pin1 hat den Wert 1
Pin2 hat den Wert 1
Pin3 hat den Wert 1
Pin4 hat den Wert 0

Soll bin 13 auf Low gehen

ich denke doch mal das so etwas ohne Probleme möglich sein sollte ? Wie könnte dazu der Code aussehen ?

Grüsse aus dem schönen Münsterland

Marco
Pages: [1]