Inhaltsverzeichnis:

Tastatur-Servosperre - Gunook
Tastatur-Servosperre - Gunook

Video: Tastatur-Servosperre - Gunook

Video: Tastatur-Servosperre - Gunook
Video: Gunbook - today's order for Russian Makarov 9x18 mm 2024, Juli
Anonim
Tastatur-Servosperre
Tastatur-Servosperre
Tastatur-Servosperre
Tastatur-Servosperre
Tastatur-Servosperre
Tastatur-Servosperre

Hallo zusammen, hoffe ihr hattet einen schönen Tag. Wenn nicht, können Sie hoffentlich mit etwas Aufgeschlossenheit zu diesem Tutorial und etwas therapeutischer Musik zurückspulen. Programmieren kann mühsam sein. Zum Glück ist dieses Tutorial nicht umständlich, so dass Sie vielleicht eine beliebte Sache namens (mit mächtiger Stimme) erreichen können: DIE ULTIMATIVE SERVO-TASTATURSPERRE!!! Das ist wirklich nur meine Einführung, hoffe es hat euch gefallen. Wie auch immer, lass uns unsere Finger zum Tippen aufwärmen. (Ein cooles Lied: Can-Can-Song (klassische Musik)).

Lieferungen:

-Deine Finger

-Deine Hände auch, das ist wichtig

-USB-Kabel für Arduino

-Jede Art von Arduino verfügbar (ich habe das Arduino Mega)

-Matrix-Tastatur (Tastatur - ebay, Tastatur - Amazon)

-Mikro- oder Standard-Servo (ich verwende ein Mikro-Servo)

-*Optional* Steckbrett - jeder Typ

-*Optional* Netzteil (5V)

Schritt 1: Schematische Zeit

Schematische Zeit!
Schematische Zeit!
Schematische Zeit!
Schematische Zeit!

Was also zuerst tun? Schließen Sie das Arduino an den Computer an. Schließen Sie als nächstes die Tastatur an. * Hinweis - Sie müssen die Pins vom letzten Pin auf der Tastatur als ersten digitalen Pin des Arduino verbinden. Und danach von rechts nach links gehen*. Die Tastatur hat die Pins 2-9 auf dem Arduino. Das Servo hat Pin 10 als digitale Signale. Binden Sie die Masse des Arduino, der Tastatur und des Servos und auch der 5V. *Beachten Sie auch - dass das Servo am besten mit einer externen Stromquelle oder einem Adapter mit 5V (Steckdose) verwendet wird, aber es ist immer noch optional.* Sie müssen die Masse und 5V nicht physisch binden, was ich meine ist um nur einen Draht vom Arduino zum Servo zu befestigen. Dieses Schema hilft Anfängern nicht, also erlauben Sie mir, es kurz zu erklären. Grundsätzlich ist der letzte Pin 2 und der erste ist 9, zwei sind 8, drei sind 7 und so weiter. Von links nach rechts gehen 2 2.

Schritt 2: Codierungszeit

Codierungszeit!
Codierungszeit!
Codierungszeit!
Codierungszeit!

Ok, jetzt sind wir beim Coding-Teil! Hier passiert die wahre Magie! Es gibt also ein Testprogramm, um zuerst die Tastatur und das Servo zu testen. Hier:

//www.elegoo.com//2016.12.9

/* @datei CustomKeypad.pde

|| @version 1.0 || @Autor Alexander Brevig || @kontakt [email protected] || || @beschreibung || | Demonstriert das Ändern der Tastaturgröße und der Tastenwerte. || # */ #enthalten

konstantes Byte ROWS = 4; //vier Reihen

konstantes Byte COLS = 4; //vier Spalten //Bestimme die Cymbols auf den Tasten der Tastaturen char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5 ', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; Byte rowPins[ROWS] = {9, 8, 7, 6}; // mit den Zeilenbelegungen des Tastaturbytes verbinden colPins [COLS] = {5, 4, 3, 2}; // mit den Spaltenpinbelegungen der Tastatur verbinden

//initialisiere eine Instanz der Klasse NewKeypad

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

Void-Setup () {

Serial.begin (9600); aufrechtzuerhalten. Void Schleife () { char customKey = customKeypad.getKey (); wenn (customKey) {Serial.println (customKey); } }

//www.elegoo.com//2016.12.08 #einschließen

Servo-Myservo; // Servo-Objekt erstellen, um ein Servo zu steuern

// auf den meisten Boards können zwölf Servoobjekte erstellt werden

intpos = 0; // Variable zum Speichern der Servoposition

Leere Einrichtung () {

myservo.attach(9); // befestigt das Servo an Pin 9 an das Servoobjekt}

Leere Schleife () {

for (pos = 0; pos = 0; pos -= 1) {// geht von 180 Grad auf 0 Grad myservo.write(pos); // dem Servo sagen, dass es in der Variablen 'pos' delay (15) in Position gehen soll; // wartet 15ms, bis das Servo die Position erreicht hat}}

Hier ist der Projektcode (ich werde ehrlich zu Ihnen sein, ich habe nicht viel gemacht, ich habe nur den Servoteil hinzugefügt, danke den Leuten, die den ganzen Code gemacht haben!):

#include Passwort.h

#include Tastatur

/*

|| Einfache Passworteingabe über Matrixtastatur || 05.04.2012 Updates Nathan Sobieck: [email protected] || *

/* dient zur Validierung des Passworts

//# ist das Zurücksetzen des Passwortversuchs

/////////////////////////////////////////////////////////////////

#enthalten

//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip

Passwort Passwort = Passwort("1234");

Servo-Myservo; // Servo-Objekt erstellen, um ein Servo zu steuern

#define servoPin 10

konstantes Byte ROWS = 4; // Vier Reihen

konstantes Byte COLS = 4; // Spalten // Definiere die Keymap char keys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };

Byte rowPins[ROWS] = { 9, 8, 7, 6 }; // Verbinden Sie die Tastatur ROW0, ROW1, ROW2 und ROW3 mit diesen Arduino-Pins.

Byte colPins[COLS] = { 5, 4, 3, 2, }; // Verbinden Sie die Tastatur COL0, COL1 und COL2 mit diesen Arduino-Pins.

// Erstellen Sie die Tastatur

Keypad-Tastatur = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

Leere Einrichtung () {

myservo.attach(servoPin); // befestigt das Servo an Pin 9 an das Servoobjekt

Serial.begin (9600);

keyboard.addEventListener(keypadEvent); // einen Ereignis-Listener für diese Tastatur hinzufügen

myservo.write(0);

}

Leere Schleife () {

Tastatur.getKey();

}

// Kümmere dich um einige besondere Ereignisse

void keyboardEvent (KeypadEvent eKey) { switch (keypad.getState()) { case PRESSED: switch (eKey) { case '*': checkPassword(); brechen; Standard: password.append(eKey); } } }

void checkPassword() {

if (password.evaluate () == true) { Serial.println ("Erfolg"); // Code zum Ausführen hinzufügen, wenn es funktioniert

myservo.write(180);

Verzögerung (3000);

myservo.write(0);

Passwort zurücksetzen();

} else if (password.evaluate() == false) {

Serial.println ("Falsch");

myservo.write(0);

// Code zum Ausführen hinzufügen, wenn es nicht funktioniert hat

}

}

Schritt 3: Was bedeutet das alles?

Was bedeutet das alles?
Was bedeutet das alles?

Der obige Code (der erste) gibt dem Servo ein Signal zum "Sweep" oder einfach nur von 0 auf 180 Grad zu gehen. Oder machen Sie einfach einen halben Rotationskreis von links nach rechts oder von rechts nach links. Wenn Sie mehr Details zum Code wünschen, kann ich Ihnen dies sagen. Bitte einfach fragen. Kein Schaden angerichtet, nur eine einfache kleine Frage. Komm schon, du kannst es! Wie auch immer, der Code in der Mitte testet jede Taste der Tastatur. Und der letzte Code "entsperrt" sich einfach mit dem Servo, wenn Sie den Passkey "1234" in die Tastatur eingeben.

Schritt 4: Fehlerbehebung

Fehlerbehebung
Fehlerbehebung

F: Meine Tastatur funktioniert nicht.

A: Denken Sie daran, dass der erste Pin 9 ist, also gehen Sie von dort aus nach unten. Stellen Sie außerdem sicher, dass Sie das Arduino an den USB-Anschluss des Computers anschließen und das Arduino programmieren.

F: Servo funktioniert nicht.

A: Denken Sie daran, dass der Servo-Pin Pin 10 ist und Sie eine gemeinsame Masse benötigen. Wenn Sie direkt vom Arduino anschließen, denken Sie daran, dass der orange Pin (am Mikro-Servo) Pin 10 ist, der rote Pin 5 V ist und die brauner Pin ist der GND-Pin.

F: Arduino funktioniert nicht:

A: Hast du es überhaupt angeschlossen? Das klingt nach einem persönlichen Problem

Schritt 5: Wenn Sie Fragen haben, können Sie diese gerne im Kommentarbereich stellen und denken Sie daran, sich zu abonnieren

Tschüss, danke für das Betrachten meines Tutorials. Es hat Spaß gemacht.

Empfohlen: