Obsah:
- Krok 1: Pripojte klávesnicu
- Krok 2: Pridajte mikro servo
- Krok 3: Upravte kód tak, aby používal klávesnicu na serve
Video: Posuv servo s klávesnicou: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
V tomto návode vytvoríme projekt, ktorý bude ovládať mikro-servo pomocou klávesnice, na ktorej je spustené Arduino Uno.
Použitý materiál:
Arduino Uno
Breadboard
Klávesnica 4x4
Micro-servo
Krok 1: Pripojte klávesnicu
Úplne prvá myšlienka, ktorú musíte urobiť, je prepojiť napájaciu a uzemňovaciu koľajnicu na vašom doske z Arduina
- Pripojte 5V kolík k napájacej lište (červená)
- Pripojte uzemňovací kolík (GND) k uzemňovacej lište (modrá)
Teraz, keď je doštička napájania a je uzemnená, môžeme začať zapojovať naše komponenty.
Zapojenie klávesnice je jednoduché, ale musíte si všimnúť kolíky na klávesnici a arduino. Bude sa nám to hodiť, keď obrátime svoju pozornosť na náš kód.
Pri použití vodičov nezabudnite začať vľavo!
- Prvý kolík ide na 13
- Druhý kolík ide na 12
- Tretí kolík smeruje k 11
- Štvrtý kolík smeruje k 10
- Piaty kolík k 9
- Šiesty pin na 8
- Siedmy pin do 7
- Ôsmy pin na 6
Pri pripájaní klávesnice ponechajte digitálny kolík PWM otvorený. Budeme to potrebovať pre mikro-servo
Predtým, ako sa dostaneme k kódu, skontrolujte, či máte nainštalovanú knižnicu klávesníc. Nájdete ho vo svojom náčrte, potom na karte skica a vrátane knižnice. Bez nej nebudete môcť používať klávesnicu.
Teraz sa obrátime na kód a ubezpečíme sa, že klávesnica funguje a poskytuje požadované hodnoty
Rýchle poznámky: Uistite sa, že máte príkaz if na kontrolu klávesnice, inak nebude fungovať. Dávajte si tiež pozor na meškania, pretože sa budú tlačiť pri tlačidlách registrovaných z klávesnice
#zahrnúť
konštantné bajtové riadky = 4; // štyri riadky, pretože klávesnica je plná
stĺpce konštantných bajtov = 4; // štyri stĺpce, rovnaké ako vyššie
tlačidlá znakov [riadky] [stĺpce] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtový riadokP [riadky] = {13, 12, 11, 10}; // riadkové piny klávesnice
bajtové stĺpceP [stĺpce] = {9, 8, 7, 6}; // stĺpce kolíka klávesnice
Klávesnica = Klávesnica (makeKeymap (tlačidlá), riadok P, stĺpce P, riadky, stĺpce); // vytvorenie klávesnice
neplatné nastavenie () {
Serial.begin (9600); }
prázdna slučka () {
char buttonPressed = pad.getKey (); // získanie znaku z klávesnice, ak (buttonPressed) // ukáže, aké tlačidlo bolo stlačené na klávesnici {Serial.println (buttonPressed); }}
Krok 2: Pridajte mikro servo
Teraz pridáme servomotor. Ten je skutočne ľahké pridať do nášho súčasného projektu, pretože mikro server má iba tri vodiče.
- Hnedý drôt prechádza na uzemňovaciu koľajnicu na doske
- Červená ide na Power rail
- Orange ide na Pin 3 na Arduine. Pamätajte, že mikro server musí mať na Arduine pin PWM. Dôvodom je servo využívajúce TIMER2
Teraz sa len uistite, že sme mikro servo zapojili správne a aby sa pohybovalo
#include #include "Servo.h"
konštantné bajtové riadky = 4; // štyri riadky, pretože klávesnica je plná
stĺpce konštantných bajtov = 4; // štyri stĺpce, rovnaké ako vyššie
tlačidlá znakov [riadky] [stĺpce] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtový riadokP [riadky] = {13, 12, 11, 10}; // riadkové piny klávesnice
bajtové stĺpceP [stĺpce] = {9, 8, 7, 6}; // stĺpce kolíka klávesnice
Klávesnica = Klávesnica (makeKeymap (tlačidlá), riadok P, stĺpce P, riadky, stĺpce); // vytvorenie klávesnice
Servo prúd Servo; // vytvorenie objektu serva na ovládanie serva
// Na väčšine dosiek je možné vytvoriť dvanásť servo objektov
int pos = 0; // premenná na uloženie polohy serva
neplatné nastavenie () {
Serial.begin (9600); currentServo.attach (3); // pripevní servo na kolíku 9 k objektu serva
}
prázdna slučka () {
char buttonPressed = pad.getKey (); // získanie znaku z klávesnice, ak (buttonPressed) // ukáže, aké tlačidlo bolo stlačené na klávesnici {Serial.println (buttonPressed); }
currentServo.write (95);
}
Krok 3: Upravte kód tak, aby používal klávesnicu na serve
Vedzte, že upravíme náš kód tak, že keď stlačíme konkrétne tlačidlo na klávesnici, servo sa presunie do konkrétnej polohy. Najdôležitejšia vec. Poloha servo pre 0 bola divná. Pretože som mal servo s nepretržitým otáčaním, kedykoľvek sa priblížilo k 0, servo sa začalo točiť. Číslo, ktoré som zadal do kódu, bolo také nízke, ako som mohol bez toho, aby sa to stalo. Každopádne, tu je môj konečný kód:
#include #include
konštantné bajtové riadky = 4; // štyri riadky, pretože klávesnica je plná
stĺpce konštantných bajtov = 4; // štyri stĺpce, rovnaké ako vyššie
tlačidlá znakov [riadky] [stĺpce] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtový riadokP [riadky] = {13, 12, 11, 10}; // riadkové piny klávesnice
bajtové stĺpceP [stĺpce] = {9, 8, 7, 6}; // stĺpce kolíka klávesnice
Klávesnica = Klávesnica (makeKeymap (tlačidlá), riadok P, stĺpce P, riadky, stĺpce); // vytvorenie klávesnice
Servo myServo; //
neplatné nastavenie () {
Serial.begin (9600); myServo.attach (5); // prichytenie serva na pine 9 k objektu serva}
prázdna slučka () {
char key = pad.getKey (); // získajte znak z klávesnice, ak (kláves == '0') {myServo.write (11); Serial.println ("0"); oneskorenie (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); oneskorenie (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); oneskorenie (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); oneskorenie (15); }
if (kľúč == '4')
{myServo.write (48); Serial.println ("4"); oneskorenie (15); }
if (kľúč == '5')
{myServo.write (60); Serial.println ("5"); oneskorenie (15); }
if (kľúč == '6')
{myServo.write (72); Serial.println ("6"); oneskorenie (15); }
if (kľúč == '7')
{myServo.write (84); Serial.println ("7"); oneskorenie (15); }
if (kľúč == '8')
{myServo.write (96); Serial.println ("8"); oneskorenie (15); }
if (kľúč == '9')
{myServo.write (108); Serial.println ("9"); oneskorenie (15); }
if (key == '*')
{myServo.write (120); Serial.println ("*"); oneskorenie (15); }
if (key == '#')
{myServo.write (132); Serial.println ("#"); oneskorenie (15); }
if (key == 'A')
{myServo.write (146); Serial.println ("A"); oneskorenie (15); }
if (kľúč == 'B')
{myServo.write (158); Serial.println ("B"); oneskorenie (15); }
if (key == 'C')
{myServo.write (170); Serial.println ("C"); oneskorenie (15); }
if (key == 'D')
{myServo.write (180); Serial.println ("D"); oneskorenie (15); }}
Odporúča:
Blokovanie zavesenia servo jedným tlačidlom: 3 kroky
Blokovanie servo odpruženia jedným tlačidlom: Horské bicykle s plným odpružením poskytujú plynulú jazdu, ale často vyžadujú zablokovanie odpruženia pri šliapaní do kopca. V opačnom prípade sa zavesenie stlačí, keď stojíte na pedáloch, pričom túto snahu mrháte. Výrobcovia bicyklov to vedia a poskytujú
Moderný a nový a jednoduchší príklad skrinky s maticovou klávesnicou Arduino 4x4: 3 kroky
Moderný a nový a jednoduchší príklad skrinky s maticovou klávesnicou Arduino 4x4: Ďalší príklad použitia matice LCD klávesnice 4x4 s obvodom I2C
DoReMiQuencer - Programovateľný MIDI sekvencer s klávesnicou: 7 krokov
DoReMiQuencer - Programovateľný MIDI sekvencer s klávesnicou: Toto zariadenie bolo vytvorené na použitie s VCVRack, virtuálnym modulárnym syntetizátorom vytvoreným VCV, ale môže slúžiť ako univerzálny MIDI kontrolér. V závislosti od zvoleného režimu slúži ako MIDI sekvencer alebo klávesnica. MIDI poznámky mapované do
Príklad skrinky s maticovou klávesnicou Arduino 4x4: 6 krokov
Príklad skrinky s maticovou klávesnicou Arduino 4x4: 2 spôsoby ovládania klávesnice s 16 tlačidlami s minimálnym počtom kolíkov
Nastavte modul DS1302 RTC s klávesnicou + Arduino + LCD: 3 kroky
Nastavte modul DS1302 RTC s klávesnicou + Arduino + LCD: Dobrý deň, práve som vyrobil tento malý projekt, dúfam, že sa vám bude páčiť, pretože názov hovorí o tom, ako pomocou klávesnice nastaviť DS1302, je to jeden zo základných projektov, ktoré môžete pridajte si ho do vlastného projektu, ak chcete pridať ďalšie moduly alebo funkcie … Je to v