Xem thêm bài này nhé.
Điều Khiển Từ Xa 4 Kênh RF Học Mã Hay Nhất
[success title="LINH KIỆN CẦN " icon="check-circle"] + 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
+ 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 )[/success]
Module Điều Khiển 4 Kênh
Sơ Đồ Mạch Nguyên Lý
Mạch In Làm Thực Tế
Lưu Ý Đấu Dây
Mạch Thật Thực Tế
Code CCS
Nếu bạn chưa biết về CCS có thể xem thêm ở đây:
[Download] CCS 4.104 FULL - Trình Biên Dịch Vi Điều Khiển PIC
#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;
}
} [/warning]
Video Mạch Thực Tế
Đăng nhận xét