Mục lục:
Video: Định vị Servo bằng bàn phím: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Trong hướng dẫn này, chúng tôi sẽ tạo một dự án sẽ điều khiển một Micro-Servo bằng bàn phím chạy nó với Arduino Uno.
Vật liệu được sử dụng:
Arduino Uno
Breadboard
Bàn phím 4x4
Micro-Servo
Bước 1: Nối bàn phím
Việc đầu tiên bạn cần làm là nối dây nguồn và thanh nối đất trên breadboard từ Arduino của bạn
- Kết nối chân 5V với thanh nguồn (màu đỏ)
- Kết nối chân nối đất (GND) với thanh nối đất (màu xanh lam)
Bây giờ breadboard đã có điện và được nối đất, chúng ta có thể bắt đầu nối dây các thành phần của mình.
Kết nối bàn phím rất dễ dàng nhưng bạn cần lưu ý các chân cắm trên bàn phím và arduino. Nó sẽ có ích khi chúng ta chuyển sự chú ý vào mã của mình.
Hãy nhớ bắt đầu ở bên trái khi sử dụng dây của bạn!
- Pin đầu tiên chuyển đến 13
- Pin thứ hai chuyển đến 12
- Pin thứ ba chuyển đến 11
- Chốt thứ tư chuyển đến 10
- Pin thứ năm đến 9
- Ghim thứ sáu đến 8
- Ghim thứ bảy đến 7
- Ghim thứ tám đến 6
Khi đấu dây bàn phím, hãy nhớ giữ một chốt pwm kỹ thuật số luôn mở. Chúng tôi sẽ cần nó cho micro-servo
Trước khi chúng ta xem mã, hãy đảm bảo rằng bạn đã cài đặt Thư viện bàn phím. Nó có thể được tìm thấy trong bản phác thảo của bạn, sau đó là tab bản phác thảo, bao gồm thư viện. Bạn sẽ không thể sử dụng bàn phím nếu không có nó.
Bây giờ chúng ta hãy chuyển sang mã và đảm bảo bàn phím hoạt động và cung cấp các giá trị đã tham dự
Ghi chú nhanh: Đảm bảo bạn có câu lệnh if để kiểm tra bàn phím, nếu không nó sẽ không hoạt động. Ngoài ra, hãy cẩn thận với sự chậm trễ, chúng sẽ gây rối với các nút được đăng ký từ bàn phím
#bao gồm
const hàng byte = 4; // bốn hàng vì bàn phím đã đầy
cột byte const = 4; // bốn cột, giống như trên
nút char [hàng] [cột] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [row] = {13, 12, 11, 10}; // các chân hàng của bàn phím
byte cộtP [cột] = {9, 8, 7, 6}; // chân cột của bàn phím
Bàn phím bàn phím = Bàn phím (makeKeymap (các nút), rowP, cộtP, hàng, cột); // tạo bàn phím
void setup () {
Serial.begin (9600); }
void loop () {
char buttonPressed = pad.getKey (); // lấy ký tự từ bàn phím if (buttonPressed) // hiển thị nút nào được nhấn trên bàn phím {Serial.println (buttonPressed); }}
Bước 2: Thêm Micro Servo
Bây giờ, hãy thêm động cơ servo. Cái này thực sự dễ dàng để thêm vào dự án hiện tại của chúng tôi vì máy chủ vi mô chỉ có ba dây.
- Dây màu nâu đi đến đường ray nối đất trên breadboard
- Màu đỏ chuyển đến Đường ray điện
- Màu cam đi đến Pin 3 trên Arduino. Hãy nhớ máy chủ vi mô phải có chân PWM trên Arduino. Điều này là do servo sử dụng TIMER2
Bây giờ, hãy đảm bảo rằng chúng tôi đã đấu dây đúng micro servo và nó di chuyển
#include #include "Servo.h"
const hàng byte = 4; // bốn hàng vì bàn phím đã đầy
cột byte const = 4; // bốn cột, giống như trên
nút char [hàng] [cột] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [row] = {13, 12, 11, 10}; // các chân hàng của bàn phím
byte cộtP [cột] = {9, 8, 7, 6}; // chân cột của bàn phím
Bàn phím bàn phím = Bàn phím (makeKeymap (các nút), rowP, cộtP, hàng, cột); // tạo bàn phím
Servo currentServo; // tạo đối tượng servo để điều khiển một servo
// có thể tạo mười hai đối tượng servo trên hầu hết các bảng
int pos = 0; // biến để lưu vị trí servo
void setup () {
Serial.begin (9600); currentServo.attach (3); // gắn servo trên chân 9 vào đối tượng servo
}
void loop () {
char buttonPressed = pad.getKey (); // lấy ký tự từ bàn phím if (buttonPressed) // hiển thị nút nào được nhấn trên bàn phím {Serial.println (buttonPressed); }
currentServo.write (95);
}
Bước 3: Sửa đổi mã để sử dụng bàn phím trên Servo
Biết rằng chúng ta sẽ sửa đổi mã của mình để khi chúng ta nhấn một nút cụ thể trên bàn phím, servo sẽ di chuyển đến một vị trí cụ thể. Một điều quan trọng đầu tiên. Vị trí servo cho 0 thật kỳ lạ. Vì tôi có một servo quay liên tục, bất cứ khi nào nó gần về 0, servo chỉ bắt đầu quay. Số lượng tôi nhập mã thấp đến mức tôi có thể làm được nếu không có chuyện đó xảy ra. Dù sao, đây là mã cuối cùng của tôi:
#include #include
const hàng byte = 4; // bốn hàng vì bàn phím đã đầy
cột byte const = 4; // bốn cột, giống như trên
nút char [hàng] [cột] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowP [row] = {13, 12, 11, 10}; // các chân hàng của bàn phím
byte cộtP [cột] = {9, 8, 7, 6}; // chân cột của bàn phím
Bàn phím bàn phím = Bàn phím (makeKeymap (các nút), rowP, cộtP, hàng, cột); // tạo bàn phím
Servo myServo; //
void setup () {
Serial.begin (9600); myServo.attach (5); // gắn servo trên chân 9 vào đối tượng servo}
void loop () {
khóa char = pad.getKey (); // lấy char từ bàn phím if (key == '0') {myServo.write (11); Serial.println ("0"); chậm trễ (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); chậm trễ (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); chậm trễ (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); chậm trễ (15); }
if (key == '4')
{myServo.write (48); Serial.println ("4"); chậm trễ (15); }
if (key == '5')
{myServo.write (60); Serial.println ("5"); chậm trễ (15); }
if (key == '6')
{myServo.write (72); Serial.println ("6"); chậm trễ (15); }
if (key == '7')
{myServo.write (84); Serial.println ("7"); chậm trễ (15); }
if (key == '8')
{myServo.write (96); Serial.println ("8"); chậm trễ (15); }
if (key == '9')
{myServo.write (108); Serial.println ("9"); chậm trễ (15); }
if (key == '*')
{myServo.write (120); Serial.println ("*"); chậm trễ (15); }
if (key == '#')
{myServo.write (132); Serial.println ("#"); chậm trễ (15); }
if (key == 'A')
{myServo.write (146); Serial.println ("A"); chậm trễ (15); }
if (key == 'B')
{myServo.write (158); Serial.println ("B"); chậm trễ (15); }
if (key == 'C')
{myServo.write (170); Serial.println ("C"); chậm trễ (15); }
if (key == 'D')
{myServo.write (180); Serial.println ("D"); chậm trễ (15); }}
Đề xuất:
Giao diện bàn phím với 8051 và hiển thị số bàn phím trong 7 phân đoạn: 4 bước (có hình ảnh)
Giao diện bàn phím với 8051 và hiển thị số bàn phím trong 7 phân đoạn: Trong hướng dẫn này, tôi sẽ cho bạn biết về cách chúng ta có thể giao diện bàn phím với 8051 và hiển thị số bàn phím trong màn hình 7 đoạn
Giao diện Bàn phím LCD 16x2 chữ và số và bàn phím ma trận 4x4 với Raspberry Pi3: 5 bước (có hình ảnh)
Giao diện Bàn phím ma trận màn hình LCD và 4x4 16x2 chữ và số với Raspberry Pi3: Trong phần hướng dẫn này, chúng tôi giải thích cách giao diện bàn phím ma trận 16x2 LED và 4x4 với Raspberry Pi3. Chúng tôi sử dụng Python 3.4 để phát triển phần mềm. Bạn cũng có thể chọn Python 2.7, với ít thay đổi
Bàn phím Das nhanh và bẩn (Bàn phím trống): 3 bước
Bàn phím Das nhanh và bẩn (Bàn phím trống): Bàn phím A Das là tên của bàn phím phổ biến nhất không có chữ khắc trên các phím (bàn phím trống). Bàn phím Das được bán lẻ với giá 89,95 đô la. Tài liệu hướng dẫn này sẽ hướng dẫn bạn cách tự làm một cái bằng bất kỳ bàn phím cũ nào mà bạn có
Làm sạch bàn phím nhôm Apple . hoặc bất kỳ bàn phím cảm ứng mềm nào khác: 5 bước
Vệ sinh Bàn phím nhôm Apple …. hoặc Bất kỳ Bàn phím cảm ứng mềm nào khác: Dù bạn hay tôi cũng có thể cố gắng giữ cho những bàn phím Apple nhôm của chúng tôi trở nên bẩn thỉu sau một năm hoặc lâu hơn. Hướng dẫn này là để giúp bạn làm sạch nó. Hãy cẩn thận, bởi vì tôi không chịu trách nhiệm nếu bàn phím của bạn bị vỡ trong khi làm việc này …. SUCKS F
Tạo bảng tên sáng từ phím bàn phím: 6 bước
Tạo bảng tên sáng từ phím bàn phím: Tài liệu hướng dẫn này sẽ chỉ cho tất cả các bạn cách tạo bảng tên sáng từ một số phím bàn phím phế liệu và một vài thiết bị điện tử. Bắt đầu nào