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
Arduino wie LCD, Keypad und Servo anschließen
26.09.2014, 15:24
Beitrag #9
RE: Arduino wie LCD, Keypad und Servo anschließen
Hi,
das ist doch schon mal ein Erfolg, oder?
Jetzt wuerde ich an Deiner Stelle mal nicht nur zwei der anderen Pins "messen", sondern alle. Dann jede einzelne Taste druecken und Dir den zugehoerigen Zustand von jedem Pin in eine Tabelle eintragen. Wenn Du Glueck hast, dann kannst Du damit schon die Tasten eindeutig identifizieren.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2014, 16:39 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2014 17:14 von AlexGPS.)
Beitrag #10
RE: Arduino wie LCD, Keypad und Servo anschließen
(26.09.2014 15:24)Thorsten Pferdekämper schrieb:  Hi,
das ist doch schon mal ein Erfolg, oder?
Jetzt wuerde ich an Deiner Stelle mal nicht nur zwei der anderen Pins "messen", sondern alle. Dann jede einzelne Taste druecken und Dir den zugehoerigen Zustand von jedem Pin in eine Tabelle eintragen. Wenn Du Glueck hast, dann kannst Du damit schon die Tasten eindeutig identifizieren.
Gruss,
Thorsten

Ich habe mal einen Sketch runtergeladen und für mein LCD und die ganzen pins vom Keypad umprogrammiert.
Ich hab geschafft dass die Eingegebene Nummer auf dem Keypad auf dem LCD angezeigt wird. Der Code:

Zitat:#include <Wire.h>
#include <LiquidCrystal.h>
#include <Keypad.h>

const byte rows = 4;
const byte cols = 4;

char keys[rows][cols] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[rows] = {13,10,9,8};
byte colPins[cols] = {7,6,1,0};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
   lcd.begin(16, 2);
  lcd.clear();
  
 
  lcd.print("You Pressed:");

}

void loop()
{
  char key = keypad.getKey();
  
  if (int(key) != 0) {
    lcd.setCursor(0,1);
    lcd.print(key);
  }
}

Jetzt klappt alles soweit. Keypad gibt perfekt die eingegebenen Daten an das Arduino und der Code den ich einprogrammiert habe funktioniert einwandfrei.
Sobald der Richtige Code eingegeben wird, erscheint ein TOTAL ACCES auf dem LCD und wenn ein falscher Code eingegeben wird kommt ACCES DENIED. Genauso wie ich es haben wollte. Allerdings muss ich noch meinen Servo anschließen um den Geocache zu öffnen. Aber durch das LCD und das Keypad sind alle digitalpins von 0-13 schon belegt. Kann ich den Servo auch an einen Analog Pin anschließen und dahingehend programmieren?

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2014, 17:34 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2014 18:13 von Bitklopfer.)
Beitrag #11
RE: Arduino wie LCD, Keypad und Servo anschließen
schau dir mal das Datenblatt an. Diese Tastatur dürfte dem anschein nach einen gleichartigen Anschluß haben wie deine Tastatur...einfach mal so anschließen und kucken was geht.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2014, 17:49
Beitrag #12
RE: Arduino wie LCD, Keypad und Servo anschließen
(26.09.2014 17:34)Bitklopfer schrieb:  schau dir mal das Datenblatt an. Diese Tastatur dürfte dem anschein nach einen gleichartigen Anschluß haben wie deine Tastatur...einfach mal so anschlißen und kucken was geht.
lg
bk

Danke für das Datenblatt aber wie du in meinem Obigen Bericht siehst hab ich schon alles außer den Servo angeschlossen und es funzt Big Grin
Da ich aber keinen Digital Pin mehr frei habe, müsste ich wissen ob ich die Signalleitung vom Servo auch an die Analog Pin stecken kann

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2014, 18:12
Beitrag #13
RE: Arduino wie LCD, Keypad und Servo anschließen
(26.09.2014 17:49)AlexGPS schrieb:  
(26.09.2014 17:34)Bitklopfer schrieb:  schau dir mal das Datenblatt an. Diese Tastatur dürfte dem anschein nach einen gleichartigen Anschluß haben wie deine Tastatur...einfach mal so anschlißen und kucken was geht.
lg
bk

Danke für das Datenblatt aber wie du in meinem Obigen Bericht siehst hab ich schon alles außer den Servo angeschlossen und es funzt Big Grin
Da ich aber keinen Digital Pin mehr frei habe, müsste ich wissen ob ich die Signalleitung vom Servo auch an die Analog Pin stecken kann

Gruß
Alex

joah logo, du kannst einen Analog Pin als Digital Out deklarieren
pinMode( A2, OUTPUT); und Pullup geht auch... der Analogeingang ist eh nur eine Zweitfunktion auf diesen Pin's, also da geht auch digital In.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2014, 18:28
Beitrag #14
RE: Arduino wie LCD, Keypad und Servo anschließen
(26.09.2014 18:12)Bitklopfer schrieb:  
(26.09.2014 17:49)AlexGPS schrieb:  
(26.09.2014 17:34)Bitklopfer schrieb:  schau dir mal das Datenblatt an. Diese Tastatur dürfte dem anschein nach einen gleichartigen Anschluß haben wie deine Tastatur...einfach mal so anschlißen und kucken was geht.
lg
bk

Danke für das Datenblatt aber wie du in meinem Obigen Bericht siehst hab ich schon alles außer den Servo angeschlossen und es funzt Big Grin
Da ich aber keinen Digital Pin mehr frei habe, müsste ich wissen ob ich die Signalleitung vom Servo auch an die Analog Pin stecken kann

Gruß
Alex

joah logo, du kannst einen Analog Pin als Digital Out deklarieren
pinMode( A2, OUTPUT); und Pullup geht auch... der Analogeingang ist eh nur eine Zweitfunktion auf diesen Pin's, also da geht auch digital In.
lg
bk

Naja da brauche ich ein wenig Hilfe.
Ich möchte ja den servo auf eine Gewisse stellung bringen wenn der Code akzeptiert wurde.
Dazu muss ich ja bestimmt was mit if machen oder?
Hier mal mein jetziger Code:


Zitat:#include <Wire.h>
#include <LiquidCrystal.h>
#include <Keypad.h>


//set our code
char* ourCode = "8219";
int currentPosition = 0;

//define the keypad
const byte rows = 4;
const byte cols = 4;

char keys[rows][cols] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[rows] = {13,10,9,8};
byte colPins[cols] = {7,6,1,0};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  lcd.begin(16, 2);
  lcd.clear();
  
  displayCodeEntryScreen();
  
  
  
}

void loop()
{
  int l;
  
  char key = keypad.getKey();
  
  if (int(key) != 0) {
    lcd.print(" ");
    lcd.setCursor(0,1);
    
    for (l=0; l<=currentPosition; ++l)
    {
      lcd.print("*");
    }
    
    if (key == ourCode[currentPosition])
      {
        ++currentPosition;
        if (currentPosition == 4)
        {
          unlockDoor();
          currentPosition = 0;
        }
      } else {
        invalidCode();
        currentPosition = 0;
      }
    
    
  }
}

void invalidCode()
{
  clearScreen();
  lcd.setCursor(0,0);
  lcd.print("*ACCESS DENIED!*");
  lcd.setCursor(0,1);
  lcd.print("**!VERWEIGERT!**");
  
  
  delay(5000);
  displayCodeEntryScreen();
}

void unlockDoor()
{
  clearScreen();
  lcd.setCursor(0,0);
  lcd.print("**TOTAL ACCESS**");
  lcd.setCursor(0,1);
  lcd.print("*ZUGRIFF SYSTEM*");
  
  //add any code to unlock the door here
  delay(5000);
  displayCodeEntryScreen();
}

void displayCodeEntryScreen()
{
  lcd.print("[!]:./action.");
  
  ;delay(1000)

;lcd.setCursor(0,1);
;lcd.print("[!]SYSTEM.REBOOT");

;delay(1000)

;lcd.clear();
;lcd.print("[!]:./initiating.");

;delay(1000)

;lcd.setCursor(0,1);
;lcd.print("[!]:./array_all");

;delay(1000)

;lcd.clear();
;lcd.print("[!]:./array_all");

;delay(1000)

;lcd.setCursor(0,1);
;lcd.print("[!]System Online");

;delay(2000)

;lcd.clear();
;lcd.print("GC*****");

;delay(2000)

;lcd.setCursor(0,1);
;lcd.print("******!");

delay(2000)

;lcd.clear();
;lcd.print("Station:");

;delay(1000)

;lcd.clear();
;lcd.print("Northern Lights");

;delay(1000)

;lcd.setCursor(0,1);
;lcd.print("Die Machine");

;delay(3000)

  ;lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Enter Code:");

}

void clearScreen()
{
  lcd.setCursor(0,0);
  lcd.print(" ");
  lcd.setCursor(0,1);
  lcd.print(" ");
}

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.09.2014, 11:31
Beitrag #15
RE: Arduino wie LCD, Keypad und Servo anschließen
Ich habe jetzt den servo an den analogen pin 2 angeschlossen.
Ich würde gern das programm so umändern, dass der Serco nach dem einlegen der batterieen auf position 90 ° bleibt bis der Passcode richtig eingegeben wurde und dann auf 180° springt. ein knopf den ich noch anbaue, soll dann dafür sorgen dass der servo nach dem scließen der box wieder auf position 90 geht. aber ich weiß nicht wo und wie genau ich diese befehle hinschreiben muss.

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.09.2014, 10:38
Beitrag #16
RE: Arduino wie LCD, Keypad und Servo anschließen
Könnte mir da noch jemand helfen?

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Exclamation Wie viel LEDs kann man anschließen? Benny0016 2 478 17.05.2016 21:58
Letzter Beitrag: hotsystems
  Per Keypad Shield zwischen zwei Programmen schalten Rob-LE 9 916 09.03.2016 14:27
Letzter Beitrag: iks77
  UTFT an Arduino mega mit Flachbandkabel anschließen Jensus 1 874 03.10.2015 12:52
Letzter Beitrag: hotsystems
  Servo zu wenig Leistung eddykett 9 1.451 25.08.2015 21:08
Letzter Beitrag: diode1990
  Photowiderstand direkt am Arduino Board anschließen C++Developer2000 8 1.429 21.08.2015 12:11
Letzter Beitrag: C++Developer2000
  Shild-Wahl für Servo-Steuerung SkyFox 9 1.114 23.07.2015 12:49
Letzter Beitrag: SkyFox
  Lichtschranke anschließen paq 11 2.265 07.06.2015 17:05
Letzter Beitrag: Thorsten Pferdekämper
  LCD Anzeige für Arduino Mega2560 an Arduino Due? DaniDD 1 802 03.06.2015 12:16
Letzter Beitrag: DaniDD
  US-100 Ulraschallsensor anschließen maierreini 5 1.796 16.05.2015 14:08
Letzter Beitrag: Gelegenheitsbastler
  Arduino Pin mit anderem Arduino auslesen - geht das? Gelegenheitsbastler 8 3.203 08.05.2015 20:49
Letzter Beitrag: Bitklopfer

Gehe zu:


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