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
28.09.2014, 13:46
Beitrag #17
RE: Arduino wie LCD, Keypad und Servo anschließen
Hi,
es gibt eine Servo-Library. Damit einfach im setup auf 90° einstellen.
Dann in unlockDoor auf 180°.
Das "Tür zu" fragst Du in loop regelmäßig ab und stellst je nachdem das Servo wieder auf 90°.
Gruß,
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
28.09.2014, 17:43
Beitrag #18
RE: Arduino wie LCD, Keypad und Servo anschließen
(28.09.2014 13:46)Thorsten Pferdekämper schrieb:  Hi,
es gibt eine Servo-Library. Damit einfach im setup auf 90° einstellen.
Dann in unlockDoor auf 180°.
Das "Tür zu" fragst Du in loop regelmäßig ab und stellst je nachdem das Servo wieder auf 90°.
Gruß,
Thorsten

Wow cool. Schonmal Danke:
Funktioniert ganz gut. Ich würde jetzt noch gerne den Code so erweitern, dass wenn man die "*"-Taste drückt, der Servo wieder auf 90° geht. Könnt ihr mir damit noch helfen?
Hier mein bisheriger Code:
Zitat:#include <Wire.h>
#include <LiquidCrystal.h>
#include <Keypad.h>
#include <Servo.h>


Servo myservo;


//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()
{
  pinMode(A2,OUTPUT);
  myservo.attach(A2);
  myservo.write(180);
  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()
{
  myservo.write(20);
  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("GC5AXQ4");

;delay(2000)

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

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
28.09.2014, 19:29
Beitrag #19
RE: Arduino wie LCD, Keypad und Servo anschließen
...na einfach in loop() wenn Du die Taste "*" feststellst das Servo bewegen.
Wer hat denn den bisherigen Code geschrieben?
Gruß,
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
28.09.2014, 19:42
Beitrag #20
RE: Arduino wie LCD, Keypad und Servo anschließen
(28.09.2014 19:29)Thorsten Pferdekämper schrieb:  ...na einfach in loop() wenn Du die Taste "*" feststellst das Servo bewegen.
Wer hat denn den bisherigen Code geschrieben?
Gruß,
Thorsten

Also bei loop:
if(key=*)
{servobefehl}
????

Da brauche ich echt hilfe. weiß nicht wie das programmiert werden soll.
Den Code habe ich aus dem Link von einem Youtubevideo

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.09.2014, 15:56
Beitrag #21
RE: Arduino wie LCD, Keypad und Servo anschließen
Also bei loop:
if(key=*)
{servobefehl}
????

Da brauche ich echt hilfe. weiß nicht wie das programmiert werden soll.
Den Code habe ich aus dem Link von einem Youtubevideo

Gruß
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.10.2014, 13:36
Beitrag #22
RE: Arduino wie LCD, Keypad und Servo anschließen
Kann mir noch jemand helfen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.10.2014, 13:42
Beitrag #23
RE: Arduino wie LCD, Keypad und Servo anschließen
Hi,
versuche erst einmal, das bisherige Programm komplett zu verstehen. Dann geht's vielleicht einfacher.
Gruß,
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
02.10.2014, 14:04
Beitrag #24
RE: Arduino wie LCD, Keypad und Servo anschließen
Soweit verstehe ich es ja schon.
Ich muss ja eine if-Bedingung stellen, dass wenn der * Knopf gedrückt wird, der servo wieder zurück geht.
Dazu ja if, dann die bedingung und dann in den {}-Klammern den auszuführenden Code eingeben. Aber ich weiß nicht wie ich in die normale klammer hinter dem if eingeben soll das der code bei der * Taste ausgeführt wird, also ich weiß nicht wie ich die Bedingung formulieren soll
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 483 17.05.2016 21:58
Letzter Beitrag: hotsystems
  Per Keypad Shield zwischen zwei Programmen schalten Rob-LE 9 925 09.03.2016 14:27
Letzter Beitrag: iks77
  UTFT an Arduino mega mit Flachbandkabel anschließen Jensus 1 882 03.10.2015 12:52
Letzter Beitrag: hotsystems
  Servo zu wenig Leistung eddykett 9 1.456 25.08.2015 21:08
Letzter Beitrag: diode1990
  Photowiderstand direkt am Arduino Board anschließen C++Developer2000 8 1.436 21.08.2015 12:11
Letzter Beitrag: C++Developer2000
  Shild-Wahl für Servo-Steuerung SkyFox 9 1.117 23.07.2015 12:49
Letzter Beitrag: SkyFox
  Lichtschranke anschließen paq 11 2.272 07.06.2015 17:05
Letzter Beitrag: Thorsten Pferdekämper
  LCD Anzeige für Arduino Mega2560 an Arduino Due? DaniDD 1 807 03.06.2015 12:16
Letzter Beitrag: DaniDD
  US-100 Ulraschallsensor anschließen maierreini 5 1.811 16.05.2015 14:08
Letzter Beitrag: Gelegenheitsbastler
  Arduino Pin mit anderem Arduino auslesen - geht das? Gelegenheitsbastler 8 3.220 08.05.2015 20:49
Letzter Beitrag: Bitklopfer

Gehe zu:


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