Bộ điều khiển từ xa 7 thiết bị điện từ xa bằng điện thoại di động sử dụng công nghệ DTMF ( Điện thoại gắn vào mạch qua Tai nghe để ở chế độ tự động bắt máy).
Khuyên: Nên tìm hiểu bài viết Mạch điều khiển từ xa dùng tín hiệu thoại để hiểu IC MT8870
Đầu tiên mình sẽ giới thiệu đặc điểm cơ bản của bộ điều khiển này:
+ Điều khiển được 7 thiết bị ( có thể nâng cấp số lượng thiết bị lên )
+ Khoảng cách điều khiển : bất cứ ở đâu trên trái đất này ( chỉ cần có sóng điện thoại ) thậm chí trong tương lai có thể điều khiển từ Mặt Trăng hoặc sao Hỏa
Phụ tùng cần phải có của bộ điều khiển :
+ 1 điện thoại di động , loại nào cũng được ( có sim bên trong )
+ 1 sợi dây cáp tai nghe ( cắt bỏ phần tai nghe và lấy ta chỉ dùng 2 dây ra loa )
OK thế là đủ mình vào vấn đề chính luôn:
Trong phần này mình có đề cập tới DTMF , thế DTMF là cái quái gì nó có ăn được không ?.............
DTMF là viết tắt của cụm từ "Dual Tone Multiple Frequency" tạm dịch là âm thanh 2 giai điệu ( xin lỗi khả năng sư phạm của mình kém quá nên hơi khó hiểu )
Âm thanh này có giai điệu như thế nào ? các bạn có thừ khi goi cho 1 ai đó trong quá trình liên lạc đó nếu bên gọi nhấn các phím số thì bên nghe sẽ nghe được 1 âm thanh tút ,đó chính là âm thanh của DTMF
DTMF là tổ hợp âm thanh có 2 tần số khác nhau và nó được biễu diễn bởi 1 phương trình sau:
f(t) = A0sin(2*П*fa*t) + B0sin(2*П*fb*t)
Hình sau biểu diễn sự tương quan giữa các phím và tần số :
Như vậy theo hình trên khi ta nhấn bất kì 1 phím số nào trên điện thoại thì sẽ tạo ra 1 âm thanh DTMF và âm thanh này khác nhau ơ các phím số khác nhau
Vấn đề chính là ở anh DTMF này , các phím số khác nhau sẽ có DTMF khác nhau , bây giờ ta chỉ việc giải mã anh DTMF này là có thể điều khiển được , về phần giải mã DTMF mình dùng IC chuyên dụng MT8870 ( có thể giải mã DTMF trực tiếp bằng vi xử lí , nhưng hơi phức tạp nên mình không đề cập tới )
Nguyên lí hoạt động của bộ điều khiển này như sau :
Khi ta gọi ( bên A) cho cái máy điện thoại ( bên B) ở board mạch trung tâm ( phải cài đặt chế độ tự động trả lời cho cái điện thoại này ) sau đó 2 máy điện thoại sẽ kết nối với nhau và đi và chế độ thoại , bây giờ bên A nhấn 1 phím bất kì thì đầu ra loa bên B sẽ nghe được 1 âm thanh DTMF , âm thanh này được đưa vào IC MT8870D để giả mã ,đầu ra của IC giã mã này là một dữ liệu dạng BCD 4 bits , dữ liệu này được đưa vào chip vi xử lí PIC16F84A để xử lí và điều khiển 7 ROLE đóng cắt nguồn điện cấp cho thiết bị.
Nếu ta nhấn phím số 1 trên điện thoại thì ROLE 1 sẽ đóng, LED báo hiệu tương ứng sẽ sáng , khi ta nhấn lại lần nữa thì thì ROLE sẽ cắt và LED báo hiêu sẽ tắt theo ( tương tự cho các số còn lại )
Sơ đồ mạch của bộ điều khiển :
Hình ảnh mạch in 1 lớp :
Ghi chú : do mình sử dụng điện áp 12V cấp vào relay để bật sáng LED khi relay được bật nên khi các bạn có lắp các đèn LED vào thì nhớ lắp thêm 1 điện trở có giá trị là 1K nối tiếp với chân của LED rồi lắp vào mạch ( trở có mục đích là hạn dòng cho LED ) .. nếu không lắp thêm con điện trở này thì LED sẽ cháy ngay khi đóng điện cho relay ... chỉ lắp điện trở vào 7 LED của phần relay ( từ LED2 đến LED8 )......
Hình sau miêu tả sự tương quan của phím ấn và vị trí ROLE của bộ thu:
http://youtu.be/A-PQyc5tRg4
CODE lập trình của nó như sau:
#include "16F84A.h"
#FUSES NOWDT
#FUSES XT
#FUSES NOPUT
#FUSES PROTECT
#use delay(clock=3570000)
char num=0,val=0;
char read_BCD()
{
if(input(PIN_A0))val |= 0x01;
if(input(PIN_A1))val |= 0x02;
if(input(PIN_A2))val |= 0x04;
if(input(PIN_A3))val |= 0x08;
return(val);
}
void main()
{
int1 m=1;
set_tris_a(0xFF);
set_tris_b(0b00000001);
output_b(0x00);
while(true)
{
if((input(PIN_B0))&&(m==1)){num=read_BCD();val=0;m=0;}
if((input(PIN_B0))==0)m=1;
switch(num)
{
case 0:break;
case 1:
{
output_toggle(PIN_B1);
num=0;
break;
}
case 2:
{
output_toggle(PIN_B2);
num=0;
break;
}
case 3:
{
output_toggle(PIN_B3);
num=0;
break;
}
case 4:
{
output_toggle(PIN_B4);
num=0;
break;
}
case 5:
{
output_toggle(PIN_B5);
num=0;
break;
}
case 6:
{
output_toggle(PIN_B6);
num=0;
break;
}
case 7:
{
output_toggle(PIN_B7);
num=0;
break;
}
}
}
}
Code hex nạp vào chip :
:1000000000308A001B28000083160514831205188F
:1000100011148316851483128518911483160515FF
:1000200083120519111583168515831285199115EB
:1000300011088D00312884011F3083059001910142
:100040001214FF30650001306600831686018312AA
:100050008601831606148312061C3528121C3528C7
:1000600004280D08900091011210831606148312C3
:10007000061C12141008F83E03187228083E742853
:100080007228831686100230831286069001722829
:100090008316061104308312860690017228831697
:1000A0008611083083128606900172288316061284
:1000B0001030831286069001722883168612203033
:1000C000831286069001722883160613403083122D
:1000D0008606900172288316861380308312860666
:1000E00090017228292863000A108A100A118207D9
:1000F0004028412848284F2856285D2864286B2826
:02400E000900A7
:00000001FF
;PIC16F84A
;CRC=E619 CREATED="24-Oct-13 14:49"
VIDEO:
Đăng nhận xét