E muốn làm 1 thiết bị có chức năng là : ấn phím 1, 2, 3, 4 lần lượt 1s/phím. Sau khoảng 3' thì ấn phím P, và có 1 công tắc để ngắt điều khiển phím P. E đã tìm được 1 bài hướng dẫn, nhưng vẫn hơi khó cho người mới bắt đầu như e.
Các bác có thể giúp hướng dẫn chi tiết cách làm, và cần những linh kiện gì không ạ. Nếu có bác nào nhận làm thì gừi giá vào mail cho e nhé: giongto012@gmail.com
Đây là mẫu hướng dẫn e tìm được
Các bác có thể giúp hướng dẫn chi tiết cách làm, và cần những linh kiện gì không ạ. Nếu có bác nào nhận làm thì gừi giá vào mail cho e nhé: giongto012@gmail.com
Đây là mẫu hướng dẫn e tìm được
I. Những thứ cần chuẩn bị:
- 1 cái bàn phím, hiệu quả nhất là dùng loại đã bị liệt phím nhưng còn giao tiếp được với máy tính, loại usb là lý tưởng nhất ( ra tiệm net mà mua ).
- 1 con Vi Điều Khiển, có thể dùng 89, pic, avr ...&..., dùng loại nào thì phải có Kit nạp cho loại đó. Ở đây mình dùng 16F887 và Pickit 2
- Các thiết bị cần thiết: mỏ hàn, chì, nhựa thông, dây điện, 1 cái testboar hàn loại nhỏ ( giá khoảng 5k )
II. Bắt đầu nào !
Trước tiên bạn bung cái bàn phím ra sẽ thấy 3 lớp phím trong, ở đây bạn cần quan tâm đến dãy phím số phía trên và phím P, hãy đánh dấu chúng và dó xem chúng nối đến chân nào trên boar mạch điện tử. Một phím được nhấn khi ta nối tắt 2 chân bất kỳ trên boar điện tử ở đây mình dùng 4 phím là 1,2,3 và P.
Giờ hãy gắn VDK ( vi điều khiền) của bạn vào testboar, gắn thêm thạch anh và 2 cái tụ 22p, để điều khiển 4 phím ta cần 4 chân, mỗi chân của VDK sẽ điều khiển 1 con Transistor hoặc Fet để đóng ngắt 1 phim, 2 chân còn lại của transistor nối đến 2 chân trên boar mạch bàn phím ứng với phím cần điều khiển
Sau khi đã hoàn thành các bước trên bạn cần viết 1 chương trình để nạp vào VDK, để VDK điều khiển quá trình nhấn phím, ở đây mình cho nó nhấn 1,2,3 trong 40 lần rồi vận khí.
Code minh họa:
#include <16F887.h>
#fuses HS
#use delay(clock=20M)
int8 value;
void main()
{
output_D(0);
value=0;
while(true)
{
IF(value<40)
{
/////////////////////// Phim 1
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
delay_ms(200);
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
delay_ms(200);
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
////////////////////// Phim 2
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
//////////////////////
value=value+1; /// Tang bien dem len 1
}
else
{
output_high(Pin_D7); /// Bam P
delay_ms(500); ///
output_low(Pin_D7); ///
delay_ms(500);
output_high(Pin_D7);
delay_ms(500);
output_low(Pin_D7);
delay_ms(500);
output_high(Pin_D7);
delay_ms(500);
output_low(Pin_D7); ///
delay_ms(500);
value=0; /// Reset bien dem
delay_ms(17000); /// Thoi gian cho van khi
}
}
}
- 1 cái bàn phím, hiệu quả nhất là dùng loại đã bị liệt phím nhưng còn giao tiếp được với máy tính, loại usb là lý tưởng nhất ( ra tiệm net mà mua ).
- 1 con Vi Điều Khiển, có thể dùng 89, pic, avr ...&..., dùng loại nào thì phải có Kit nạp cho loại đó. Ở đây mình dùng 16F887 và Pickit 2
- Các thiết bị cần thiết: mỏ hàn, chì, nhựa thông, dây điện, 1 cái testboar hàn loại nhỏ ( giá khoảng 5k )
II. Bắt đầu nào !
Trước tiên bạn bung cái bàn phím ra sẽ thấy 3 lớp phím trong, ở đây bạn cần quan tâm đến dãy phím số phía trên và phím P, hãy đánh dấu chúng và dó xem chúng nối đến chân nào trên boar mạch điện tử. Một phím được nhấn khi ta nối tắt 2 chân bất kỳ trên boar điện tử ở đây mình dùng 4 phím là 1,2,3 và P.
Giờ hãy gắn VDK ( vi điều khiền) của bạn vào testboar, gắn thêm thạch anh và 2 cái tụ 22p, để điều khiển 4 phím ta cần 4 chân, mỗi chân của VDK sẽ điều khiển 1 con Transistor hoặc Fet để đóng ngắt 1 phim, 2 chân còn lại của transistor nối đến 2 chân trên boar mạch bàn phím ứng với phím cần điều khiển
Sau khi đã hoàn thành các bước trên bạn cần viết 1 chương trình để nạp vào VDK, để VDK điều khiển quá trình nhấn phím, ở đây mình cho nó nhấn 1,2,3 trong 40 lần rồi vận khí.
Code minh họa:
#include <16F887.h>
#fuses HS
#use delay(clock=20M)
int8 value;
void main()
{
output_D(0);
value=0;
while(true)
{
IF(value<40)
{
/////////////////////// Phim 1
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
delay_ms(200);
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
delay_ms(200);
output_high(Pin_D4);
delay_ms(200);
output_low(Pin_D4);
////////////////////// Phim 2
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
output_high(Pin_D5);
delay_ms(200);
output_low(Pin_D5);
delay_ms(200);
//////////////////////
value=value+1; /// Tang bien dem len 1
}
else
{
output_high(Pin_D7); /// Bam P
delay_ms(500); ///
output_low(Pin_D7); ///
delay_ms(500);
output_high(Pin_D7);
delay_ms(500);
output_low(Pin_D7);
delay_ms(500);
output_high(Pin_D7);
delay_ms(500);
output_low(Pin_D7); ///
delay_ms(500);
value=0; /// Reset bien dem
delay_ms(17000); /// Thoi gian cho van khi
}
}
}
Comment