Thông báo

Collapse
No announcement yet.

bác nào có mạch + chương trình làm IR remote 8 kênh không ?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • bác nào có mạch + chương trình làm IR remote 8 kênh không ?

    em xin cám ơn nhiều, em đang làm đồ án ấy mà !
    tại em chưa có manh mối gì để làm hết nên mới cầu cứu !

  • #2
    bạn căn làm mạch này bằng ic số ah.mạch của mình thu phát bằng hồng ngoai với khoảng cánh 10m.rất đơn giản.được 10 lệnh.cần thì liên hệ qua email:tung050783@yahoo.com.

    Comment


    • #3
      em làm với 8051 các bác à !
      9148/9149 thì ko được, các bác giúp cho ! hix

      Comment


      • #4
        đây là luận văn của một nhóm bạn đã chia sẻ trên diễn đàn đề tài là dùng 8051 để thu và giải mã remote Sony, bạn chỉ cần tham khảo cách bắt xung nhịp và cách phát xung từ remote sau đó thì có thể viết code cho 2 con 8051 một con phát 1 con thu là được
        Attached Files
        Chính thức phát hành mạch điều khiển LED FireStar1
        Yêu mến tất cả anh em dientuvietnam.net

        Comment


        • #5
          cám ơn bác thaithienanh rất nhiều ! Nhưng giá mà có trọn vẹn thì tốt quá ! các file hình như bị cắt xén ngay "khúc quan trọng" rồi ! Nguyên lý thì trên mạng em thấy cũng nhiều nhưng làm thế nào để nhận , để đo mới là vấn đế chứ, hic !

          Comment


          • #6
            ủa mình thấy nó đủ rùi mà đâu có thiếu đâu bạn
            Chính thức phát hành mạch điều khiển LED FireStar1
            Yêu mến tất cả anh em dientuvietnam.net

            Comment


            • #7
              ui, em cũng xin lỗi mắt nhắm mắt mở đọc chưa kỹ !
              Cám ơn bác rất nhiều ! Có vẻ như em tìm thấy ánh sáng cuối đường hầm rối ! hehe

              Comment


              • #8
                Nguyên văn bởi Real Xem bài viết
                ui, em cũng xin lỗi mắt nhắm mắt mở đọc chưa kỹ !
                Cám ơn bác rất nhiều ! Có vẻ như em tìm thấy ánh sáng cuối đường hầm rối ! hehe
                Mình cũng đang làm đồ án môn học về cái IR remote control 8 channel, nhưng Thầy bắt làm phần phát là 8051 còn phần thu thì thiết kế mạch thu bằng các IC số. Ai có thông tin gì thì cia sẽ cho mình với, Cảm ơn nhiều! mình đang bối rối quá!

                Comment


                • #9
                  Nguyên văn bởi Real Xem bài viết
                  em xin cám ơn nhiều, em đang làm đồ án ấy mà !
                  tại em chưa có manh mối gì để làm hết nên mới cầu cứu !
                  Real ơi bạn đã làm được mạch phát chưa? nếu rồi bạn post phần chương trình phát xung của mạch phát cho mình tham khảo với nhe. cảm ơn bạn nhiều.

                  Comment


                  • #10
                    Nguyên văn bởi thaithienanh Xem bài viết
                    đây là luận văn của một nhóm bạn đã chia sẻ trên diễn đàn đề tài là dùng 8051 để thu và giải mã remote Sony, bạn chỉ cần tham khảo cách bắt xung nhịp và cách phát xung từ remote sau đó thì có thể viết code cho 2 con 8051 một con phát 1 con thu là được
                    Bạn post luôn chương trinh cho con phat lên duoc ko cho mọi nguoi tham khảo luôn. File minh tai xuong chi co sơ đồ cho mach phat chứ ko có chuong trinh.

                    Comment


                    • #11
                      Đây là project giải mã Remote SONY, làm gì có chương trình phát.
                      Nếu bạn muốn viết chương trình phát thì hơi khó một chút vì phải tạo sóng và mã hóa lệnh truyền.
                      Một bông hồng cho những ai đang còn mẹ,
                      Đang còn mẹ để lòng vui sướng hơn ..

                      Comment


                      • #12
                        Đúng là phần file bác thaithienanh đưa lên là rất đầy đủ nhưng em không biết cái đồ án/ luận văn đấy thầy sẽ chấm như thế nào vì nó ....đóng mở relay liên tục theo chu kỳ n*25ms (n là khoảng >3) vì có loại bỏ vài code để nhận cho đúng ! Vì cứ nhận đúng code là lại đảo bit ngõ ra, trong khi cứ 25ms thì bộ phát lại phát lại code ! Thành ra cứ đảo liên tục ! Dùng thiết bị mà đóng mở nhanh như thế thì nguy thật ! Em đang tìm cách khắc phục cái này !
                        Không biết Sony làm thế nào để xử lý cái này nhỉ ?
                        Để khắc phục, em cũng dùng thử so code : nếu code trước giống code sau thì bỏ qua, quay lại nhận code tiếp nhưng hình như với vài code đầu, chương trình bị "kẹt" ở bit nào đó, vì phải chờ ngõ vào lên/xuống mà, thành ra chương trình chờ..bất tận luôn !
                        Còn mạch phát thì các bác dùng chip mã hóa x -> 2^x rồi move nội dung code vào A, sau đó cứ dịch trái/phải qua C rồi phát đi thôi, sau đó đem tín hiệu này nhân với xung 38khz , chắc được chứ nhỉ ?

                        Comment


                        • #13
                          Bác Real mà tìm ra được chương trình hợp lý rồi thì post bài lên cho em tìm hiểu với nhé. Sơ nhập môn này mà

                          Comment


                          • #14
                            Nguyên văn bởi Real Xem bài viết
                            Đúng là phần file bác thaithienanh đưa lên là rất đầy đủ nhưng em không biết cái đồ án/ luận văn đấy thầy sẽ chấm như thế nào vì nó ....đóng mở relay liên tục theo chu kỳ n*25ms (n là khoảng >3) vì có loại bỏ vài code để nhận cho đúng ! Vì cứ nhận đúng code là lại đảo bit ngõ ra, trong khi cứ 25ms thì bộ phát lại phát lại code ! Thành ra cứ đảo liên tục ! Dùng thiết bị mà đóng mở nhanh như thế thì nguy thật ! Em đang tìm cách khắc phục cái này !
                            Không biết Sony làm thế nào để xử lý cái này nhỉ ?
                            Để khắc phục, em cũng dùng thử so code : nếu code trước giống code sau thì bỏ qua, quay lại nhận code tiếp nhưng hình như với vài code đầu, chương trình bị "kẹt" ở bit nào đó, vì phải chờ ngõ vào lên/xuống mà, thành ra chương trình chờ..bất tận luôn !
                            Còn mạch phát thì các bác dùng chip mã hóa x -> 2^x rồi move nội dung code vào A, sau đó cứ dịch trái/phải qua C rồi phát đi thôi, sau đó đem tín hiệu này nhân với xung 38khz , chắc được chứ nhỉ ?
                            sau khi đả nhận đúng code làm như sau:
                            xóa time
                            cho time chạy
                            kiểm tra chân tín hiệu
                            =1 kiểm tra time tràn chưa ,chưa tràn nhẩy về kiểm tra chân tín hiệu
                            ;nêu tràn thoát khỏi ct sử lí xung
                            =0 nhẩy về xóa time
                            lưu ý giá trị của time phải lớn hơn giá trị xung của remot
                            |

                            Comment


                            • #15
                              MẠCH ĐIỀU KHIỂN TỪ XA DÙNG 8051
                              MẠCH ĐIỀU KHIỂN TỪ XA DÙNG 8051
                              Trong cuộc sống hàng ngày của chúng ta hiện nay , vi xử lí được ứng dụng rất rộng rãi , nó càng trở nên cần thiết và không thể thiếu trong mỗi gia đình . Đó chính là ứng dụng về Điều Khiển Từ Xa , một ứng dụng rất thú vị và tiện ích trong cuộc sống hàng ngày . Thay vì phải đứng dậy để bật hay tắt những dụng cụ như : quạt , tivi , bóng đèn , …. chúng ta chỉ việc ngồi tại chỗ với chiếc điều khiển từ xa trong tay , ta có thể tắt mở những cụ theo ý muốn .
                              Hệ thống điều khiển từ xa gồm có : 1 con mắt hồng ngoại , 1 điều khiển TV Sony trong đó mỗi nút bấm là một mã riêng để điều khiển mỗi thiết bị , việc giãi mã được lập trình trên vi xử lí 8051 .
                              I) GIẢI QUYẾT VẤN ĐỀ :
                              1) Giải Mã REMOTE :
                              Trước tiên ta tìm hiểu về mã của Remote TV , ta xem hình vẽ

                              Trên hình vẽ cho ta thấy : bit đầu tiên là bit LSB ta đặt tên cho nó là bit B0 , bít cuối cùng sẽ là bit B11 . Trong đó từ :
                              B0 – B6 : là 7 bit mã lệnh
                              B7 _ B11: là 5 bit địa chỉ
                              Trong đó , mã lệnh là 16H, mã địa chỉ là 08H . Khi sử dụng mắt hồng ngoại thì tất cả các dạng sóng trên sẽ bị đảo lại như sau :


                              Để thu và giải mã tín hiệu từ Remote TV ta chỉ cần thu 7 bit command (7 bit mã lệnh ) và có thể bỏ qua 5 bit address ( 5 bit dữ liệu ) bởi vì các nút bấm đều phát ra các mã địa chỉ là như nhau chỉ khác nhau về mã lệnh .
                              Để thu được 7 bit mã lệnh ta làm như sau :
                              a) thiết lập thanh ghi A = 01000000 B
                              b) khởi đầu bằng cách chờ tín hiệu xuống
                              c) chờ cho tín hiệu lên
                              d) chờ cho tín hiệu xuống
                              e) tạo trễ khoảng 900us
                              f) đo mức tín hiệu :
                              + nếu mức tín hiệu là mức cao thì bit nhận được là bit 0 :
                              thiết lập cờ C = 0 , quay phải có cờ nhớ A , như vậy C sẽ được gởi vào MSB của A , LSB của A sẽ được gởi vào C . Như vậy sau 7 lần quay thì C = 1 và 7 bit trái của A sẽ chứa mã lệnh . khi C = 0 quay lại bước d .
                              + nếu mức tín hiệu là mức thấp thì bit nhận được là bit 1 :
                              thiết lập cờ C = 1, quay phải có cờ nhớ A . Khi C = 0 quay lại bước c .
                              Nếu C = 1, giá trị trong thanh ghi A = D6D5D4D3D2D1D00 , sau khi quay phải A thu được A = 0D6D5D4D3D2D1D0 .
                              Xuất nội dung thanh ghi A ra port 1 hiển thị bằng các led( đây chính là mã lệnh từ remote mà 8051 giải mã được).
                              2 ) Lưu Đồ Giải Thuật :

                              II) SƠ ĐỒ NGUYÊN LÍ:

                              1) Cấu Tạo :
                              + Thiết bị phát là Remote TV , với mỗi nút bấm phát ra một mã hồng ngoại khác nhau .
                              + Thiết bị thu sử dụng mắt hồng ngoại 3 chân , được dùng rộng rãi trong TV


                              + Mắt nhận hồng ngoại nhận tín hiệu từ điều khiển từ xa phát ra từ giải điều chế và đua tín hiệu đảo ra chân OUT . Tín hiệu từ chân OUT được đưa đến chân P3.3 của vi xử lí để giải mã , mã lệnh 7 bit được hiển thị trên cổng P1.Tín hiệu điều khiển được đưa ra cổng P2 . Khi bấm phím 1 đưa tín hiệu điều khiển ra chân P2.0, bấm phím 2 ra chân P2.1…..bấm phím 8 ra chân P2.7.
                              2) Nguyên Lí Hoạt Động :
                              Dòng DC khoảng 5v-7v đưa qua 7805 để ổn định áp 5v cung cấp cho vxli 8051 . chân OUT của mắt nhận hồng ngoại đưa vào chân P3.3, tín hiệu tới chân P3.3 được lập trình và giải mã . Mã lệnh hiện thị trên cổng P1 , tín hiệu điều khiển đưa ra chân P2.
                              Trong mạch chỉ sử dụng 3 chân P2.0 , P2.1 , P2.2 để điều khiển 3 thiết bị thông qua 3 rơle (5v) có tác dụng đóng mở cho dòng điện xoay chiều 220v đi qua các thiết bị điện .Khi P2.0 , P2.1 , P2.2 ở mức cao (+5v) thì không có dòng qua Rơle , Rơle đóng . Khi P2.0 , P2.1 , P2.2 ở mức thấp (0v) thì có dòng qua Rơle , Rơle mở nên có dòng 220v qua các thiết bị điện , các thiết bị hoạt động . Đối với gia đình có nhiều thiết bị điện thí ta tiếp tục nối các chân còn lại của port 2 qua Rơle , như vậy ta có thể dùng cho thiết bị tuỳ thích
                              III)CODE CHƯƠNG TRÌNH :
                              ORG 00
                              MOV P1,#0
                              MOV P2,#00000111B
                              LCALL LONG_DELAY ; cho tín hiệu đầu tiên nhận được nhận được ko bị sai
                              MAIN:
                              SETB P3.3 ; P3.3 làm đầu vào nhận tín hiệu
                              MOV A,#01000000B ; sau 7 lần quay phải A thì C=1 để kiểm tra
                              RP1: JB P3.3, RP1 ; chờ cho tín hiệu đi xuống
                              RP2: JNB P3.3, RP2 ; chờ cho tín hiệu đi lên
                              RP3: JB P3.3, RP3 ; chờ cho tín hiệu đi xuống
                              LCALL DELAY ; tạo trễ 900 us
                              MOV C,P3.3 ; Ghi tín hiệu thu được vào C để đo
                              JC BIT0 ; nếu tín hiệu là bit cao thì bit nhận được là bit 0
                              SETB C ; tín hiệu mức thấp , bit nhận dược là bit 1
                              RRC A ; ghi từng bit mã lệnh vào trong A
                              JC END_SIGNAL ; nếu C =1 thì nhận đủ 7 bit mã lệnh , kết thúc
                              ; nhận
                              ; kết thúc quá trình nhận tín hiệu
                              SJMP RP2 ; nếu C=0 thì quay lại nhãn RP2
                              BIT0:
                              CLR C ; tín hiệu mức cao bit nhận được là bit 0
                              RRC A
                              JC END_SIGNAL ; nếu C =1 thì nhận đủ 7 bit mã lệnh , kết thúc
                              ; kết thúc quá trình nhận tín hiệu
                              SJMP RP3 ; nếu C=0 thì quay lại nhãn RP3
                              BIT0:
                              END_SIGNAL: ; kết thúc quá trình nhận tín hiệu
                              LCALL LONG_DELAY ; tạo trễ để chống nhiễu
                              ; 7 bit trái của A đang chứa mã lệnh , bit LSB = 0
                              RR A ; 7 bit phải của A đang chứa mã lệnh, bit MSB = 0
                              MOV P1, A ; hiển thị mã lệnh ra cổng P1
                              KEY_1:
                              CJNE A,#00000000B,KEY_2 ; bấm phím 1
                              ;---KEY = 1---
                              CPL P2.0 ; đảo bit sau đó
                              SJMP MAIN ; quay lại từ đầu
                              ;-------------
                              KEY_2: CJNE A,#1,KEY_3 ; bấm phím 2
                              ;-------------
                              ;---KEY = 2---
                              CPL P2.1
                              SJMP MAIN
                              ;-------------
                              KEY_3:
                              CJNE A,#2,KEY_4 ; bấm phím 3
                              ;-------------
                              ;---KEY = 3---
                              CPL P2.2
                              SJMP MAIN
                              ;-------------
                              KEY_4:
                              CJNE A,#3,KEY_5 ; bấm phím 4
                              ;-------------
                              ;---KEY = 4---
                              CPL P2.3
                              SJMP MAIN
                              ;-------------
                              KEY_5:
                              CJNE A,#4,KEY_6 ; bấm phím 5
                              ;-------------
                              ;---KEY = 2---
                              CPL P2.4
                              LJMP MAIN
                              ;-------------
                              KEY_6:
                              CJNE A,#5,KEY_7 ; bấm phím 6
                              ;-------------
                              ;---KEY = 6---
                              CPL P2.5
                              LJMP MAIN
                              ;-------------
                              KEY_7:
                              CJNE A,#6,KEY_8 ; bấm phím 7
                              ;-------------
                              ;---KEY = 7---
                              CPL P2.6
                              LJMP MAIN
                              ;-------------
                              KEY_8:
                              CJNE A,#7,OTHER_KEY ; bấm phím 8
                              ;-------------
                              ;---KEY = 8---
                              CPL P2.7
                              LJMP MAIN
                              ;-----------------------------------
                              OTHER_KEY: ; bấm các phím khác thì không làm gì
                              LJMP MAIN
                              ;-----------------------------------
                              ; tạo trễ
                              ;-----------------------------------
                              DELAY: ; tạo trễ 900 s
                              MOV R5,#165 ; Thời gian tạo trễ 165 x 5 x 1.085 s = 900 s
                              AGAIN: NOP
                              NOP
                              NOP
                              DJNZ R5,AGAIN
                              RET
                              ;-----------------------------------
                              LONG_DELAY: ; tạo trễ dài để chống nhiễu
                              MOV R5,#50
                              REPEAT:
                              MOV R6,#255
                              HERE:
                              DJNZ R6,HERE
                              DJNZ R5,REPEAT
                              RET
                              END

                              chuong trinh dk bang moctv sony
                              Attached Files
                              Last edited by longdk; 01-06-2011, 12:02.

                              Comment

                              Về tác giả

                              Collapse

                              Real Tìm hiểu thêm về Real

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X