Inhoudsopgave:

Servovergrendeling toetsenbord - Ajarnpa
Servovergrendeling toetsenbord - Ajarnpa

Video: Servovergrendeling toetsenbord - Ajarnpa

Video: Servovergrendeling toetsenbord - Ajarnpa
Video: ☝Citroen C1 ✅ Toyota Aygo ✅ Peugeot 107 ✅ Remote Programming Procedure ✔ Remote FOB how to do it diy 2024, November
Anonim
Servovergrendeling toetsenbord
Servovergrendeling toetsenbord
Servovergrendeling toetsenbord
Servovergrendeling toetsenbord
Servovergrendeling toetsenbord
Servovergrendeling toetsenbord

Hallo allemaal, hopelijk hebben jullie een fijne dag gehad. Zo niet, dan kun je hopelijk met een open geest terugspoelen naar deze tutorial en wat therapeutische muziek. Programmeren kan een gedoe zijn. Gelukkig is deze tutorial geen gedoe, dus je kunt misschien een populair ding bereiken met de naam (met machtige stem): HET ULTIEME SERVO-TOETSENVERGRENDELING!!! Dat is eigenlijk alleen mijn introductie, ik hoop dat je het leuk vond. Hoe dan ook, laten we onze vingers opwarmen voor het typen. (Een cool nummer: can-can-nummer (klassieke muziek)).

Benodigdheden:

-Je vingers

-Je handen ook, dat is belangrijk

-USB-kabel voor Arduino

-Elk type arduino beschikbaar (ik heb de Arduino Mega)

-Matrix toetsenbord (toetsenbord - ebay, toetsenbord - amazon)

-Micro- of standaardservo (ik gebruik een microservo)

-*Optioneel* Breadboard - elk type

-*Optioneel* Voeding (5V)

Stap 1: Schematische tijd

Schematische tijd!
Schematische tijd!
Schematische tijd!
Schematische tijd!

Dus, wat eerst doen? Sluit de Arduino aan op de computer. Sluit vervolgens het toetsenbord aan. *Opmerking - u moet de pinnen van de laatste pin op het toetsenbord aansluiten als de eerste digitale pin op de Arduino. En ga daarna van rechts naar links*. Toetsenbord heeft pinnen 2-9 op de Arduino. De servo heeft pin 10 als digitale signalen. Bind de gronden van de arduino, het toetsenbord en de servo en de 5V ook. * Houd er ook rekening mee dat de servo het best kan worden gebruikt met een externe stroombron of een adapter met 5V (muurplug-in), maar het is nog steeds optioneel. * Je hoeft de gronden en 5V niet fysiek vast te maken, wat ik bedoel is om gewoon een draad van de Arduino aan de servo te bevestigen. Dit schema helpt beginners niet, dus sta me toe het in het kort uit te leggen. Kortom, de laatste pin is 2 en de eerste is 9, twee is 8, drie is 7, enzovoort. Ga van links naar rechts 2 2.

Stap 2: Codeertijd

Codeer tijd!
Codeer tijd!
Codeer tijd!
Codeer tijd!

Oké, dus nu zijn we bij het coderingsgedeelte! Dit is waar de echte magie plaatsvindt! Er is dus een testprogramma om eerst het toetsenbord en de servo te testen. Hier:

//www.elego.com//2016.12.9

/* @file CustomKeypad.pde

|| @versie 1.0 || @auteur Alexander Brevig || @contact [email protected] || || @beschrijving || | Demonstreert het wijzigen van de toetsenbordgrootte en toetswaarden. || # */ #erbij betrekken

const byte RIJEN = 4; //vier rijen

constbyte COLS = 4; //vier kolommen //definieer de bekkens op de toetsen van de keypads 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}; // maak verbinding met de rij-pinouts van de toetsenbordbyte colPins [COLS] = {5, 4, 3, 2}; // verbind met de kolom pinouts van het toetsenbord

// initialiseer een instantie van de klasse NewKeypad

Toetsenbord customKeypad = Toetsenbord (makeKeymap (hexaKeys), rowPins, colPins, RIJEN, COLS);

ongeldige setup(){

Serieel.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }

//www.elegoo.com//2016.12.08 #include

Servo-mijnservo; // maak een servo-object om een servo te besturen

// twaalf servo-objecten kunnen op de meeste borden worden gemaakt

int pos = 0; // variabele om de servopositie op te slaan

ongeldige setup() {

mijnservo.attach(9); // bevestigt de servo op pin 9 aan het servo-object}

lege lus() {

for (pos = 0; pos = 0; pos -= 1) {// gaat van 180 graden naar 0 graden myservo.write(pos); // vertel servo om naar positie te gaan in variabele 'pos' vertraging (15); // wacht 15 ms totdat de servo de positie bereikt } }

Hier is de projectcode (ik zal eerlijk tegen je zijn, ik heb niet veel gedaan, ik heb zojuist het servogedeelte toegevoegd, bedankt aan de mensen die alle code hebben gemaakt!):

#include Password.h

#inclusief toetsenbord

/*

|| Eenvoudige wachtwoordinvoer met behulp van Matrix-toetsenbord || 4/5/2012 Updates Nathan Sobieck: [email protected] || *

/* is om het wachtwoord te valideren

//# is om wachtwoordpoging opnieuw in te stellen

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

#erbij betrekken

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

Wachtwoord wachtwoord = Wachtwoord ("1234");

Servo-mijnservo; // maak een servo-object om een servo te besturen

#define servoPin 10

const byte RIJEN = 4; // Vier rijen

constbyte COLS = 4; // kolommen // Definieer de Keymap-tekentoetsen [ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };

byte rowPins [ROWS] = { 9, 8, 7, 6 }; // Sluit toetsenbord ROW0, ROW1, ROW2 en ROW3 aan op deze Arduino-pinnen.

byte colPins [COLS] = { 5, 4, 3, 2, }; // Sluit toetsenbord COL0, COL1 en COL2 aan op deze Arduino-pinnen.

// Maak het toetsenbord

Toetsenbord toetsenbord = Toetsenbord (makeKeymap (toetsen), rowPins, colPins, RIJEN, COLS);

ongeldige setup() {

mijnservo.attach(servoPin); // bevestigt de servo op pin 9 aan het servo-object

Serieel.begin(9600);

keypad.addEventListener(keypadEvent); // voeg een gebeurtenislistener toe voor dit toetsenbord

mijnservo.write(0);

}

lege lus() {

toetsenbord.getKey();

}

//zorg voor een aantal speciale evenementen

void keypadEvent (KeypadEvent eKey) { switch (keypad.getState ()) { case INGEDRUKT: switch (eKey) { case '*': checkPassword (); pauze; standaard: wachtwoord.append(eKey); } } }

ongeldige checkPassword() {

if (password.evaluate() == true) { Serial.println("Succes"); // Voeg code toe om uit te voeren als het werkt

mijnservo.write(180);

vertraging (3000);

mijnservo.write(0);

wachtwoord reset();

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

Serial.println("Fout");

mijnservo.write(0);

// voeg code toe om uit te voeren als het niet werkte

}

}

Stap 3: Wat betekent dit allemaal?

Wat betekent dit allemaal?
Wat betekent dit allemaal?

De code hierboven (de eerste) geeft een signaal aan de servo om te "vegen" of gewoon van 0 naar 180 graden te gaan. Of gewoon een halve cirkel draaien van links naar rechts of van rechts naar links. Als je meer details over de code wilt, kan ik je dat vertellen. Vraag het maar. Geen kwaad gedaan, gewoon een simpele kleine vraag. Kom op je kan het! Hoe dan ook, de code in het midden test elke knop van het toetsenbord. En de laatste van de code "ontgrendelt" gewoon met de servo wanneer je de toegangscode "1234" typt in, je raadt het al, het toetsenbord.

Stap 4: Problemen oplossen

Probleemoplossen
Probleemoplossen

V: Mijn toetsenbord werkt niet.

A: Onthoud dat de eerste pin 9 is, dus ga vanaf daar naar beneden. Zorg er ook voor dat u de arduino op de USB-poort van de computer aansluit en de Arduino programmeert.

V: Servo werkt niet.

A: Onthoud dat de servopin pin 10 is en dat je een gemeenschappelijke aarde nodig hebt. Als je rechtstreeks vanuit de Arduino verbinding maakt, onthoud dan dat de oranje pin (op de microservo) pin 10 is, de rode pin 5V is en de bruine pin is de GND-pin.

V: Arduino werkt niet:

A: Heb je het zelfs aangesloten? Dat klinkt als een persoonlijk probleem

Stap 5: Als je vragen hebt, stel ze dan gerust in het opmerkingengedeelte en vergeet niet om je te abonneren

Dag, bedankt voor het bekijken van mijn tutorial. Het was leuk.

Aanbevolen: