Sisällysluettelo:
- Vaihe 1: Johdot näppäimistöllä
- Vaihe 2: Lisää Micro Servo
- Vaihe 3: Muokkaa koodia käyttämään Servon näppäimistöä
Video: Servoasetus näppäimistöllä: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tässä ohjeessa luomme projektin, joka ohjaa Micro-Servoa näppäimistöllä, joka käyttää sitä Arduino Unolla.
Käytetyt materiaalit:
Arduino Uno
Leipälauta
4x4 -näppäimistö
Mikro-servo
Vaihe 1: Johdot näppäimistöllä
Aivan ensimmäinen ajatus, joka sinun on tehtävä, on kytkeä sähkökisko ja maadoituskisko leipälevyllesi Arduinosta
- Liitä 5V -nasta virtakiskoon (punainen)
- Liitä maadoitustappi (GND) maadoituskiskoon (sininen)
Nyt kun leipälaudalla on virtaa ja se on maadoitettu, voimme aloittaa komponenttien johdotuksen.
Näppäimistön kytkeminen on helppoa, mutta sinun on otettava huomioon näppäimistön ja arduinon nastat. Siitä on hyötyä, kun kiinnitämme huomiomme koodiin.
Muista aloittaa vasemmalta, kun käytät johtojasi!
- Ensimmäinen nasta menee kohtaan 13
- Toinen nasta menee 12: een
- Kolmas nasta menee kohtaan 11
- Neljäs nasta menee 10: een
- Viides nasta yhdeksään
- Kuudes nasta 8
- Seitsemäs nasta 7
- Kahdeksas nasta 6
Kun kytket näppäimistön, muista pitää digitaalinen pwm -nasta auki. Tarvitsemme sitä mikroservolle
Ennen kuin pääsemme koodiin, varmista, että olet asentanut näppäimistökirjaston. Se löytyy luonnoksestasi ja sitten luonnosvälilehdestä, sisältäen kirjaston. Et voi käyttää näppäimistöä ilman sitä.
Siirrytään nyt koodiin ja varmistetaan, että näppäimistö toimii ja antaa osallistuneet arvot
Pikahuomautuksia: Varmista, että sinulla on if -lause näppäimistön tarkistamiseksi, muuten se ei toimi. Varo myös viiveitä, ne sekoittavat näppäimistön rekisteröimät painikkeet
#sisältää
const tavu rivit = 4; // neljä riviä, koska näppäimistö on täynnä
const tavu sarakkeet = 4; // neljä saraketta, sama kuin yllä
char -painikkeet [rivit] [sarakkeet] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
tavu rivi P [rivit] = {13, 12, 11, 10}; // näppäimistön rivinapit
tavu sarakkeetP [sarakkeet] = {9, 8, 7, 6}; // näppäimistön sarakkeen nastat
Näppäimistötyyppi = Näppäimistö (makeKeymap (painikkeet), rivi P, sarakkeet P, rivit, sarakkeet); // näppäimistön luominen
void setup () {
Sarja.alku (9600); }
void loop () {
char -painikePainettu = pad.getKey (); // hae char näppäimistöltä jos (buttonPressed) // näytä mitä näppäimistön painiketta on painettu {Serial.println (buttonPressed); }}
Vaihe 2: Lisää Micro Servo
Lisää nyt servomoottori. Tämä on todella helppo lisätä nykyiseen projektiin, koska mikropalvelimessa on vain kolme johtoa.
- Ruskea johto menee leipälevyn maadoituskiskoon
- Punainen menee Power -kiskoon
- Oranssi menee Arduinon nastaan 3. Muista, että mikropalvelimella on oltava PWM -pin Arduinossa. Tämä johtuu TIMER2: ta käyttävästä servosta
Nyt varmistetaan vain, että olemme liittäneet mikropalvelun oikein ja että se liikkuu
#Sisällytä #Sisällytä "Servo.h"
const tavu rivit = 4; // neljä riviä, koska näppäimistö on täynnä
const tavu sarakkeet = 4; // neljä saraketta, sama kuin yllä
char -painikkeet [rivit] [sarakkeet] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
tavu rivi P [rivit] = {13, 12, 11, 10}; // näppäimistön rivinapit
tavu sarakkeetP [sarakkeet] = {9, 8, 7, 6}; // näppäimistön sarakkeen nastat
Näppäimistötyyppi = Näppäimistö (makeKeymap (painikkeet), rivi P, sarakkeet P, rivit, sarakkeet); // näppäimistön luominen
ServovirtaServo; // luoda servo -objekti servoa ohjaamaan
// Useimmille levyille voidaan luoda kaksitoista servo -objektia
int pos = 0; // muuttuja servoaseman tallentamiseen
void setup () {
Sarja.alku (9600); currentServo.attach (3); // kiinnittää nastan 9 servon servo -objektiin
}
void loop () {
char -painikePainettu = pad.getKey (); // hae char näppäimistöltä jos (buttonPressed) // näytä mitä näppäimistön painiketta on painettu {Serial.println (buttonPressed); }
currentServo.write (95);
}
Vaihe 3: Muokkaa koodia käyttämään Servon näppäimistöä
Tiedä, että aiomme muuttaa koodiamme niin, että kun painamme tiettyä näppäimistön painiketta, servo siirtyy tiettyyn asentoon. Ensiksi tärkeä asia. Servoasento 0: lle oli outo. Koska minulla oli jatkuvan pyörimisen servo, aina kun se lähestyi 0: ta, servo alkoi vain pyöriä. Koodiin kirjoittamani numero oli niin pieni kuin voisin mennä ilman, että näin tapahtuisi. Tässä kuitenkin lopullinen koodini:
#Sisällytä #Sisällytä
const tavu rivit = 4; // neljä riviä, koska näppäimistö on täynnä
const tavu sarakkeet = 4; // neljä saraketta, sama kuin yllä
char -painikkeet [rivit] [sarakkeet] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
tavu rivi P [rivit] = {13, 12, 11, 10}; // näppäimistön rivinastat
tavu sarakkeetP [sarakkeet] = {9, 8, 7, 6}; // näppäimistön sarakkeen nastat
Näppäimistötyyppi = Näppäimistö (makeKeymap (painikkeet), rivi P, sarakkeet P, rivit, sarakkeet); // näppäimistön luominen
Servo myServo; //
void setup () {
Sarja.alku (9600); myServo.attach (5); // kiinnittää nastan 9 servon servo -objektiin}
void loop () {
char -näppäin = pad.getKey (); // hae char näppäimistöltä if (key == '0') {myServo.write (11); Serial.println ("0"); viive (15); } jos (avain == '1') {myServo.write (12); Serial.println ("1"); viive (15); } jos (avain == '2') {myServo.write (24); Serial.println ("2"); viive (15); } jos (avain == '3') {myServo.write (36); Serial.println ("3"); viive (15); }
jos (avain == '4')
{myServo.write (48); Serial.println ("4"); viive (15); }
jos (avain == '5')
{myServo.write (60); Serial.println ("5"); viive (15); }
jos (avain == '6')
{myServo.write (72); Serial.println ("6"); viive (15); }
jos (avain == '7')
{myServo.write (84); Serial.println ("7"); viive (15); }
jos (avain == '8')
{myServo.write (96); Serial.println ("8"); viive (15); }
jos (avain == '9')
{myServo.write (108); Serial.println ("9"); viive (15); }
jos (avain == '*')
{myServo.write (120); Serial.println ("*"); viive (15); }
jos (avain == '#')
{myServo.write (132); Serial.println ("#"); viive (15); }
jos (avain == 'A')
{myServo.write (146); Serial.println ("A"); viive (15); }
jos (avain == 'B')
{myServo.write (158); Serial.println ("B"); viive (15); }
jos (avain == 'C')
{myServo.write (170); Serial.println ("C"); viive (15); }
jos (avain == 'D')
{myServo.write (180); Serial.println ("D"); viive (15); }}
Suositeltava:
Arduino -laskin 4X4 -näppäimistöllä: 4 vaihetta (kuvilla)
Arduino -laskin 4X4 -näppäimistöllä: Tässä opetusohjelmassa rakennamme oman laskimemme Arduinolla. Arvot voidaan lähettää näppäimistöllä (4 × 4 näppäimistö) ja tulos voidaan tarkastella nestekidenäytöllä. Tämä laskin voi suorittaa yksinkertaisia toimintoja, kuten yhteenlasku, vähennyslasku, kertolasku
Hallitse juna -asettelua näppäimistöllä!: 12 vaihetta
Hallitse juna -asettelua NÄPPÄIMISTÖÖN! Voit tarkistaa päivitetyn version myös täältä. Tässä opetusohjelmassa näytän sinulle, kuinka hallita junan asettelua näppäimistöllä
DIY -herätyskellon tekeminen LCD -näppäimistöllä: 5 vaihetta
DIY -herätyskellon tekeminen LCD -näppäimistöllä: Hei kaikille! Tässä ohjeessa näytän sinulle, kuinka tehdä herätyskello Arduino Boardilla. Olen käyttänyt Arduino UNO: ta, LCD -näppäimistön suojaa, 5 V: n summeria ja hyppyjohtoja tämän kellon rakentamiseen. Näet kellonajan näytöllä ja voit asettaa ajan
DoReMiQuencer - Ohjelmoitava MIDI -sekvensseri näppäimistöllä: 7 vaihetta
DoReMiQuencer - Ohjelmoitava MIDI -sekvensseri näppäimistöllä: Tämä laite on luotu käytettäväksi VCVRackin kanssa, joka on VCV: n luoma virtuaalinen modulaarinen syntetisaattori, mutta voi toimia yleiskäyttöisenä MIDI -ohjaimena.Se toimii MIDI -sekvensserinä tai näppäimistönä valitusta tilasta riippuen. MIDI -muistiinpanot on yhdistetty näppäimistöön
Arduino Digital Code Lock Project Matrix -näppäimistöllä: 9 vaihetta
Arduino Digital Code Lock Project Matrix -näppäimistön avulla: Rakenna digitaalinen koodilukituslaite Arduino- ja Qwiic -järjestelmällä Zio M Unon ja Hex 4x3 Matrix -näppäimistön avulla. Tässä opetusohjelmassa näytämme käytön