Spisu treści:
- Krok 1: Podłącz klawiaturę
- Krok 2: Dodaj Micro Servo
- Krok 3: Zmodyfikuj kod, aby używać klawiatury na serwo
Wideo: Pozycjonowanie serwomechanizmu za pomocą klawiatury: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
W tej instrukcji będziemy tworzyć projekt, który będzie kontrolował Micro-Servo za pomocą klawiatury obsługującej go z Arduino Uno.
Użyte materiały:
Arduino Uno
Deska do krojenia chleba
Klawiatura 4x4
Mikro-serwo
Krok 1: Podłącz klawiaturę
Pierwszą rzeczą, którą musisz zrobić, to podłączyć szynę zasilającą i szynę uziemiającą na płytce stykowej z Arduino
- Podłącz pin 5 V do szyny zasilającej (czerwony)
- Podłącz pin uziemiający (GND) do szyny uziemiającej (niebieskiej)
Teraz, gdy płytka stykowa ma zasilanie i jest uziemiona, możemy rozpocząć okablowanie naszych komponentów.
Okablowanie klawiatury jest łatwe, ale musisz zwrócić uwagę na piny na klawiaturze i arduino. Przyda się, gdy zwrócimy uwagę na nasz kod.
Pamiętaj, aby podczas korzystania z przewodów zacząć od lewej!
- Pierwszy pin idzie do 13
- Drugi pin idzie do 12
- Trzeci pin idzie do 11
- Czwarty pin idzie do 10
- Piąty pin do 9
- Szósty pin do 8
- Siódma szpilka do 7
- Ósmy pin do 6
Podczas podłączania okablowania manipulatora pamiętaj, aby cyfrowy pin pwm był otwarty. Będziemy go potrzebować do mikroserwo
Zanim przejdziemy do kodu, upewnij się, że masz zainstalowaną Bibliotekę Klawiatur. Można go znaleźć w swoim szkicu, a następnie w zakładce szkicu, dołącz bibliotekę. Bez niej nie będziesz mógł korzystać z klawiatury.
Teraz przejdźmy do kodu i upewnij się, że klawiatura działa i podaje nadzorowane wartości
Szybkie uwagi: Upewnij się, że masz instrukcję if, aby sprawdzić klawiaturę, w przeciwnym razie nie zadziała. Uważaj również na opóźnienia, będą bałaganić z przyciskami rejestrowanymi z klawiatury
#włączać
stałe rzędy bajtów = 4; //cztery rzędy, ponieważ klawiatura jest pełna
kolumny bajtów stałych = 4; //cztery kolumny, jak wyżej
przyciski znaków[wiersze][kolumny] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bajt wierszP[wiersze] = {13, 12, 11, 10}; //wiersz pinów manipulatora
bajtowe kolumnyP[kolumny] = {9, 8, 7, 6}; //kołki kolumn manipulatora
Klawiatura = Klawiatura(makeKeymap(przyciski), wierszP, kolumnyP, wiersze, kolumny); //utwórz klawiaturę
pusta konfiguracja (){
Serial.początek(9600); }
pusta pętla () {
char buttonPressed = pad.getKey(); //pobranie znaku z klawiatury if(buttonPressed) //pokazanie, jaki przycisk został naciśnięty na klawiaturze { Serial.println(buttonPressed); } }
Krok 2: Dodaj Micro Servo
Teraz dodajmy silnik servo. Ten jest naprawdę łatwy do dodania do naszego obecnego projektu, ponieważ mikroserwer ma tylko trzy przewody.
- Brązowy przewód biegnie do szyny uziemiającej na płytce stykowej
- Czerwony idzie do szyny zasilania
- Pomarańczowy idzie do Pin 3 na Arduino. Pamiętaj, że mikro serwer musi mieć pin PWM na Arduino. Wynika to z serwa używającego TIMER2
Teraz upewnijmy się, że mikro serwo zostało prawidłowo podłączone i że się porusza
#include #include "Servo.h"
stałe rzędy bajtów = 4; //cztery rzędy, ponieważ klawiatura jest pełna
kolumny bajtów stałych = 4; //cztery kolumny, jak wyżej
przyciski znaków[wiersze][kolumny] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bajt wierszP[wiersze] = {13, 12, 11, 10}; //wiersz pinów manipulatora
bajtowe kolumnyP[kolumny] = {9, 8, 7, 6}; //kołki kolumn manipulatora
Klawiatura = Klawiatura(makeKeymap(przyciski), wierszP, kolumnyP, wiersze, kolumny); //utwórz klawiaturę
Serwo prądSerwo; // utwórz obiekt servo do sterowania serwo
// na większości tablic można stworzyć dwanaście obiektów serwo
int poz = 0; // zmienna do przechowywania pozycji serwa
pusta konfiguracja (){
Serial.początek(9600); currentServo.attach(3); // dołącza serwo na pin 9 do obiektu serwo
}
pusta pętla () {
char buttonPressed = pad.getKey(); //pobranie znaku z klawiatury if(buttonPressed) //pokazanie, jaki przycisk został naciśnięty na klawiaturze { Serial.println(buttonPressed); }
currentServo.write(95);
}
Krok 3: Zmodyfikuj kod, aby używać klawiatury na serwo
Wiedz, że zamierzamy zmodyfikować nasz kod, aby po naciśnięciu określonego przycisku na klawiaturze serwo przemieściło się do określonej pozycji. Najpierw rzecz ważna. Pozycja serwa dla 0 była dziwna. Ponieważ miałem serwo z ciągłym obrotem, gdy zbliżało się do 0, serwo zaczynało się kręcić. Numer, który umieściłem w kodzie, był tak niski, jak mogłem, aby to się nie wydarzyło. Tak czy inaczej, oto mój ostateczny kod:
#włącz #włącz
stałe rzędy bajtów = 4; //cztery rzędy, ponieważ klawiatura jest pełna
const bajtowe kolumny = 4; //cztery kolumny, jak wyżej
przyciski znaków[wiersze][kolumny] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
bajt wierszP[wiersze] = {13, 12, 11, 10}; //wiersz pinów manipulatora
bajtowe kolumnyP[kolumny] = {9, 8, 7, 6}; //kołki kolumn manipulatora
Klawiatura = Klawiatura(makeKeymap(przyciski), wierszP, kolumnyP, wiersze, kolumny); //utwórz klawiaturę
Serwo myServo; //
pusta konfiguracja (){
Serial.początek(9600); mojeSerwo.attach(5); // dołącza serwo na pinie 9 do obiektu serwo }
pusta pętla () {
klawisz znaku = pad.getKey(); //pobierz znak z klawiatury if(key == '0') { myServo.write(11); Serial.println("0"); opóźnienie(15); } if(key == '1') { myServo.write(12); Serial.println("1"); opóźnienie(15); } if(key == '2') { myServo.write(24); Serial.println("2"); opóźnienie(15); } if(key == '3') { myServo.write(36); Serial.println("3"); opóźnienie(15); }
if(klucz == '4')
{ mojeSerwo.zapis(48); Serial.println("4"); opóźnienie(15); }
if(klucz == '5')
{ mojeSerwo.zapis(60); Serial.println("5"); opóźnienie(15); }
if(klucz == '6')
{ mojeSerwo.zapis(72); Serial.println("6"); opóźnienie(15); }
if(klucz == '7')
{ mojeSerwo.write(84); Serial.println("7"); opóźnienie(15); }
if(klucz == '8')
{ mojeSerwo.zapis(96); Serial.println("8"); opóźnienie(15); }
if(klucz == '9')
{ mojeSerwo.zapis(108); Serial.println("9"); opóźnienie(15); }
if(klucz == '*')
{ mojeSerwo.zapis(120); Serial.println("*"); opóźnienie(15); }
if(klucz == '#')
{ mojeSerwo.zapis(132); Serial.println("#"); opóźnienie(15); }
if(klucz == 'A')
{ mojeSerwo.zapis(146); Serial.println("A"); opóźnienie(15); }
if(klucz == 'B')
{ mojeSerwo.zapis(158); Serial.println("B"); opóźnienie(15); }
if(klucz == 'C')
{ mojeSerwo.write(170); Serial.println("C"); opóźnienie(15); }
if(klucz == 'D')
{ mojeSerwo.zapis(180); Serial.println("D"); opóźnienie(15); } }
Zalecana:
Blokada serwomechanizmu klawiatury: 5 kroków
Keypad Servo Lock: Witam wszystkich, życzę miłego dnia. Jeśli nie, miejmy nadzieję, że możesz cofnąć się z odrobiną otwartego umysłu do tego samouczka i trochę terapeutycznej muzyki. Programowanie może być kłopotliwe. Na szczęście ten samouczek nie jest kłopotliwy, więc być może będziesz w stanie wykonać
Tester serwomechanizmu za pomocą Ic 555: 4 kroki
Tester serwomechanizmu przy użyciu Ic 555: w tym samouczku pokażę ci, jak zrobić prosty tester serwomechanizmu przy użyciu 555 ic
Interfejs klawiatury z 8051 i wyświetlaniem numerów klawiatury w 7 segmentach: 4 kroki (ze zdjęciami)
Interfejs klawiatury z 8051 i wyświetlaniem numerów klawiatury w 7 segmentach: W tym samouczku opowiem ci, jak możemy połączyć klawiaturę z 8051 i wyświetlać numery klawiatury w 7-segmentowym wyświetlaczu
Przycisk klawiatury pozycjoner serwomechanizmu: 3 kroki
Pozycjoner serwomechanizmu przycisku klawiatury: W tej instrukcji będzie można nacisnąć przycisk na klawiaturze iw zależności od tego, jaki znak został naciśnięty, silnik serwo obróci się o pewien stopień. Program będzie stale zapętlony za każdym razem, gdy zostanie naciśnięty przycisk
Czyszczenie aluminiowej klawiatury Apple . lub dowolnej innej klawiatury miękkiej w dotyku: 5 kroków
Czyszczenie aluminiowej klawiatury Apple …. lub dowolnej innej klawiatury miękkiej w dotyku: Tak czyste, jak Ty lub ja staramy się utrzymać nasze aluminiowe klawiatury Apple, stają się brudne po mniej więcej roku. Ta instrukcja ma pomóc ci ją wyczyścić. Bądź ostrożny, ponieważ nie jestem odpowiedzialny, jeśli twoja klawiatura się zepsuje podczas robienia tego …. DO CIAŁA