Điều khiển thiết bị điện từ xa bằng Mobile ( DTMF)

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).




Đầ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:

( File mạch in + code hex)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Nguồn sưu tầm

Theo phan hoang thach
In bài này
Previous
Next Post »

4 comments

Click here for comments
4/5/14 ×

cho em tên linh kiện dc ko anh Chip

Reply
avatar
Chip Kool
admin
4/5/14 ×

@hiền lê long tên linh kiện có hết trên sơ đồ nguyên lý rồi nhé.

Reply
avatar
22/6/15 ×

Anh chíp cho e hỏi nếu ở xa có điều khiển được k ak

Reply
avatar
BlogChipkool
admin
22/6/15 ×

@NGUYỄN KIM ÁNH Ở xa vẫn điều khiển được nhé. Thoái mái luôn.

Reply
avatar

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!! ConversionConversion EmoticonEmoticon

       Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

THƯ MỤC KHO TÀI LIỆU MIỄN PHÍ ECHIPKOOL

Code 8051 - ASM Code 8051 - C Code AVR - C Code led sao băng Code PIC - C Điện tử cơ bản điện tử viễn thông Đo Nhiệt Độ DS18B20 + LCD Đo Nhiệt Độ LM35 + LCD Đo Nhiệt Độ LM35 + Led 7 thanh Đo tốc độ động cơ Động cơ robo Ebook Đại Học ebook điện tử Ebook đồ án Học Orcad Học Protues Hồng ngoại Lập Trình 8051 Lập Trình AVR lập trình c++ Lập Trình Led Quảng Cáo lập trình PIC Lập trình Robot Lập trình VHDL Lcd16x2 Led Clock Led Quay Led RGB Mạch 7seg Mạch Amply.Mạch Loa Mạch Cảm Biến Mạch cube Mạch Đếm Sản Phẩm Mạch điện cơ bản Mạch điện hay Mạch Điện Ứng Dụng Mạch đọc file nhạc MP3 dùng Atmega 8 Mạch Động Cơ Mạch đồng hồ Mạch đồng hồ LCD Mạch đồng hồ Matrix Mạch giao thông Mạch in Mạch khóa số điện tử Mạch Led đơn Mạch Led Quảng Cáo Mạch Led Vumeter Mạch Ma trận Phím Mạch Matrix Mạch nạp Mạch nguồn Mạch Nút Bấm Mạch RS232 Mạch RS485 Mạch thu phát Mạch tổ hợp MSI Mạch trái tim Mạch truyền điện không dây Mạch Vi điều khiển Module Bluetooth Module Sim Module Sim548 Motor Nhiệt độ - Độ ẩm oscilloscope Phần mềm điện tử Phần Mềm Diệt Viruts Phần Mềm Hay Phần Mềm Led Quảng Cáo Phần mềm vi tính robocon Rule robocon Sạc Acquy Sản Phẩm Thương Mại Sáng tạo Smart Home Tài liệu Điện Tử Tranzitor Tụ điện TUT - 8051 - ASM TUT - 8051 - KeilC UART Ứng Dụng Led Quảng Cáo Ứng dụng USB USB TO COM Vi điều khiển - Ứng dụng Vi mạch số VOM Wifi ESP8266