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
  Scheibenwischermotor als servo Idteler 1 277 15.12.2016 19:47
Letzter Beitrag: Binatone
Exclamation Wie viel LEDs kann man anschließen? Benny0016 2 639 17.05.2016 21:58
Letzter Beitrag: hotsystems
  Per Keypad Shield zwischen zwei Programmen schalten Rob-LE 9 1.033 09.03.2016 14:27
Letzter Beitrag: iks77
  UTFT an Arduino mega mit Flachbandkabel anschließen Jensus 1 1.103 03.10.2015 12:52
Letzter Beitrag: hotsystems
  Servo zu wenig Leistung eddykett 9 1.632 25.08.2015 21:08
Letzter Beitrag: diode1990
  Photowiderstand direkt am Arduino Board anschließen C++Developer2000 8 1.665 21.08.2015 12:11
Letzter Beitrag: C++Developer2000
  Shild-Wahl für Servo-Steuerung SkyFox 9 1.260 23.07.2015 12:49
Letzter Beitrag: SkyFox
  Lichtschranke anschließen paq 11 2.589 07.06.2015 17:05
Letzter Beitrag: Thorsten Pferdekämper
  LCD Anzeige für Arduino Mega2560 an Arduino Due? DaniDD 1 960 03.06.2015 12:16
Letzter Beitrag: DaniDD
  US-100 Ulraschallsensor anschließen maierreini 5 2.304 16.05.2015 14:08
Letzter Beitrag: Gelegenheitsbastler

Gehe zu:


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