www.thachdt.com www.thachdt.com www.thachdt.com www.thachdt.com Điện thoại: 0901965800

Thứ Tư, 18 tháng 10, 2017

Filled Under:

Mạch điều khiển từ xa RF 4 kênh









Xin chào !
Bạn có muốn điều khiển bật tắt 1 bóng đèn từ xa ở khoản cách vài mét đến vài chục mét hay là vài km mà không cần phải lê thân tới chổ có công tắt không , hay chỉ đơn giản là bạn muốn bật tắt 1 bóng đèn trong phòng lúc bạn đã đặt lưng trên giường ngủ và đang ở chế độ lười chỉ muốn nằm . Hãy để mạch sau đây thay bạn làm những việc đó 

IMG_0279
Thêm chú thích
Sau đây là video mô tả hoạt động trên mạch thực tế :

Để bắt đầu làm mạch này bạn cần phải có những đồ nghề sau :
+ Máy hàn nhỏ ,chì hàn , nhựa thông , kìm bấm , đồng hồ đo điện ( không có cũng được mà có thì càng tốt )
+ Mạch nạp pitkit2 hoặc burn-e để nạp chương trình cho vi điều khiển PIC ( có kèm phần mềm nạp ) , 1 máy tính laptop
+ 1 cục nguồn 220V – 12V để test mạch
Linh kiện : ( nên lấy mỗi thứ 10 con nhỡ có hỏng con nào thì có mà thay vô )
+ PIC16F54 , PT2272-M4 , C1815 , 78L05 , nút nhấn nhỏ loại tròn 2 chân , module thu sóng 315Mhz loại không có IC , Role 12V 5 chân , Domino 2C ( màu xanh ) , Diode 1N4007 , Diode 1N4148 , đèn LED 3mm ( màu gì cũng được ) , điện trở 10K , điện trở 4K7 , điện trở 1K , điện trở 620k ( phải mua đúng loại điện trở này ) , tụ hóa 220uF-16V ,tụ hóa 47uF-16V , tụ gốm 100nF ( tụ trên lưng có ghi số 104 ) , loa chíp nhỏ loại 12V
+ Remote 315Mhz loại có 4 nút ( giống như hình )
remote4kenh

Sơ đồ mạch :
so do

Trong sơ đồ có con vi điều khiển PIC16F54 cần phải nạp chương trình thì mạch mới chạy , bạn tải file ad đã đính kèm link , trong đó có file main.hex bạn dùng file đó nạp vào chíp , bạn có thể xem thêm bài viết về cách nạp chương trình cho chíp hoặc nhờ chổ bản chíp nạp dùm
Mạch dưới dạng layout vẽ trên proteus 8 :
mach

Làm mạch in : trong file tải về ( ở cuối bài viết ) có file mach.pdsprj , các bạn dùng proteus 8 để mở file đó lên và chuyển sang phần layout để in mạch , mạch có thể làm thủ công hoặc đặt bên chuyên gia công mạch in làm ( bạn có thể tùy chỉnh file layout này )

Ảnh mạch thực tế ad làm thủ công như hình sau :
IMG_0279
IMG_0280

Cấu hình địa chỉ của remote 4 nút để mạch nhận remote : mở 3 con vít nhỏ để tháo remote ra và để trông 8 chân địa chỉ khoanh vùng màu đỏ trên mạch
IMG_0738

Sơ đồ đấu ghép bóng đèn với mạch :
so do dau dien

Code viết trên CCS :
//////////////////////////////////////////////////////////////////////////////////////////////
///////////////////// Blog: https://220von.blogspot.com  ////////////////
////////////////////  Email : 220von.com@gmail.com   ////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
#include <16f54.h>
#FUSES WDT // Watch Dog Timer
#FUSES LP //Low power osc < 200 khz
#FUSES PROTECT //Code protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=68000,RESTART_WDT)
#define R4 PIN_B4
#define R3 PIN_B5
#define R2 PIN_B6
#define R1 PIN_B7
#define D0 PIN_A2
#define D1 PIN_A3
#define D2 PIN_A0
#define D3 PIN_A1
#define N1 PIN_B0
#define N2 PIN_B1
#define N3 PIN_B2
#define N4 PIN_B3
void main (void)
{
SETUP_WDT(WDT_1152MS );
RESTART_WDT();
set_tris_b(0b11110000);
set_tris_a(0xff);
output_low(R1);
output_low(R2);
output_low(R3);
output_low(R4);
int1 R1_set=0,R2_set=0,R3_set=0,R4_set=0;
while(true)
{
RESTART_WDT();
if((input(D0))&&(R1_set==1)){output_toggle(R1);R1_set=0;}
else if((input(N1))&&(R1_set==1)){output_toggle(R1);R1_set=0;}
if(((input(D0))==0)&&((input(N1))==0))R1_set=1;
if((input(D1))&&(R2_set==1)){output_toggle(R2);R2_set=0;}
else if((input(N2))&&(R2_set==1)){output_toggle(R2);R2_set=0;}
if(((input(D1))==0)&&((input(N2))==0))R2_set=1;
if((input(D2))&&(R3_set==1)){output_toggle(R3);R3_set=0;}
else if((input(N3))&&(R3_set==1)){output_toggle(R3);R3_set=0;}
if(((input(D2))==0)&&((input(N3))==0))R3_set=1;
if((input(D3))&&(R4_set==1)){output_toggle(R4);R4_set=0;}
else if((input(N4))&&(R4_set==1)){output_toggle(R4);R4_set=0;}
if(((input(D3))==0)&&((input(N4))==0))R4_set=1;
}
}

Chúc các bạn lắp ráp mạch thành công
Ghi chú : không sao chép bài viết này lên các trang khác , nếu chia sẽ xin hay chia sẽ đường link bài viết , xin cám ơn !
Nếu các bạn muốn hợp tác với mình để mở rộng chức năng cho ứng dụng này hoặc chia sẻ ý tưởng ứng dụng vào cuộc sống thì gửi mail cho mình theo địa chỉ : 220von.com@gmail.com
Hoặc theo dõi trang fan page facebook : https://www.facebook.com/220von/

2 nhận xét:

nguyenthanh nói...

bán mạch như thế này không a

Unknown nói...

khoảng cách xa nhất mà mạch có thể điều khiển là bao nhiêu vậy anh?