Obsah:
Video: Servo zámek klávesnice: 5 kroků
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Ahoj všichni, doufám, že jste měli dobrý den. Pokud ne, doufejme, že se můžete s trochou otevřené mysli vrátit k tomuto tutoriálu a nějaké terapeutické hudbě. Programování může být oříšek. Naštěstí tento tutoriál není žádný problém, takže možná budete moci dosáhnout populární věci zvané (mocným hlasem): ZÁMEK KLÁVESNICE SERVO !!! To je opravdu jen můj úvod, doufám, že se vám to líbilo. Každopádně si rozehřejeme prsty na psaní. (Skvělá píseň: píseň can-can (klasická hudba)).
Zásoby:
-Vaše prsty
-Tvé ruce taky, to je důležité
-USB kabel pro Arduino
-K dispozici jakýkoli typ arduina (mám Arduino Mega)
-Klávesnice Matrix (klávesnice - ebay, klávesnice - amazon)
-Micro nebo Standard servo (používám mikro servo)
-* Volitelné* Breadboard - jakýkoli typ
-* Volitelné* Napájení (5V)
Krok 1: Schematický čas
Co tedy udělat jako první? Připojte Arduino k počítači. Dále připojte klávesnici. *Poznámka - musíte připojit piny od posledního pinu na klávesnici jako první digitální kolík na arduino. A poté jděte zprava doleva*. Klávesnice má na arduinu piny 2-9. Servo má pin 10 jako digitální signály. Spojte základnu arduina, klávesnice a serva a také 5V. * Také si všimněte - že servo je nejlepší použít s externím zdrojem napájení nebo adaptérem s 5V (nástěnný plug -in), ale je to stále volitelné.* Nemusíte spojovat zem a 5V fyzicky, myslím tím stačí připojit k servu vodič z Arduina. Toto schéma nepomůže začátečníkům, takže mi dovolte stručně vysvětlit. V zásadě je poslední pin 2 a první 9, dva 8, tři 7 a tak dále. Jděte zleva doprava 2 2.
Krok 2: Čas kódování
Dobře, tak teď jdeme na kódovací část! Tady se odehrává skutečná magie! Existuje tedy testovací program, který nejprve otestuje klávesnici a servo. Tady:
//www.elegoo.com//2016.12.9
/* @soubor CustomKeypad.pde
|| @verze 1.0 || @autor Alexander Brevig || @kontakt [email protected] || || @popis || | Ukazuje změnu velikosti klávesnice a hodnot klíčů. || # */ #zahrnout
konstantní bajty Řádky = 4; // čtyři řádky
konstantní COLS = 4; // čtyři sloupce // definují činely na tlačítkách klávesnice hexadecimální klávesy [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; byte rowPins [ROWS] = {9, 8, 7, 6}; // připojení k řádkovým vývodům bajtu klávesnice colPins [COLS] = {5, 4, 3, 2}; // připojení ke sloupcovým vývodům klávesnice
// inicializace instance třídy NewKeypad
Keypad customKeypad = Klávesnice (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
neplatné nastavení () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #include
Servo myservo; // vytvoření objektu serva pro ovládání serva
// Na většině desek lze vytvořit dvanáct objektů serva
int pos = 0; // proměnná pro uložení polohy serva
neplatné nastavení () {
myservo.attach (9); // připojí servo na pinu 9 k objektu serva}
prázdná smyčka () {
for (pos = 0; pos = 0; pos -= 1) {// jde od 180 stupňů do 0 stupňů myservo.write (pos); // řekněte servu, aby přešlo na pozici v proměnné 'pos' delay (15); // čeká 15 ms, než servo dosáhne polohy}}
Zde je kód projektu (budu k vám upřímný, moc jsem toho neudělal, jen jsem přidal servo část, děkuji lidem, kteří celý kód vytvořili!):
#include Password.h
#include Klávesnice
/*
|| Jednoduché zadávání hesla pomocí maticové klávesnice || 5. 4. 2012 Aktualizace Nathan Sobieck: [email protected] || *
/* slouží k ověření hesla
//# je pokus o resetování hesla
/////////////////////////////////////////////////////////////////
#zahrnout
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Heslo heslo = heslo ("1234");
Servo myservo; // vytvoření objektu serva pro ovládání serva
#definovat servoPin 10
konstantní bajty Řádky = 4; // Čtyři řádky
konstantní bajt COLS = 4; // sloupce // Definujte klíčové znaky klíče [ŘÁDKY] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};
byte rowPins [ROWS] = {9, 8, 7, 6}; // K těmto pinům Arduino připojte klávesnici ROW0, ROW1, ROW2 a ROW3.
byte colPins [COLS] = {5, 4, 3, 2,}; // K těmto pinům Arduino připojte klávesnici COL0, COL1 a COL2.
// Vytvořte klávesnici
Klávesnice klávesnice = Klávesnice (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);
neplatné nastavení () {
myservo.attach (servoPin); // připojí servo na pinu 9 k objektu serva
Serial.begin (9600);
keypad.addEventListener (keypadEvent); // přidání posluchače událostí pro tuto klávesnici
myservo.write (0);
}
prázdná smyčka () {
keypad.getKey ();
}
// postarat se o nějaké speciální akce
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); přestávka; výchozí: password.append (eKey); }}}
neplatné checkPassword () {
if (heslo.evaluate () == true) {Serial.println ("Úspěch"); // Pokud to funguje, přidejte kód ke spuštění
myservo.write (180);
zpoždění (3000);
myservo.write (0);
resetovat heslo();
} else if (heslo.evaluate () == false) {
Serial.println ("Špatně");
myservo.write (0);
// přidání kódu ke spuštění, pokud nefungoval
}
}
Krok 3: Co to všechno znamená?
Kód nahoře (první) dá servu signál k „zametání“nebo k přechodu z 0 na 180 stupňů. Nebo jen dokončení poloviny kruhu otáčení zleva doprava nebo zprava doleva. Pokud chcete další podrobnosti o kódu, mohu vám říci. Jen se prosím zeptejte. Nic se nestalo, jen jednoduchá malá otázka. Pojď, ty to zvládneš! Každopádně kód uprostřed testuje každé tlačítko na klávesnici. A poslední z kódu se „odemkne“servem, když zadáte přístupový klíč „1234“do klávesnice, kterou jste uhodli.
Krok 4: Odstraňování problémů
Otázka: Moje klávesnice nefunguje.
Odpověď: Pamatujte, že první pin je 9, takže odtud sestupte. Nezapomeňte také připojit arduino k USB portu počítače a naprogramovat Arduino.
Otázka: Servo nefunguje.
Odpověď: Pamatujte, že kolík serva je pin 10 a že potřebujete společnou zem, pokud se připojujete přímo z Arduina, pamatujte, že oranžový pin (na mikro servu) je pin 10, červený pin je 5V a hnědý kolík je pin GND.
Otázka: Arduino nefunguje:
A: Připojil jste to dokonce? To zní jako osobní problém
Krok 5: Pokud máte nějaké dotazy, neváhejte se zeptat v sekci komentáře a nezapomeňte se přihlásit k odběru
Ahoj, díky za zhlédnutí mého tutoriálu. Bylo to zábavné.